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(&quot;location&quot;))  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(&quot;location&quot;) always returns false.</span></div>
<div><br></div><div>Before ,  when using OpenSips, registered(&quot;location&quot;,&quot;$avp(s:fu)&quot;,&quot;$ci&quot;)   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">&lt;<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;</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 &quot;msilo.so&quot;</div>
            <div>...</div>
          </span></font></div>
      <div><font face="arial, sans-serif">
          <div style="border-collapse:collapse">modparam(&quot;msilo&quot;,
            &quot;add_date&quot;, 0)</div>
          <div style="border-collapse:collapse">modparam(&quot;msilo&quot;,
            &quot;db_url&quot;,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(&quot;REGISTER&quot;))</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(&quot;location&quot;)){</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(&quot;location&quot;))</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(&quot;Expires&quot;) || $(hdr(Expires){<a href="http://s.int" target="_blank">s.int</a>})!=0
          &amp;&amp; $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(&quot;$fu&quot;)){</span></div>
              <div><span style="border-collapse:collapse">    <span style="white-space:pre-wrap"> </span>
                     <span style="white-space:pre-wrap"> </span>           
                   xlog(&quot;L_INFO&quot;, &quot;offline messages dumped for
                  $avp(s:fu) \n&quot;);</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(&quot;L_INFO&quot;, &quot;no offline messages dumped
                  for $avp(s:fu) \n&quot;);</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(&quot;location&quot;)) {</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(&quot;MESSAGE&quot;)) {</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(&quot;$var(m_store_owner)&quot;))</div>
                    <div><span style="white-space:pre-wrap"> </span>               
                          {</div>
                    <div><span style="white-space:pre-wrap"> </span>               
                            xlog(&quot;L_INFO&quot;, &quot;(MSILO_STORE) offline
                      message stored for $var(m_store_owner)\n&quot;);</div>
                    <div><span style="white-space:pre-wrap"> </span>             
                       if (!t_reply(&quot;202&quot;, &quot;Accepted&quot;))
                      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(&quot;L_ERR&quot;,&quot;BUG: dropped an offline MESSAGE:
                      M=$rm S=$rs D=$rr F=$fu T=$tu IP=$si ID=$ci UA=$ua
                      Txt=$rb&quot;);</div>
                    <div><span style="white-space:pre-wrap"> </span>           
                        if (!t_reply(&quot;503&quot;, &quot;Service Unavailable&quot;))
                       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(&quot;404&quot;,
                  &quot;Not Found&quot;);</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(&quot;405&quot;,
                  &quot;Method Not Allowed&quot;);</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(&quot;INVITE&quot;))</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>