Gregorio,

How long does it take?

-- Alex

On Mon, 15 Oct 2007, Gregorio wrote:

Hi all.



I am using openSer 1.3 with mySQL. My problem is that although registration
is fast in SIP protocol terms, the contact binding is written in the
'location' table long time after this contact has received a 200 OK to his
registration. So a user could think that he is registered before he is in
the data base.



Could it be a configuration issue?

Can I solve this?



Thanks!



This is my config:





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



debug=2            # debug level (cmd line: -dddddddddd)

log_facility=LOG_LOCAL7

fork=yes

log_stderror=no   children=4

port=5060



listen=udp:192.168.1.206:5060

listen=tcp:192.168.1.206:5060



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



#set module path

mpath="/usr/local/lib/openser/modules/"



loadmodule "mysql.so"

loadmodule "xlog.so"

loadmodule "sl.so"

loadmodule "tm.so"

loadmodule "rr.so"

loadmodule "maxfwd.so"

loadmodule "usrloc.so"

loadmodule "registrar.so"

loadmodule "textops.so"

loadmodule "auth.so"

loadmodule "auth_db.so"



loadmodule "presence.so"



loadmodule "presence_xml.so"



loadmodule "mi_fifo.so"



loadmodule "mi_xmlrpc.so"



# ----------------- setting module-specific parameters ---------------





modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")



# -- usrloc params --



modparam("usrloc", "db_mode", 2)



# -- auth params --

modparam("auth_db", "calculate_ha1", yes)

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)





#Agnadido para la Presencia

modparam("presence|usrloc|pua",
"db_url","mysql://openser:[EMAIL PROTECTED]/openser")

modparam("presence", "presentity_table", "presentity")

modparam("presence", "active_watchers_table", "active_watchers")

modparam("presence", "watchers_table", "watchers")

modparam("presence", "clean_period", 100)

modparam("presence", "max_expires", 3600)

modparam("presence", "server_address", "sip:192.168.1.206:5060" )



#Presence_XML

modparam("presence_xml",
"db_url","mysql://openser:[EMAIL PROTECTED]/openser")

modparam("presence_xml", "xcap_table", "xcap")

modparam("presence_xml", "force_active", 1)

modparam("presence_xml", "integrated_xcap_server", 1)

modparam("presence_xml", "pidf_manipulation", 1)

modparam("presence_xml", "pidf_manipulation", 1)



#Mi FIFO

modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")

modparam("mi_fifo", "fifo_mode", 0600)

modparam("mi_fifo", "fifo_group", 0)

modparam("mi_fifo", "fifo_group", "root")

modparam("mi_fifo", "fifo_user", 0)

modparam("mi_fifo", "fifo_user", "root")

modparam("mi_fifo", "reply_dir", "/home/openser/tmp/")



#Mi XMLRPC

modparam("mi_xmlrpc", "port", 8080)

modparam("mi_xmlrpc", "log_file", "/var/log/openser-xmlrpc.log")

modparam("mi_xmlrpc", "reply_option", 0)

modparam("mi_xmlrpc", "buffer_size", 8192)





# -------------------------  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. Route filter");

               exit;

       }



       if (msg:len >= max_len ) {

               sl_send_reply("513", "Message too big. Route filter");

               exit;

       }



       if (!method=="REGISTER")

               record_route();



       # subsequent messages withing a dialog should take the

       # path determined by record-routing

       if (loose_route()) {

               # mark routing logic in request

               append_hf("P-hint: rr-enforced\r\n");

               route(1);

       };

       if (uri==myself) {

               route(1);

       };



       if (uri==myself) {

               # presence handling

               if( is_method("PUBLISH|SUBSCRIBE")){

                       route(2);

               };



               if (is_present_hf("MyHeader"))

               {

                       t_relay("192.168.1.111");

                       exit;

               };





               if (method=="REGISTER") {

                       # Uncomment this if you want to use digest
authentication

                       if (!www_authorize("openserDialcom", "subscriber"))
{

                               www_challenge("openserDialcom", "0");

                               exit;

                       };



                       save("location");

                       exit;

               };



               lookup("aliases");

               if (!uri==myself) {

                       append_hf("P-hint: outbound alias\r\n");

                       route(1);

               };



               # native SIP destinations are handled using our USRLOC DB

               if (!lookup("location")) {

                       sl_send_reply("404", "Not Found in openSer");

                       exit;

               };

               append_hf("P-hint: usrloc applied\r\n");

       };



       route(1);

}



route[1] {

       # send it out now; use stateful forwarding as it works reliably

       # even for UDP2TCP

       if (!t_relay()) {

               sl_reply_error();

       };

       exit;

}

route[2]

{

       # absorb retransmissions

       if (! t_newtran())

       {

               sl_reply_error();

               exit;

       };



       if(is_method("PUBLISH"))

       {

               handle_publish();

               t_release();

       } else if( is_method("SUBSCRIBE")) {

               handle_subscribe();

               t_release();

       };



       exit;

}



--
Alex Balashov
Evariste Systems
Web    : http://www.evaristesys.com/
Tel    : +1-678-954-0670
Direct : +1-678-954-0671

_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to