[SR-Users] BYE not forwarded

Grant Bagdasarian gb at cm.nl
Wed Apr 8 13:44:15 CEST 2015


Hello Daniel,

I'm not sure what you mean by alias or domain.

kamcmd domain.dump
3(15821) DEBUG: ctl [../../io_wait.h:388]: io_watch_add(): DBG: io_watch_add(0x7f803146daa0, 7, 3, 0x2652370), fd_no=1
3(15821) DEBUG: ctl [io_listener.c:453]: handle_new_connect(): handle_stream read: new connection (1) on /tmp/kamailio_ctl
{
        domain: 10.0.0.40
        did: 10.0.0.40
}

I have some domain checks in my script, which I commented out, but the problem still remains.
if(!is_domain_local("$rd")) { }
if(!is_domain_local("$fd")) { }

When I set the register_myself modparam to 0 it works, regardless of the is_domain_local checks! The BYE is sent back to the UAC.
modparam("domain", "register_myself", 0)

Not sure as to why this changes the behavior?

From: sr-users [mailto:sr-users-bounces at lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla
Sent: Wednesday, April 8, 2015 1:28 PM
To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] BYE not forwarded

Hello,

is the ip 10.0.0.40 set as alias or domain in domain table? It looks like kamailio considers it to be a local domain.

Cheers,
Daniel
On 08/04/15 13:13, Grant Bagdasarian wrote:
Hello,

I have the following setup:

UAC (Bria)  ------ Kamailio -------- Freeswitch

Kamailio is used to authenticate the client using basic authentication.
Upon authentication the INVITE is sent to Freeswitch for further handling.
Kamailio stays in the path using record-route.

At this point, the authentication and calling FS works fine.
For now, FS just answers, plays a file and hangsup the call.
Answering the call and playing a file works fine.
When FS hangs up the call, the BYE message is sent back to Kamailio.

The problem is the BYE message from FS contains a Route header which points to Kamailio again.
Which causes Kamailio to send the BYE message back to itself. Kamailio then replies with a 404.
The BYE is never sent to the UAC.

When I remove the record_route() for INVITEs, the call works fine, but Kamailio isn't kept in the signaling path.
The BYE is sent directly to the UAC.

T 10.0.5.52:54822 -> 10.0.5.50:5060 [AP]
BYE sip:grant at 10.0.0.40:5060;transport=tcp SIP/2.0.
Via: SIP/2.0/TCP 10.0.5.52;rport;branch=z9hG4bK99X8a4Q8BFy1a.
Route: <sip:10.0.5.50;transport=tcp;lr=on><sip:10.0.5.50;transport=tcp;lr=on>.
Max-Forwards: 70.
From: <sip:123456789 at 10.0.0.40><sip:123456789 at 10.0.0.40>;tag=aey7rKe7DmQte.
To: <sip:grant at 10.0.0.40><sip:grant at 10.0.0.40>;tag=dbc9c27b.
Call-ID: NmQ4YjYyMDFkNmMwZjg0ZmU5NjQ3ODhjYzU0MDBmNGI.
CSeq: 73909300 BYE.
User-Agent: CM SBC.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, NOTIFY.
Supported: timer, path, replaces.
Reason: Q.850;cause=16;text="NORMAL_CLEARING".
Content-Length: 0.

Here is the WITHINDLG route:

route[WITHINDLG] {
                xlog("L_INFO", "[R-ROUTE-WITHINDLG:$ci] !>" "Route:WITHINDLG;UnixTime:$TV(un);RequestURI:$rU;RequestMethod:$rm;FromTag:$ft;ToTag:$tt;CallID:$ci;From:$fU;To:$rU\r\n");

                if (!has_totag()) {
                               return;
                }

                # Sequential request within a dialog should take the path determined by record-routing
                if (loose_route()) {
                               route(RELAY);
                               exit;
                } else {
                               if (is_method("ACK")) {
                                               if (t_check_trans()) {
                                                               # No Loose-Route, but stateful ACK. Must be ACK after 487
                                                               route(RELAY);
                                                               exit;
                                               } else {
                                                               # ACK without matching transaction
                                                               exit;
                                               }
                               }
                               sl_send_reply("404","Not here");
                }
                exit;
}

I'm using TCP as the transport.
Kamailio: 4.2.3
Freeswitch: 1.5.15


I've attached a SIP trace from the point of view of Kamailio.
UAC: 10.0.0.40
Kamailio: 10.0.5.50
Freeswitch: 10.0.5.52

What is going on here?
The whole Record-Route thing confuses me a lot.

Regards,

Grant





_______________________________________________

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



--

Daniel-Constantin Mierla

http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda

Kamailio World Conference, May 27-29, 2015

Berlin, Germany - http://www.kamailioworld.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150408/4eb5838c/attachment.html>


More information about the sr-users mailing list