Hello
I use UAC module to route my international calls from SER to IP-COM mainly
for testing. The call is setup and it rings on my PSTN phone however after
20 seconds the call terminates. A classical ACK problem. So I did some
sniffing with NGREP and sees that there is actually an ACK being sent but it
is not accepted by the provider. It seems that the ACK from header does not
match the OK from header, could this be the cause.
This is the relevant config lines and route blocks for my setup, if uri is
an international phonenumber processing is sent to route block 7 below. At
the bottom you see the 200 ok and following ACK that dont work.
Any idea or pointers on what to change? I spent all day without detecting
where the problem is...
modparam("uac","credential","000000:sip.ip-com.co.uk:xxxxxxxxxx")
modparam("uac","from_store_param","xparam")
modparam("uac","from_restore_mode", 1)
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()){
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
};
}
route[6] {
#
------------------------------------------------------------------------
# ACK Handler
#
------------------------------------------------------------------------
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
lookup("location");
route(1);
}
route[7] {
# -----------------------------------------------------------------
# PSTN Handler - International calls (Using UAC)
# -----------------------------------------------------------------
t_on_failure("1");
resetflag(1);
uac_replace_from("Serverhallen","sip:000000@sip.ip-com.co.uk");
#000000 is just to hide actul no.
rewritehost("sip.ip-com.co.uk");
route(1);
}
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) &&
(status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:\ +0")) {
use_media_proxy();
};
};
if (client_nat_test("1")) {
fix_nated_contact();
};
}
failure_route[1] {
if ( t_check_status("401|407") )
{
if (isflagset(1))
{
t_reply("503","Authentication failed");
break;
}
if (uac_auth())
{
setflag(1);
t_on_failure("1");
append_branch();
t_relay();
}
}
}
#
U 195.60.16.41:5060 -> 212.247.91.237:5060 SIP/2.0 200 OK.
Via: SIP/2.0/UDP 212.247.91.237;branch=z9hG4bK18cf.5a0c84f7.0,SIP/2.0/UDP
82.182.194.198:5062;branch=z9hG4bK-1098303a.
From: "Serverhallen"
<sip:000000@sip.ip-com.co.uk>;tag=dc0d090b4f97be8eo0;xparam=c2lwOjMzMDAwMUBz
aXAuc2VydmVyaGFsbGVuLmNv.
To: <sip:004640240252@sip.serverhallen.com>;tag=1C3FFA90-8D9.
Date: Tue, 26 Jul 2005 12:43:40 GMT.
Call-ID: c289f48f-a44228da(a)172.16.126.108.
Server: Cisco-SIPGateway/IOS-12.x.
CSeq: 102 INVITE.
Contact: <sip:2383004640240252@213.228.196.221:5060;user=phone>.
Record-Route:
<sip:004640240252@195.60.16.41;ftag=dc0d090b4f97be8eo0;lr=on>,<sip:212.247.9
1.237;ftag=dc0d090b4f97be8eo0;lr=on>.
Content-Type: application/sdp.
Content-Length: 214.
.
v=0.
o=CiscoSystemsSIP-GW-UserAgent 2038 8238 IN IP4 213.228.196.221.
s=SIP Call.
c=IN IP4 213.228.196.221.
t=0 0.
m=audio 17790 RTP/AVP 0 101.
a=rtpmap:0 PCMU/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 .
#
U 212.247.91.237:5060 -> 195.60.16.41:5060 ACK
sip:2383004640240252@213.228.196.221:5060;user=phone SIP/2.0.
Record-Route: <sip:212.247.91.237;ftag=dc0d090b4f97be8eo0;lr=on>.
Via: SIP/2.0/UDP 212.247.91.237;branch=0.
Via: SIP/2.0/UDP 82.182.194.198:5062;branch=z9hG4bK-7d2fae01.
From: Roger <sip:330001@sip.serverhallen.com>;tag=dc0d090b4f97be8eo0.
#SHOULD NOT BE THE SAME FROM AS IN THE OK?
To: <sip:004640240252@sip.serverhallen.com>;tag=1C3FFA90-8D9.
Call-ID: c289f48f-a44228da(a)172.16.126.108.
CSeq: 102 ACK.
Max-Forwards: 16.
Route: <sip:004640240252@195.60.16.41;ftag=dc0d090b4f97be8eo0;lr=on>.
Proxy-Authorization: Digest
username="330001",realm="sip.serverhallen.com",nonce="42e629ae8328119b5bd5fc
16ab4d0bc512c0db0c",uri="sip:004640240252@sip.serverhallen.com",algorithm=MD
5,response="00556d4ebdec58dc9156e61a61654028".
Contact: Roger <sip:330001@82.182.194.198:5062>.
User-Agent: Linksys/PAP2-2.0.12(LS).
Content-Length: 0.
Show replies by date