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; }
_______________________________________________ Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users