Hi Daniel,<div><br></div><div>Thanks for your advice. </div><div>I uncomment #!define WITH_AUTH and now mslio is working fine.</div><div><br></div><div>However, some UA sent two REGISTER when connecting to Kamailio, </div>
<div>and it turned to be the result that the offline messages were dumped for twice.</div><div><br></div><div>I tried to use if(<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">registered("location")) to detect that whether it is the initial register but failed.</span></div>
<meta charset="utf-8"><div><meta charset="utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">registered("location") always returns false.</span></div>
<div><br></div><div>Before , when using OpenSips, registered("location","$avp(s:fu)","$ci") works fine.</div><div>But at that time ,no NAT support at all.</div><div><br></div><div>Any idea for this issue??</div>
<div><br></div><div>Thank you very much.</div><div><br></div><div>Coca</div><div><br></div><div><br><br><div class="gmail_quote">2011/7/27 Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
can you watch all network interfaces with ngrep and see if the
messages are relayed? It may happen that they are looped due to the
address in r-uri and then challenged for authentication. If so, then
allow all requests from your server ip/port without authentication.<br>
<br>
Cheers,<br>
Daniel<div><div></div><div class="h5"><br>
<br>
On 7/26/11 10:04 PM, Coca wrote:
</div></div><blockquote type="cite"><div><div></div><div class="h5">
<span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px">Hi list,</span>
<div><span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px"><br>
</span></div>
<div>
<span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px">I have Kamailio
running behind NAT. (Amazon EC2)</span></div>
<div><span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px"><br>
</span></div>
<div>
<font face="arial, sans-serif"><span style="border-collapse:collapse">When I use mslio
module, storing messages for offline contact is working
fine,</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">however the stored
messages are never sent to the contacts when they get
online.</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">My configuration is
as below.</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">Any kind of help will
be great appreciated.</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">Thank you!</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">----------------------------------------------------------------------------------------------------------------------</span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse">
<div>loadmodule "msilo.so"</div>
<div>...</div>
</span></font></div>
<div><font face="arial, sans-serif">
<div style="border-collapse:collapse">modparam("msilo",
"add_date", 0)</div>
<div style="border-collapse:collapse">modparam("msilo",
"db_url",DBURL)</div>
<div style="border-collapse:collapse">
...</div>
<div style="border-collapse:collapse"><br>
</div>
<div style="border-collapse:collapse">
<br>
</div>
<div>
<div>
<div><span style="border-collapse:collapse">route[REGISTRAR]
{</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>if
(is_method("REGISTER"))</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>{</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>if(isflagset(FLT_NATS))</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>{</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>setbflag(FLB_NATB);</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>#
uncomment next line to do SIP NAT pinging </span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>setbflag(FLB_NATSIPPING);</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="white-space:pre-wrap;border-collapse:collapse"> </span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>$avp(s:fu)
= $fu;</span><font face="arial,
sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse"> <span style="white-space:pre-wrap"> </span>$var(initialregister)
= 1;</span></div>
<div><span style="border-collapse:collapse">
if( registered("location")){</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif">
$var(initialregister) = 0;</span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse">
}</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>if
(!save("location"))</span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>sl_reply_error();</span></div>
<div><span style="border-collapse:collapse"><br>
</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>if(
!is_present_hf("Expires") || $(hdr(Expires){<a href="http://s.int" target="_blank">s.int</a>})!=0
&& $var(initialregister)==1 ){</span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>#
Send messages recieved while offline</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>if
(m_dump("$fu")){</span></div>
<div><span style="border-collapse:collapse"> <span style="white-space:pre-wrap"> </span>
<span style="white-space:pre-wrap"> </span>
xlog("L_INFO", "offline messages dumped for
$avp(s:fu) \n");</span></div>
<div><span style="border-collapse:collapse"> <span style="white-space:pre-wrap"> </span>
}</span></div>
<div><span style="border-collapse:collapse"> <span style="white-space:pre-wrap"> </span>
else{</span></div>
<div><span style="border-collapse:collapse"> <span style="white-space:pre-wrap"> </span>
xlog("L_INFO", "no offline messages dumped
for $avp(s:fu) \n");</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>exit;</span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="border-collapse:collapse">}</span></div>
</div>
</div>
<div><span style="border-collapse:collapse"><br>
</span></div>
<div>
<div>
<div><span style="border-collapse:collapse"># USER location
service</span></div>
<div><span style="border-collapse:collapse">route[LOCATION]
{</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>if
(!lookup("location")) {</span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>switch
($rc) {</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>case
-1:</span></div>
<div><span style="border-collapse:collapse">
...</span></div>
<div><span style="border-collapse:collapse">
</span></div>
<div><span style="border-collapse:collapse"><br>
</span></div>
<div><span style="border-collapse:collapse">
<div>
if
(is_method("MESSAGE")) {</div>
</span></div>
</div>
</div>
</font><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span>
$var(m_store_owner) = $tu;</span><span style="border-collapse:collapse;font-family:arial, sans-serif"><span style="white-space:pre-wrap"> </span></span><font face="arial, sans-serif">
<div>
<div>
<div><span style="border-collapse:collapse">
<div>
<div> if
(m_store("$var(m_store_owner)"))</div>
<div><span style="white-space:pre-wrap"> </span>
{</div>
<div><span style="white-space:pre-wrap"> </span>
xlog("L_INFO", "(MSILO_STORE) offline
message stored for $var(m_store_owner)\n");</div>
<div><span style="white-space:pre-wrap"> </span>
if (!t_reply("202", "Accepted"))
sl_reply_error();</div>
<div><span style="white-space:pre-wrap"> </span>
} </div>
<div><span style="white-space:pre-wrap"> </span>
else {</div>
<div><span style="white-space:pre-wrap"> </span>
xlog("L_ERR","BUG: dropped an offline MESSAGE:
M=$rm S=$rs D=$rr F=$fu T=$tu IP=$si ID=$ci UA=$ua
Txt=$rb");</div>
<div><span style="white-space:pre-wrap"> </span>
if (!t_reply("503", "Service Unavailable"))
sl_reply_error();</div>
<div><span style="white-space:pre-wrap"> </span>
};</div>
</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"> </span> }</div>
<div><span style="white-space:pre-wrap"> </span>exit;</div>
</span></div>
<div><span style="border-collapse:collapse"><br>
</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>case
-3:</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>t_newtran();</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>t_reply("404",
"Not Found");</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>exit;</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>case
-2:</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>sl_send_reply("405",
"Method Not Allowed");</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>exit;</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="border-collapse:collapse"><br>
</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>#
when routing via usrloc, log the missed calls also</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>if
(is_method("INVITE"))</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>{</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>setflag(FLT_ACCMISSED);</span></div>
<div><span style="border-collapse:collapse"><span style="white-space:pre-wrap"> </span>}</span></div>
<div><span style="border-collapse:collapse">}</span></div>
</div>
</div>
<div><span style="border-collapse:collapse"><br>
</span></div>
</font></div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
sr-dev mailing list
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Oct 10-13, Berlin: <a href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a>
<a href="http://linkedin.com/in/miconda" target="_blank">http://linkedin.com/in/miconda</a> -- <a href="http://twitter.com/miconda" target="_blank">http://twitter.com/miconda</a></pre>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>--------------------------<br>Room to Fly, Endless Sky!<br><br> --Yi Chen<br>
</div>