[SR-Users] Fwd: Need help with Routing presence NOTIFY messages

Allen Zhang Allen.Zhang at imgtec.com
Thu Jul 10 00:43:17 CEST 2014


You should only call record_route() once.
From your previous post:

remove_hf("Route");
            if (is_method("INVITE|SUBSCRIBE"))
                        record_route();

if(is_method("SUBSCRIBE")) {
                record_route();
                        handle_subscribe();
                        t_release();

It looks like you call the function twice.

Allen

From: sr-users-bounces at lists.sip-router.org [mailto:sr-users-bounces at lists.sip-router.org] On Behalf Of Veerabhara Gundu
Sent: Thursday, 10 July 2014 9:18 a.m.
To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] Fwd: Need help with Routing presence NOTIFY messages

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.


# Handle requests within SIP dialogs
route[WITHINDLG] {
            if (has_totag()) {
                        # sequential request withing a dialog should
                        # take the path determined by record-routing
                        if (loose_route()) {
                                    route(DLGURI);
                                    if (is_method("BYE")) {
                                                setflag(FLT_ACC); # do accounting ...
                                                setflag(FLT_ACCFAILED); # ... even if the transaction fails
                                    }
                                    else if ( is_method("ACK") ) {
                                                # ACK is forwarded statelessy
                                                route(NATMANAGE);
                                    }
                                    else if ( is_method("NOTIFY") ) {
                                                # Add Record-Route for in-dialog NOTIFY as per RFC 6665.
                                                record_route();
                                    }
                                    route(RELAY);
                        } else {
                                    if (is_method("SUBSCRIBE") && uri == myself) {
                                                # in-dialog subscribe requests
                                                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
                                                            route(RELAY);
                                                            exit;
                                                } else {
                                                            # ACK without matching transaction ... ignore and discard
                                                            exit;
                                                }
                                    }
                                    sl_send_reply("404","Not here");
                        }
                        exit;
            }
}


On Tue, Jul 8, 2014 at 10:18 PM, Allen Zhang <Allen.Zhang at imgtec.com<mailto:Allen.Zhang at imgtec.com>> wrote:
And you use loose_route() for in dialog requests?

From: sr-users-bounces at lists.sip-router.org<mailto:sr-users-bounces at lists.sip-router.org> [mailto:sr-users-bounces at lists.sip-router.org<mailto:sr-users-bounces at lists.sip-router.org>] On Behalf Of Veerabhara Gundu
Sent: Wednesday, 9 July 2014 5:15 p.m.

To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] Fwd: Need help with Routing presence NOTIFY messages

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.

remove_hf("Route");
            if (is_method("INVITE|SUBSCRIBE"))
                        record_route();

also while processing subscribe

if(is_method("SUBSCRIBE")) {
                record_route();
                        handle_subscribe();
                        t_release();

On Tue, Jul 8, 2014 at 9:18 PM, Allen Zhang <Allen.Zhang at imgtec.com<mailto:Allen.Zhang at imgtec.com>> wrote:
Hi,

Other please correct me if I’m wrong.
NOTIFY should use record-route header. Make sure your kamailio servers set the record-route header for SUBSCRIBE requests.

Regards,
Allen

From: sr-users-bounces at lists.sip-router.org<mailto:sr-users-bounces at lists.sip-router.org> [mailto:sr-users-bounces at lists.sip-router.org<mailto:sr-users-bounces at lists.sip-router.org>] On Behalf Of Veerabhara Gundu
Sent: Wednesday, 9 July 2014 3:25 p.m.
To: Kamailio (SER) - Users Mailing List
Subject: [SR-Users] Fwd: Need help with Routing presence NOTIFY messages


Hello Experts,

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.


One possible solution I am thinking is, separating presence logic and starting that as separate server. That way I can play with contact header.

Any other thoughts, I appreciate any help with this. I have spent enough time on this.


Thanks,
Veera







Thanks,
Veera


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


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140709/6fdb230e/attachment.html>


More information about the sr-users mailing list