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@lists.sip-router.org [mailto:sr-users-bounces@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@imgtec.com> wrote:

And you use loose_route() for in dialog requests?

 

From: sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@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@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@lists.sip-router.org [mailto:sr-users-bounces@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@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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users