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@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.
Max-Forwards: 70.
From: sip:123456789@10.0.0.40;tag=aey7rKe7DmQte.
To: sip:grant@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users