[Serusers] NAT Problem No Voice

Kamran Ahmad p_kami at yahoo.com
Sun Apr 10 13:04:50 CEST 2005


i have removed all previous ser lib and installed new
0.9.0 and tried the following config but still getting
error ser is taking few min before crasing.

it is giving this kind of error after few min.
currently i dont want any db authentication.

 0(0) qm_free: freeing frag. 0x81370d8 alloc'ed from
script_cb.c: register_script_cb(53)
 0(0) qm_free(0x42133000, 0x4216953c), called from
main.c: cleanup(373)
 0(0) qm_free: freeing frag. 0x42169524 alloc'ed from
main.c: main(1534)
 0(14957) shm_mem_destroy
 0(14957) destroying the shared memory lock
--------------------------------------------------

Greger V. Teigre as you said i am doing same thing in
onreply_route[1].

debug=7
fork=no
log_stderror=yes

dns=no
rev_dns=no
fifo="/tmp/ser_fifo"

loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
#loadmodule
"/usr/local/lib/ser/modules/auth_radius.so"

loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
#loadmodule "/usr/local/lib/ser/modules/uri_radius.so"

#modparam("auth_db|usrloc|uri_db", "db_url",
"mysql://ser:heslo@localhost/ser")
#modparam("auth_db", "calculate_ha1", 1)
#modparam("auth_db", "password_column", "password")

modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_sock",
"unix:/var/run/rtpproxy.sock")
modparam("usrloc", "db_mode", 0)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)


route {

     #
-----------------------------------------------------------------
     # Sanity Check Section
     #
-----------------------------------------------------------------

     if (!mf_process_maxfwd_header("10")) {
             sl_send_reply("483", "Too Many Hops");
             break;
     };

     if (msg:len > max_len) {
             sl_send_reply("513", "Message Overflow");
             break;
     };

     #
-----------------------------------------------------------------
     # Record Route Section
     #
-----------------------------------------------------------------

     if (method!="REGISTER") {
             record_route();
     };

     if (method=="BYE" || method=="CANCEL") {
             unforce_rtp_proxy();
     }

     #
-----------------------------------------------------------------
     # Loose Route Section
     #
-----------------------------------------------------------------

     if (loose_route()) {

           if (has_totag() && method=="INVITE") {
                   if (nat_uac_test("19")) {
                           setflag(6);
                           force_rport();
                           fix_nated_contact();
                   };

                   force_rtp_proxy("l");
           };
           route(1);
           break;
    };
    #
-----------------------------------------------------------------
    # Call Type Processing Section
    #
-----------------------------------------------------------------
    if (uri==myself) {
           if (method=="INVITE") {
                   route(3);
                   break;
           } else if (method=="REGISTER") {
                   route(2);
                   break;
           };
 
          if (!lookup("location")) {
                   sl_send_reply("404", "User Not
Found");
                   break;
           };
          route(1);
    };
}


route[1] {
     #
-----------------------------------------------------------------
     # Default Message Handler
     #
-----------------------------------------------------------------
     t_on_reply("1");
     if (!t_relay()) {
            if (method=="INVITE" && isflagset(6)) {
                    unforce_rtp_proxy();
            };
            sl_reply_error();
     };
}


route[2] {
     #
-----------------------------------------------------------------
     # REGISTER Message Handler
     #
----------------------------------------------------------------
     if (!search("^Contact: \*") &&
nat_uac_test("19")) {
             setflag(6);
             fix_nated_register();
#		fix_nated_contact();
             force_rport();
     };
     sl_send_reply("100", "Trying");

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

     if (!check_to()) {
             sl_send_reply("401", "Unauthorized");
             break;
     };

#     consume_credentials();

     if (!save("location")) {
	     sl_reply_error();
	};
}


route[3] {
     #
-----------------------------------------------------------------
     # INVITE Message Handler
     #
-----------------------------------------------------------------
     if (nat_uac_test("19")) {
             setflag(6);
     }
     if (!lookup("location")) {
             sl_send_reply("404", "User Not Found");
             break;
     };
#     if (!proxy_authorize("","subscriber")) {
#             proxy_challenge("","0");
#             break;
#     } else if (!check_from()) {
	if(!check_from()) {
             sl_send_reply("403", "Use From=ID");
             break;
     };

#     consume_credentials();

     if (isflagset(6)) {
             force_rport();
             fix_nated_contact();
             force_rtp_proxy();
     };
	
	t_on_reply("1");

     if (!t_relay()) {

             if(isflagset(6)) {
                    unforce_rtp_proxy();
             }

             sl_reply_error();
     };
}

onreply_route[1] {
     if (isflagset(6) &&
status=~"(180)|(183)|2[0-9][0-9]") {
             if (!search("^Content-Length:\ 0")) {
                    force_rtp_proxy();
             };
     } 
	else if (nat_uac_test("1")) {
             fix_nated_contact();
     };
}






--- Daniel-Constantin Mierla <daniel at voice-system.ro>
wrote:

> A database module is missing (mysql, pgsql or
> dbtext), there is no 
> dependency between uri_* and auth_* modules. Looks
> like the version is 
> 0.8.14, so the module is uri, uri_db was introduced
> after.
> 
> Daniel
> 
> 
> On 04/10/05 11:37, Greger V. Teigre wrote:
> 
> > You have commented out auth.so and auth_db.so,
> then uri_db.so (which 
> > relies on the auth module) will not start:
> > 0(25979) DEBUG: init_mod: uri
> > 0(25979) uri - initializing
> > 0(25979) find_export: <db_use_table> not found
> > 0(25979) uri:mod_init(): No database module found
> > 0(25979) init_mod(): Error while initializing
> module
> > uri
> > ERROR: error while initializing modules
> >
> > g-)
> >
> > Kamran Ahmad wrote:
> >
> >> i am getting following error
> >> -------------------------------------------------
> >> WARNING: no fork mode  and more than one listen
> >> address found (will use only the the first one)
> >> 0(25979) DEBUG: init_mod: sl_module
> >> stateless - initializing



		
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/




More information about the sr-users mailing list