<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EstiloCorreo17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=ES link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Hi all.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-US>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.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Could it be a configuration issue?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Can I solve this?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Thanks!<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>This is my config:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># ----------- global configuration
parameters ------------------------<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>debug=2
# debug level (cmd line: -dddddddddd)<o:p></o:p></span></p>
<p class=MsoNormal>log_facility=LOG_LOCAL7<o:p></o:p></p>
<p class=MsoNormal><span lang=EN-US>fork=yes
<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> log_stderror=no children=4<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>port=5060<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal>listen=udp:192.168.1.206:5060<o:p></o:p></p>
<p class=MsoNormal><span lang=EN-US>listen=tcp:192.168.1.206:5060<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># ------------------ module loading
----------------------------------<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>#set module path<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>mpath="/usr/local/lib/openser/modules/"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "mysql.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "xlog.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "sl.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "tm.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "rr.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "maxfwd.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "usrloc.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "registrar.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "textops.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "auth.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "auth_db.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "presence.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "presence_xml.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "mi_fifo.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "mi_xmlrpc.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># ----------------- setting module-specific
parameters ---------------<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_name", "/tmp/openser_fifo")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># -- usrloc params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("usrloc",
"db_mode", 2)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># -- auth params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("auth_db",
"calculate_ha1", yes)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("auth_db",
"password_column", "password")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># -- rr params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US># add value to ;lr param to make some
broken UAs happy<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("rr",
"enable_full_lr", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal>#Agnadido para la Presencia<o:p></o:p></p>
<p class=MsoNormal>modparam("presence|usrloc|pua",
"db_url","mysql://openser:openserrw@127.0.0.1/openser")<o:p></o:p></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"presentity_table", "presentity")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"active_watchers_table", "active_watchers")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"watchers_table", "watchers")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"clean_period", 100)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"max_expires", 3600)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence",
"server_address", "sip:192.168.1.206:5060" )<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>#Presence_XML<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"db_url","mysql://openser:openserrw@127.0.0.1/openser")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"xcap_table", "xcap")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"force_active", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"integrated_xcap_server", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"pidf_manipulation", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("presence_xml",
"pidf_manipulation", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>#Mi FIFO<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_name", "/tmp/openser_fifo")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_mode", 0600)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_group", 0)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_group", "root")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_user", 0)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_user", "root")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"reply_dir", "/home/openser/tmp/")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal>#Mi XMLRPC<o:p></o:p></p>
<p class=MsoNormal>modparam("mi_xmlrpc", "port", 8080)<o:p></o:p></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_xmlrpc",
"log_file", "/var/log/openser-xmlrpc.log")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_xmlrpc",
"reply_option", 0)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_xmlrpc",
"buffer_size", 8192)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-US># ------------------------- request
routing logic -------------------<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US># main routing logic<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>route{<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# initial sanity checks -- messages with<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# max_forwards==0, or excessively long requests<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(!mf_process_maxfwd_header("10")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
sl_send_reply("483","Too Many Hops. Route filter");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
}<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (msg:len >= max_len ) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
sl_send_reply("513", "Message too big. Route filter");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
}<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (!method=="REGISTER")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
record_route();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# subsequent messages withing a dialog should take the<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# path determined by record-routing<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (loose_route()) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# mark routing logic in request<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
append_hf("P-hint: rr-enforced\r\n");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
route(1);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(uri==myself) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> route(1);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(uri==myself) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# presence handling<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if( is_method("PUBLISH|SUBSCRIBE")){<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
route(2);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (is_present_hf("MyHeader"))<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
{<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
t_relay("192.168.1.111");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (method=="REGISTER") {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# Uncomment this if you want to use digest authentication<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (!www_authorize("openserDialcom", "subscriber")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
www_challenge("openserDialcom", "0");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
save("location");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
lookup("aliases");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (!uri==myself) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
append_hf("P-hint: outbound alias\r\n");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
route(1);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# native SIP destinations are handled using our USRLOC DB<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (!lookup("location")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
sl_send_reply("404", "Not Found in openSer");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
append_hf("P-hint: usrloc applied\r\n");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
route(1);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>route[1] {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# send it out now; use stateful forwarding as it works reliably<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# even for UDP2TCP<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (!t_relay()) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
sl_reply_error();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>route[2]<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>{<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
# absorb retransmissions<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if (! t_newtran())<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
{<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
sl_reply_error();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
if(is_method("PUBLISH"))<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
{<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
handle_publish();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
t_release();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
} else if( is_method("SUBSCRIBE")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
handle_subscribe();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
t_release();<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
};<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>
exit;<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>
</div>
</body>
</html>