Thanks for your reply.<div><br></div><div>This is part of my config file:<br><br><div>request_route {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span># per request initial checks</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(REQINIT);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># NAT detection</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(NATDETECT);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># handle requests within SIP dialogs</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>route(WITHINDLG);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>### only initial requests (no To tag)</div><div><br>
</div><div><span class="Apple-tab-span" style="white-space:pre">        </span># CANCEL processing</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;CANCEL&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>if (t_check_trans())</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>t_relay();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>t_check_trans();</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># authentication</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>route(AUTH);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># record routing for dialog forming requests (in case they are routed)</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span># - remove preloaded route headers</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>remove_hf(&quot;Route&quot;);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;INVITE|SUBSCRIBE|NOTIFY&quot;))</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>record_route();</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># account only INVITEs</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;INVITE&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>setflag(FLT_ACC); # do accounting</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># dispatch requests to foreign domains</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(SIPOUT);</div><div><br></div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>### requests for my local domains</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># handle presence related requests</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>route(PRESENCE);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># handle registrations</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(REGISTRAR);</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if ($rU==$null)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">                </span># request with no Username in RURI</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply(&quot;484&quot;,&quot;Address Incomplete&quot;);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># dispatch destinations to PSTN</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(PSTN);</div><div><br></div><div>
<span class="Apple-tab-span" style="white-space:pre">        </span># user location service</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(LOCATION);</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>route(RELAY);</div>
<div>}</div><div><br></div><div>route[RELAY] {</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span># enable additional event routes for forwarded requests</div><div><span class="Apple-tab-span" style="white-space:pre">        </span># - serial forking, RTP relaying handling, a.s.o.</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(&quot;INVITE|SUBSCRIBE|NOTIFY&quot;)) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_branch(&quot;MANAGE_BRANCH&quot;);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_reply(&quot;MANAGE_REPLY&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>if (is_method(&quot;INVITE&quot;)) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_failure(&quot;MANAGE_FAILURE&quot;);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if (!t_relay()) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>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>exit;</div>
<div>}</div><div><br></div><div><div>route[WITHINDLG] {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if (has_totag()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span># sequential request withing a dialog should</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span># take the path determined by record-routing</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>if (loose_route()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if (is_method(&quot;BYE&quot;)) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>setflag(FLT_ACC); # do accounting ...</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>setflag(FLT_ACCFAILED); # ... even if the transaction fails</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if ( is_method(&quot;ACK&quot;) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span># ACK is forwarded statelessy</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>route(NATMANAGE);</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>route(RELAY);</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>if ((is_method(&quot;SUBSCRIBE| NOTIFY&quot;)) &amp;&amp; uri == myself) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span><span class="Apple-tab-span" style="white-space:pre">        </span>route(PRESENCE);</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>exit;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if ( is_method(&quot;ACK&quot;) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>if ( t_check_trans() ) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span># no loose-route, but stateful ACK;</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span># must be an ACK after a 487</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span># or e.g. 404 from upstream server</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>t_relay();</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</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># ACK without matching transaction ... ignore and discard</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(&quot;404&quot;,&quot;Not here&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>exit;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>}</div></div><div><br></div><div>I&#39;m using loose_route function in WITHINDLG function, presence in the same server works buts with user from another domain I receive duplicate notifys. The request line for this notifys is userB@ip_of_domainB not userB@ip_of_userB like the ones I receive when the two users are in the same domain. </div>
<div><br></div><div><br></div><div>Thanks.</div><div>Regards.</div><div><br></div><br><div class="gmail_quote">On Tue, Feb 28, 2012 at 5:22 PM, Klaus Darilion <span dir="ltr">&lt;<a href="mailto:klaus.mailinglists@pernau.at">klaus.mailinglists@pernau.at</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">NOTIFYs are in-dialog and should be loose-routed. Verify that loose-routing works fine.<br>
<br>
If the clients are behind NAT also verify that Contact headers are rewritten during subscription.<br>
<br>
regards<br>
Klaus<div><div class="h5"><br>
<br>
On 28.02.2012 16:08, Manuel Perez wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Hello,<br>
<br>
I&#39;ve used kamailio 3.2.2, i have rls, simple presence and xcap support<br>
working. I&#39;ve replicated this server into another one in a different<br>
domain, but presence between domains is not working. I&#39;m using for<br>
presence presence.so, presence_xml.so and presence_mwi.so. In<br>
route[WITHINDLG] i have the following lines:<br>
<br>
...<br>
if (is_method(&quot;SUBSCRIBE|NOTIFY&quot;) &amp;&amp; uri==myself)<br>
      route(PRESENCE);<br>
...<br>
<br>
When NOTIFY from user B at domain B arrives to the server at domain A,<br>
the message is not forwarded to the user A, How can i achieve this?<br>
<br>
Thank you.<br>
<br>
<br>
<br>
<br>
<br></div></div>
______________________________<u></u>_________________<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/<u></u>cgi-bin/mailman/listinfo/sr-<u></u>users</a><br>
</blockquote>
</blockquote></div><br></div>