<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 "msilo.so"</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("msilo", "add_date", 0)</div>
<div style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">modparam("msilo", "db_url",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("REGISTER"))</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("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; "> $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("location"))</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("Expires") || $(hdr(Expires){<a href="http://s.int">s.int</a>})!=0 && $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("$fu")){</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("L_INFO", "offline messages dumped for $avp(s:fu) \n");</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("L_INFO", "no offline messages dumped for $avp(s:fu) \n");</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("location")) {</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("MESSAGE")) {</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("$var(m_store_owner)"))</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("L_INFO", "(MSILO_STORE) offline message stored for $var(m_store_owner)\n");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span> if (!t_reply("202", "Accepted")) 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("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 class="Apple-tab-span" style="white-space:pre">                        </span> if (!t_reply("503", "Service Unavailable")) 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("404", "Not Found");</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("405", "Method Not Allowed");</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("INVITE"))</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>