<meta charset="utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">Hi list,</span>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br></span></div><div>
<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">I have Kamailio running behind NAT.  (Amazon EC2)</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br></span></div><div>
<font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">When I use mslio module, storing messages for offline contact is working fine,</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">however the stored messages are never sent to the contacts when they get online.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">My configuration is as below.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Any kind of help will be great appreciated.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Thank you!</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">----------------------------------------------------------------------------------------------------------------------</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><div>loadmodule &quot;msilo.so&quot;</div>
<div>...</div></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">modparam(&quot;msilo&quot;, &quot;add_date&quot;, 0)</div>
<div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">modparam(&quot;msilo&quot;, &quot;db_url&quot;,DBURL)</div><div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">
...</div><div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br></div><div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">
<br></div><div><div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">route[REGISTRAR] {</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;REGISTER&quot;))</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>{</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>if(isflagset(FLT_NATS))</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>{</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>setbflag(FLB_NATB);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span># uncomment next line to do SIP NAT pinging </span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>setbflag(FLB_NATSIPPING);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>}</span></div>
<div><span class="Apple-tab-span" style="white-space: pre; border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">                </span></div></div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(s:fu) = $fu;</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">   <span class="Apple-tab-span" style="white-space:pre">                </span>$var(initialregister) = 1;</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">                if( registered(&quot;location&quot;)){</span></div></div>
</div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">                       $var(initialregister) = 0;</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">                }</span></div></div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">                </span>if (!save(&quot;location&quot;))</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_reply_error();</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></div></div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">                </span>if( !is_present_hf(&quot;Expires&quot;) || $(hdr(Expires){<a href="http://s.int">s.int</a>})!=0 &amp;&amp; $var(initialregister)==1 ){</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span># Send messages recieved while offline</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (m_dump(&quot;$fu&quot;)){</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">    <span class="Apple-tab-span" style="white-space:pre">        </span>    <span class="Apple-tab-span" style="white-space:pre">        </span>             xlog(&quot;L_INFO&quot;, &quot;offline messages dumped for $avp(s:fu) \n&quot;);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">        <span class="Apple-tab-span" style="white-space:pre">        </span>        }</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">        <span class="Apple-tab-span" style="white-space:pre">        </span>        else{</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">            <span class="Apple-tab-span" style="white-space:pre">        </span>             xlog(&quot;L_INFO&quot;, &quot;no offline messages dumped for $avp(s:fu) \n&quot;);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>}</span></div>
</div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>}</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">}</span></div></div></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>
</span></div><div><div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"># USER location service</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">route[LOCATION] {</span></div>
</div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">        </span>if (!lookup(&quot;location&quot;)) {</span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>switch ($rc) {</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>case -1:</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">                                 ...</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">                          </span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><div>
                             if (is_method(&quot;MESSAGE&quot;)) {</div></span></div></div></div></font><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">                                </span>     $var(m_store_owner) = $tu;</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-tab-span" style="white-space:pre">        </span></span><font class="Apple-style-span" face="arial, sans-serif"><div>
<div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><div><div>                                     if (m_store(&quot;$var(m_store_owner)&quot;))</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>                    {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>                      xlog(&quot;L_INFO&quot;, &quot;(MSILO_STORE) offline message stored for $var(m_store_owner)\n&quot;);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>               if (!t_reply(&quot;202&quot;, &quot;Accepted&quot;)) sl_reply_error();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>                    } </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>                   else {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </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 class="Apple-tab-span" style="white-space:pre">                        </span>              if (!t_reply(&quot;503&quot;, &quot;Service Unavailable&quot;))  sl_reply_error();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>                    };</div>
</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>              }</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>exit;</div></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br>
</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>case -3:</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                                </span>t_newtran();</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                                </span>t_reply(&quot;404&quot;, &quot;Not Found&quot;);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                                </span>exit;</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                        </span>case -2:</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                                </span>sl_send_reply(&quot;405&quot;, &quot;Method Not Allowed&quot;);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                                </span>exit;</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>}</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>}</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span># when routing via usrloc, log the missed calls also</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;INVITE&quot;))</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>{</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">                </span>setflag(FLT_ACCMISSED);</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><span class="Apple-tab-span" style="white-space:pre">        </span>}</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">}</span></div></div></div><div><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br>
</span></div></font></div>