Dear serusers

      Need your help:We installed SER successfully with serctl moni & MySQL working normally.Our server haven't any domain name just IP address with: 194.165.196.72.

     There are two problem with the registration problem:

1,Authenticaiton problem: Be able to log on the server without username and password by SIP and working normally,but if use the digest authentication mode by uncomment of the code of :

#   if (!www_authorize("194.165.196.72", "subscriber")) {
#    www_challenge("194.165.196.72", "0");
#    break;
#   };,

 the authentication cann't work with the subscribers in the list in MySQL database "ser".

2,NAT problem:While we log on the server with Windows Messager or other UA software with Public IP address,it works normally.But if we use the UA software behind the router(ADSL router) ,cann't log on the SER server,and the "serctl moni"will appear the UA software(behind router) log in location(LAN address as 192.168.1.2) and record it to the MySQL "location" table of database "ser". 

         How to solve the problem above? thanks very much.

      It's our configuration file below down:

#
# $Id: ser.cfg,v 1.21.2.1 2003/07/30 16:46:18 andrei Exp $
#
# simple quick-start config script
#

# ----------- global configuration parameters ------------------------

#debug=3         # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)

/* Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/

check_via=no # (cmd. line: -v)
dns=no           # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
listen=194.165.196.72
listen=127.0.0.1
alias=194.165.196.72

# ------------------ module loading ----------------------------------

# Uncomment this if you want to use SQL database
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"

# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_db.so"
loadmodule "/usr/lib/ser/modules/acc.so"
loadmodule "/usr/lib/ser/modules/exec.so"
loadmodule "/usr/lib/ser/modules/group.so"
loadmodule "/usr/lib/ser/modules/print.so"
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/uri.so"
loadmodule "/usr/lib/ser/modules/nathelper.so"
# ----------------- setting module-specific parameters ---------------
# ------------- tm parameters

modparam("tm", "fr_timer", 12)
modparam("tm", "fr_inv_timer", 24)
# ------------- accounting parameters

modparam("acc", "log_missed_flag", 3)
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)

# -- usrloc params --

#modparam("usrloc", "db_mode",   0)

# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("auth_db", "password_column", "password")
modparam("usrloc", "db_url", "sql://ser:heslo@localhost/ser")
modparam("auth_db", "db_url", "sql://ser:heslo@localhost/ser")
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)

# -------------------------  request routing logic -------------------

# main routing logic

route{

 # initial sanity checks -- messages with
 # max_forwards==0, or excessively long requests
 if (!mf_process_maxfwd_header("10")) {
  sl_send_reply("483","Too Many Hops");
  break;
 };
 if (len_gt( max_len )) {
  sl_send_reply("513", "Message too big");
  break;
 };

 # we record-route all messages -- to make sure that
 # subsequent messages will go through our proxy; that's
 # particularly good if upstream and downstream entities
 # use different transport protocol
 record_route(); 
 # loose-route processing
 if (loose_route()) {
  t_relay();
  break;
 };

 # if the request is for other domain use UsrLoc
 # (in case, it does not work, use the following command
 # with proper names and addresses in it)
 if (uri==myself) {

  if (method=="REGISTER") {
 #                       save("location");
# Uncomment this if you want to use digest authentication
#   if (!www_authorize("194.165.196.72", "subscriber")) {
#    www_challenge("194.165.196.72", "0");
#    break;
#   };

          save("location");
   break;
  };

  # native SIP destinations are handled using our USRLOC DB
  if (!lookup("location")) {
   sl_send_reply("404", "Not Found");
   break;
  };
 };
 # forward to current uri now; use stateful forwarding; that
 # works reliably even if we forward from TCP to UDP
 if (!t_relay()) {
  sl_reply_error();
 };

}

   

×£                                             

                                                    ÉÌì÷£¡

Michael Shi( Shi Jia Luʯ¼Ñè´£©

 Director

Podium Vision Ltd (Shanghai,China Branch)

 

Tel:     +86 (0)21 63296364

Mobile:+86 13311713825,+86 13916750280

Fax:    +86 (0)21 63296364

MSN£ºglacier_shi @ hotmail.com

Email: michael@podiumvision.co.uk

This communication contains confidential information intended solely for the use of the individual/s and/or entity or entities to whom it was intended to be addressed. If you are not the intended recipient, be aware that any disclosure, copying, distribution, or use of the contents of this transmission is prohibited. If you have received this communication in error, please contact the sender immediately, delete this communication from your system, and do not disclose its contents to any third party, or use its contents. Any opinions expressed are solely those of the author.