Hi Manuel!

With a trace (of SUBSCRIBE and NOTIFY) it is really difficult to understand the problem.

Thus I suggest: Take a look at the SUBSCRIBE request on both Kamailio proxies. Verify that record-route and contact headers are correct.

Then take a look at the NOTIFY also on both servers and verify that the message is correct. If it is correct but routed wrong, check the config on the server which routed wrong.

regards
Klaus

On 29.02.2012 16:11, Manuel Perez wrote:
Thanks for your reply.

This is part of my config file:

request_route {
# per request initial checks
route(REQINIT);

# NAT detection
route(NATDETECT);

# handle requests within SIP dialogs
route(WITHINDLG);

### only initial requests (no To tag)

# CANCEL processing
if (is_method("CANCEL"))
{
if (t_check_trans())
t_relay();
exit;
}

t_check_trans();

# authentication
route(AUTH);

# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE|NOTIFY"))
record_route();

# account only INVITEs
if (is_method("INVITE"))
{
setflag(FLT_ACC); # do accounting
}

# dispatch requests to foreign domains
route(SIPOUT);

### requests for my local domains

# handle presence related requests
route(PRESENCE);

# handle registrations
route(REGISTRAR);

if ($rU==$null)
{
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}

# dispatch destinations to PSTN
route(PSTN);

# user location service
route(LOCATION);

route(RELAY);
}

route[RELAY] {

# enable additional event routes for forwarded requests
# - serial forking, RTP relaying handling, a.s.o.
if (is_method("INVITE|SUBSCRIBE|NOTIFY")) {
t_on_branch("MANAGE_BRANCH");
t_on_reply("MANAGE_REPLY");
}
if (is_method("INVITE")) {
t_on_failure("MANAGE_FAILURE");
}

if (!t_relay()) {
sl_reply_error();
}
exit;
}

route[WITHINDLG] {
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
if (is_method("BYE")) {
setflag(FLT_ACC); # do accounting ...
setflag(FLT_ACCFAILED); # ... even if the transaction fails
}
if ( is_method("ACK") ) {
# ACK is forwarded statelessy
route(NATMANAGE);
}
route(RELAY);
} else {
if ((is_method("SUBSCRIBE| NOTIFY")) && uri == myself) {
route(PRESENCE);
exit;
}
if ( is_method("ACK") ) {
if ( t_check_trans() ) {
# no loose-route, but stateful ACK;
# must be an ACK after a 487
# or e.g. 404 from upstream server
t_relay();
exit;
} else {
# ACK without matching transaction ... ignore and discard
exit;
}
}
sl_send_reply("404","Not here");
}
exit;
}
}

I'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.


Thanks.
Regards.


On Tue, Feb 28, 2012 at 5:22 PM, Klaus Darilion
<klaus.mailingli...@pernau.at <mailto:klaus.mailingli...@pernau.at>> wrote:

    NOTIFYs are in-dialog and should be loose-routed. Verify that
    loose-routing works fine.

    If the clients are behind NAT also verify that Contact headers are
    rewritten during subscription.

    regards
    Klaus


    On 28.02.2012 16:08, Manuel Perez wrote:

        Hello,

        I've used kamailio 3.2.2, i have rls, simple presence and xcap
        support
        working. I've replicated this server into another one in a different
        domain, but presence between domains is not working. I'm using for
        presence presence.so, presence_xml.so and presence_mwi.so. In
        route[WITHINDLG] i have the following lines:

        ...
        if (is_method("SUBSCRIBE|NOTIFY") && uri==myself)
              route(PRESENCE);
        ...

        When NOTIFY from user B at domain B arrives to the server at
        domain A,
        the message is not forwarded to the user A, How can i achieve this?

        Thank you.





        _________________________________________________
        SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
        mailing list
        sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
        http://lists.sip-router.org/__cgi-bin/mailman/listinfo/sr-__users 
<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to