Hello,
I'm having an issue where kamailio is not sending the failure reply as I
would expect when receiving calls from a certain provider. Kamailio
sends the 403 response on calls from other providers. The big difference
I see is that the "problem" provider is using compact headers. I am
trying to force the 403 response to be sent for testing purposes but I
just can't get it to reply to this one provider.
I've included traces and configuration excerpts below. Any help is much
appreciated!
Problem Call (No Reply Sent):
U 63.79.178.192:5060 -> 184.171.164.100:5060
INVITE sip:+19727289377@184.171.164.100;transport=UDP;user=phone SIP/2.0.
v: SIP/2.0/UDP
63.79.178.192:5060;branch=z9hG4bK9a2b97bc805e6a3b73b43e3de4150da5.1d819013.
Record-Route: <sip:63.79.178.192;lr>.
f:
<sip:+17143258018@199.173.94.144:5060;user=phone>;tag=-45026-41c7bce-729616d4-41c7bce.
t: <sip:+19727289377@63.79.178.192:5060;user=phone>.
i: b03a96e8905eadc713c441c7bcef439f1124b7ca791c2679c0-0086-5719.
CSeq: 1 INVITE.
Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK.
v: SIP/2.0/UDP
SCR9:5060;maddr=199.173.94.144;branch=z9hG4bK-41c7bce-f439f11-21b78f96;received=199.173.94.144.
Max-Forwards: 27.
m: <sip:199.173.94.144:5060;transport=UDP>.
k: 100rel, resource-priority, replaces.
c: application/sdp.
l: 235.
P-Asserted-Identity: <sip:+17143258018@63.79.178.192;user=phone>.
Privacy: none.
.
v=0.
o=PVG 1464277233580 1464277233580 IN IP4 199.173.68.106.
s=-.
p=+1 6135555555.
c=IN IP4 199.173.68.106.
t=0 0.
m=audio 55380 RTP/AVP 18 0 8 101.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:20.
a=fmtp:18 annexb=no.
#
U 63.79.178.192:5060 -> 184.171.164.100:5060
ACK sip:+19727289377@184.171.164.100;transport=UDP;user=phone SIP/2.0.
v: SIP/2.0/UDP
63.79.178.192:5060;branch=z9hG4bK9a2b97bc805e6a3b73b43e3de4150da5.1d819013.
f:
<sip:+17143258018@199.173.94.144:5060;user=phone>;tag=-45026-41c7bce-729616d4-41c7bce.
t:
<sip:+19727289377@63.79.178.192:5060;user=phone>;tag=b1eb89aa72a4b2a406f6fb21bbd3e03f.1aac.
i: b03a96e8905eadc713c441c7bcef439f1124b7ca791c2679c0-0086-5719.
CSeq: 1 ACK.
l: 0.
Max-Forwards: 27.
.
Successful Call (Reply Sent):
#
U 64.136.173.31:5060 -> 184.171.164.100:5066
INVITE sip:7146466334@184.171.164.100:5066 SIP/2.0.
Via: SIP/2.0/UDP 64.136.173.31:5060;branch=z9hG4bK1sansay3408006464rdb14345.
Record-Route:
<sip:sansay3408006464rdb14345@64.136.173.31:5060;lr;transport=udp>.
To: <sip:7146466334@184.171.164.100>.
From: <sip:17143258018@64.136.173.31>;tag=sansay3408006464rdb14345.
Call-ID: 1089333243-0-3123809354(a)64.136.173.226.
CSeq: 1 INVITE.
Contact: <sip:17143258018@64.136.173.31:5060>.
Supported: timer.
Session-Expires: 1800;refresher=uac.
Min-SE: 90.
P-Asserted-Identity: <sip:17143258018@192.168.20.76>.
Privacy: none.
Expires: 120.
Max-Forwards: 67.
Content-Type: application/sdp.
Content-Length: 274.
.
v=0.
o=Sansay-VSXi 188 1 IN IP4 64.136.173.31.
s=Session Controller.
c=IN IP4 69.85.185.142.
t=0 0.
m=audio 37970 RTP/AVP 0 18 101.
a=rtpmap:0 PCMU/8000.
a=rtpmap:18 G729/8000.
a=fmtp:18 annexb=no.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=sendrecv.
a=ptime:20.
#
U 184.171.164.100:5066 -> 64.136.173.31:5060
SIP/2.0 403 DID Lookup Failed.
Via: SIP/2.0/UDP 64.136.173.31:5060;branch=z9hG4bK1sansay3408006464rdb14345.
To:
<sip:7146466334@184.171.164.100>;tag=b1eb89aa72a4b2a406f6fb21bbd3e03f.d2ec.
From: <sip:17143258018@64.136.173.31>;tag=sansay3408006464rdb14345.
Call-ID: 1089333243-0-3123809354(a)64.136.173.226.
CSeq: 1 INVITE.
Server: x-Freevoice SIP Proxy 4.21.
Content-Length: 0.
.
#
U 64.136.173.31:5060 -> 184.171.164.100:5066
ACK sip:7146466334@184.171.164.100:5066 SIP/2.0.
Via: SIP/2.0/UDP 64.136.173.31:5060;branch=z9hG4bK1sansay3408006464rdb14345.
To:
<sip:7146466334@184.171.164.100>;tag=b1eb89aa72a4b2a406f6fb21bbd3e03f.d2ec.
From: <sip:17143258018@64.136.173.31>;tag=sansay3408006464rdb14345.
Call-ID: 1089333243-0-3123809354(a)64.136.173.226.
CSeq: 1 ACK.
Max-Forwards: 70.
Content-Length: 0.
Kamailio Config:
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"))
{
setflag(FLT_ACCFAILED);
if (t_check_trans())
t_relay();
exit;
}
t_check_trans();
if(is_method("INVITE")||is_method("MESSAGE")){
route(ORIGINATE);
#route(FROMAST);
}
route[ORIGINATE] {
sl_send_reply("403", "DID Lookup Failed");
exit;
}
Jeremy Betts
<https://www.youtube.com/user/FreevoiceLLC>
<https://www.youtube.com/user/FreevoiceLLC>