<div dir="ltr">my problem is active-watchers table has NULL in record-routing column, not the routing. For some reason, record-rote is not getting updated =in active-watchers table. Below is my in dialog message processing.<br>
<div><br></div><div><br></div><div><div># Handle requests within SIP dialogs</div><div>route[WITHINDLG] {</div><div><span class="" style="white-space:pre">   </span>if (has_totag()) {</div><div><span class="" style="white-space:pre">         </span># sequential request withing a dialog should</div>
<div><span class="" style="white-space:pre">            </span># take the path determined by record-routing</div><div><span class="" style="white-space:pre">               </span>if (loose_route()) {</div><div><span class="" style="white-space:pre">                       </span>route(DLGURI);</div>
<div><span class="" style="white-space:pre">                    </span>if (is_method("BYE")) {</div><div><span class="" style="white-space:pre">                          </span>setflag(FLT_ACC); # do accounting ...</div><div><span class="" style="white-space:pre">                              </span>setflag(FLT_ACCFAILED); # ... even if the transaction fails</div>
<div><span class="" style="white-space:pre">                    </span>}</div><div><span class="" style="white-space:pre">                  </span>else if ( is_method("ACK") ) {</div><div><span class="" style="white-space:pre">                           </span># ACK is forwarded statelessy</div>
<div><span class="" style="white-space:pre">                            </span>route(NATMANAGE);</div><div><span class="" style="white-space:pre">                  </span>}</div><div><span class="" style="white-space:pre">                  </span>else if ( is_method("NOTIFY") ) {</div>
<div><span class="" style="white-space:pre">                            </span># Add Record-Route for in-dialog NOTIFY as per RFC 6665.</div><div><span class="" style="white-space:pre">                           </span>record_route();</div><div><span class="" style="white-space:pre">                    </span>}</div>
<div><span class="" style="white-space:pre">                    </span>route(RELAY);</div><div><span class="" style="white-space:pre">              </span>} else {</div><div><span class="" style="white-space:pre">                   </span>if (is_method("SUBSCRIBE") && uri == myself) {</div>
<div><span class="" style="white-space:pre">                            </span># in-dialog subscribe requests</div><div><span class="" style="white-space:pre">                             </span>route(PRESENCE);</div><div><span class="" style="white-space:pre">                           </span>exit;</div>
<div><span class="" style="white-space:pre">                    </span>}</div><div><span class="" style="white-space:pre">                  </span>if ( is_method("ACK") ) {</div><div><span class="" style="white-space:pre">                                </span>if ( t_check_trans() ) {</div>
<div><span class="" style="white-space:pre">                                    </span># no loose-route, but stateful ACK;</div><div><span class="" style="white-space:pre">                                        </span># must be an ACK after a 487</div><div><span class="" style="white-space:pre">                                       </span># or e.g. 404 from upstream server</div>
<div><span class="" style="white-space:pre">                                    </span>route(RELAY);</div><div><span class="" style="white-space:pre">                                      </span>exit;</div><div><span class="" style="white-space:pre">                              </span>} else {</div><div><span class="" style="white-space:pre">                                   </span># ACK without matching transaction ... ignore and discard</div>
<div><span class="" style="white-space:pre">                                    </span>exit;</div><div><span class="" style="white-space:pre">                              </span>}</div><div><span class="" style="white-space:pre">                  </span>}</div><div><span class="" style="white-space:pre">                  </span>sl_send_reply("404","Not here");</div>
<div><span class="" style="white-space:pre">            </span>}</div><div><span class="" style="white-space:pre">          </span>exit;</div><div><span class="" style="white-space:pre">      </span>}</div><div>}</div></div><div><br></div></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 8, 2014 at 10:18 PM, Allen Zhang <span dir="ltr"><<a href="mailto:Allen.Zhang@imgtec.com" target="_blank">Allen.Zhang@imgtec.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-NZ" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">And you use loose_route() for in dialog requests?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:sr-users-bounces@lists.sip-router.org" target="_blank">sr-users-bounces@lists.sip-router.org</a> [mailto:<a href="mailto:sr-users-bounces@lists.sip-router.org" target="_blank">sr-users-bounces@lists.sip-router.org</a>]
<b>On Behalf Of </b>Veerabhara Gundu<br>
<b>Sent:</b> Wednesday, 9 July 2014 5:15 p.m.</span></p><div class=""><br>
<b>To:</b> Kamailio (SER) - Users Mailing List<br>
</div><b>Subject:</b> Re: [SR-Users] Fwd: Need help with Routing presence NOTIFY messages<u></u><u></u><p></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">I am using record route in config file for all dialog forming requests , but still active_watchers table showing an empty record in record router column. Below is the config file I ma using to process subscribe.<u></u><u></u></p>

<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">remove_hf("Route");<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            if (is_method("INVITE|SUBSCRIBE"))<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                        record_route();<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">also while processing subscribe <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">if(is_method("SUBSCRIBE")) {<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                record_route();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                        handle_subscribe();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                        t_release();<u></u><u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Jul 8, 2014 at 9:18 PM, Allen Zhang <<a href="mailto:Allen.Zhang@imgtec.com" target="_blank">Allen.Zhang@imgtec.com</a>> wrote:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Other please correct me if I’m wrong.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">NOTIFY should use record-route header. Make sure your kamailio servers set the record-route header
 for SUBSCRIBE requests.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Regards,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Allen</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:sr-users-bounces@lists.sip-router.org" target="_blank">sr-users-bounces@lists.sip-router.org</a> [mailto:<a href="mailto:sr-users-bounces@lists.sip-router.org" target="_blank">sr-users-bounces@lists.sip-router.org</a>]
<b>On Behalf Of </b>Veerabhara Gundu<br>
<b>Sent:</b> Wednesday, 9 July 2014 3:25 p.m.<br>
<b>To:</b> Kamailio (SER) - Users Mailing List<br>
<b>Subject:</b> [SR-Users] Fwd: Need help with Routing presence NOTIFY messages</span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Hello Experts, <u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I have two Kamailio servers with built in presence servers with load balanced with DNS, both sharing same data base. Registration, authentication and messaging are working without
 any problem. When it comes to Presence, NOTIFY messages generated by Kamailio is getting rejected by firewall if the client didn't register to that particular Kamailio.  In MESSAGES case, I read the socket info from Location table, if the client is not registered
 to that Kamailio forwarded to the server which serving that user. But in NOTIFY case, these messages are not coming to routing logic at all, Kamailio is directly sending messages by looking at the contact information from active-watchers table. <u></u><u></u></p>

</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">One possible solution I am thinking is, separating presence logic and starting that as separate server. That way I can play with contact header. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Any other thoughts, I appreciate any help with this. I have spent enough time on this.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Veera<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Veera<u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

<br>_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br></blockquote></div><br></div>