[OpenSIPS-Users] Help: Understanding ACK loop

spady spady77 at gmail.com
Tue Nov 6 13:44:03 CET 2012


Hi, i had to rewrite post because the preview one was too big. Sorry for this
mistake!! Here is the new, short, one:

Hi, thanks for reply. 

Here the SIP dump and after it, configuration. 

IP 172.16.55.100 = Opensips Gw 
IP 10.9.6.3 = PBX 
IP 10.9.6.40 = Gateway GSM 

The problem is when i receive a ACK from Ip 10.9.6.40, Opensips never send
ACK to 10.9.6.3 but instead it sends to itself in a loop way!!!


 2012/10/31 15:01:58.415722 10.9.6.40:5060 -> 172.16.55.100:5060 
INVITE sip:2542 at 172.16.55.100:5060 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Max-Forwards: 70. 
Content-Length: 228. 
Allow: INVITE, BYE, ACK, CANCEL, REGISTER, OPTIONS, REFER, NOTIFY, INFO. 
Record-Route: <sip:10.9.6.40>. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Type: application/sdp. 
User-Agent: QuesCom SIP Gateway 5.21.028. 
. 
v=0. 
o=QuesCom 1117304981 1117304981 IN IP4 10.9.6.40. 
s=NonSIP. 
c=IN IP4 10.9.6.40. 
t=0 0. 
m=audio 11278 RTP/AVP 18 8 0. 
a=rtpmap:18 g729/8000/1. 
a=fmtp:18 annexb=no. 
a=rtpmap:8 pcma/8000/1. 
a=rtpmap:0 pcmu/8000/1. 
a=sendrecv. 


U 2012/10/31 15:01:58.422423 172.16.55.100:5060 -> 10.9.6.40:5060 
SIP/2.0 100 Giving a try. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Server: OpenSIPS. 
Content-Length: 0. 
. 


U 2012/10/31 15:01:58.423041 172.16.55.100:5060 -> 10.9.6.3:5060 
INVITE sip:2542 at 10.9.6.3:5060 SIP/2.0. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Max-Forwards: 69. 
Content-Length: 228. 
Allow: INVITE, BYE, ACK, CANCEL, REGISTER, OPTIONS, REFER, NOTIFY, INFO. 
Record-Route: <sip:10.9.6.40>. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Type: application/sdp. 
User-Agent: QuesCom SIP Gateway 5.21.028. 
. 
v=0. 
o=QuesCom 1117304981 1117304981 IN IP4 10.9.6.40. 
s=NonSIP. 
c=IN IP4 10.9.6.40. 
t=0 0. 
m=audio 11278 RTP/AVP 18 8 0. 
a=rtpmap:18 g729/8000/1. 
a=fmtp:18 annexb=no. 
a=rtpmap:8 pcma/8000/1. 
a=rtpmap:0 pcmu/8000/1. 
a=sendrecv. 


U 2012/10/31 15:01:58.425799 10.9.6.3:5060 -> 172.16.55.100:5060 
SIP/2.0 100 Trying. 
To: <sip:2542 at 172.16.55.100>. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 0. 
. 


U 2012/10/31 15:01:58.432723 10.9.6.3:5060 -> 172.16.55.100:5060 
SIP/2.0 180 Ringing. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 0. 
. 


U 2012/10/31 15:01:58.434309 172.16.55.100:5060 -> 10.9.6.40:5060 
SIP/2.0 180 Ringing. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 0. 
. 


























U 2012/10/31 15:02:02.908748 10.9.6.3:5060 -> 172.16.55.100:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:02.913036 172.16.55.100:5060 -> 10.9.6.40:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:02.918144 10.9.6.40:5060 -> 172.16.55.100:5060 
ACK sip:172.16.55.100;lr;did=021.929cd6c2 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 ACK. 
Max-Forwards: 70. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Route: sip:10.9.6.3. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKyugtlplC14701805118363. 
. 


U 2012/10/31 15:02:02.919412 172.16.55.100:5060 -> 172.16.55.100:5060 
ACK sip:172.16.55.100;lr;did=021.929cd6c2 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 ACK. 
Max-Forwards: 69. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Route: sip:10.9.6.3. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKyugtlplC14701805118363. 
. 


U 2012/10/31 15:02:02.920799 172.16.55.100:5060 -> 172.16.55.100:5060 
ACK sip:172.16.55.100;lr;did=021.929cd6c2 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 ACK. 
Max-Forwards: 68. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Route: sip:10.9.6.3. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKyugtlplC14701805118363. 
. 


U 2012/10/31 15:02:02.925994 172.16.55.100:5060 -> 172.16.55.100:5060 
ACK sip:172.16.55.100;lr;did=021.929cd6c2 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 ACK. 
Max-Forwards: 67. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Route: sip:10.9.6.3. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKyugtlplC14701805118363. 
. 


U 2012/10/31 15:02:02.927708 172.16.55.100:5060 -> 172.16.55.100:5060 
ACK sip:172.16.55.100;lr;did=021.929cd6c2 SIP/2.0. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 ACK. 
Max-Forwards: 66. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
Route: sip:10.9.6.3. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.2. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKyugtlplC14701805118363. 
. 
.
.
.
.
.




U 2012/10/31 15:02:04.419928 10.9.6.3:5060 -> 172.16.55.100:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:04.422084 172.16.55.100:5060 -> 10.9.6.40:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:06.430003 10.9.6.3:5060 -> 172.16.55.100:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK1125.b8ca83d.0. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:06.431040 172.16.55.100:5060 -> 10.9.6.40:5060 
SIP/2.0 200 OK. 
Record-Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Record-Route: <sip:10.9.6.40>. 
Allow: INVITE, ACK, CANCEL, BYE, PRACK, NOTIFY, REFER, SUBSCRIBE, OPTIONS,
UPDATE. 
Contact: sip:10.9.6.3. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
Session-Expires: 1800;refresher=uas. 
P-Asserted-Identity: "User A" <sip:5222542 at 10.9.6.3;user=phone>. 
Content-Type: application/sdp. 
To: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
From: <sip:+xxxxxxxxxxxx at 10.9.6.40>;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 19584 INVITE. 
Via: SIP/2.0/UDP 10.9.6.40:5060;branch=z9hG4bKiekjcfzC14701805113857. 
Content-Length: 197. 
. 
v=0. 
o=OXE 1351691970 1351691970 IN IP4 10.9.6.3. 
s=abs. 
c=IN IP4 172.16.52.215. 
t=0 0. 
m=audio 32514 RTP/AVP 18. 
a=sendrecv. 
a=rtpmap:18 G729/8000. 
a=fmtp:18 annexb=no. 
a=ptime:30. 
a=maxptime:40. 


U 2012/10/31 15:02:06.900754 10.9.6.3:5060 -> 172.16.55.100:5060 
BYE sip:+xxxxxxxxxxxx at 10.9.6.40 SIP/2.0. 
Route: <sip:172.16.55.100;lr;did=021.929cd6c2>. 
Route: <sip:10.9.6.40>. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
To: sip:+xxxxxxxxxxxx at 10.9.6.40;tag=q-7313-723a. 
From: sip:2542 at 172.16.55.100;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 681073280 BYE. 
Via: SIP/2.0/UDP 10.9.6.3;branch=z9hG4bKaaf0140ecdc34f34e54c040cf2fb83ba. 
Max-Forwards: 70. 
Content-Length: 0. 
. 


U 2012/10/31 15:02:06.902711 172.16.55.100:5060 -> 10.9.6.40:5060 
BYE sip:10.9.6.40 SIP/2.0. 
Supported: replaces,timer,path,100rel. 
User-Agent: OmniPCX Enterprise R10.0 j1.410.45.a. 
To: sip:+xxxxxxxxxxxx at 10.9.6.40;tag=q-7313-723a. 
From: sip:2542 at 172.16.55.100;tag=be6dedc56089bca6b558af187479406f. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 681073280 BYE. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK6ee9.54906f9.0. 
Via: SIP/2.0/UDP 10.9.6.3;branch=z9hG4bKaaf0140ecdc34f34e54c040cf2fb83ba. 
Max-Forwards: 69. 
Content-Length: 0. 
Route: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
. 


U 2012/10/31 15:02:06.905593 10.9.6.40:5060 -> 172.16.55.100:5060 
SIP/2.0 200 Ok. 
Via: SIP/2.0/UDP 172.16.55.100;branch=z9hG4bK6ee9.54906f9.0. 
Via: SIP/2.0/UDP 10.9.6.3;branch=z9hG4bKaaf0140ecdc34f34e54c040cf2fb83ba. 
From: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
To: sip:+xxxxxxxxxxxx at 10.9.6.40;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 681073280 BYE. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
User-Agent: QuesCom SIP Gateway 5.21.028. 
. 


U 2012/10/31 15:02:06.906364 172.16.55.100:5060 -> 10.9.6.3:5060 
SIP/2.0 200 Ok. 
Via: SIP/2.0/UDP 10.9.6.3;branch=z9hG4bKaaf0140ecdc34f34e54c040cf2fb83ba. 
From: <sip:2542 at 172.16.55.100>;tag=be6dedc56089bca6b558af187479406f. 
To: sip:+xxxxxxxxxxxx at 10.9.6.40;tag=q-7313-723a. 
Call-ID: 1351688617136291 at 10.9.6.40. 
CSeq: 681073280 BYE. 
Content-Length: 0. 
Contact: <sip:+xxxxxxxxxxxx at 10.9.6.40>. 
User-Agent: QuesCom SIP Gateway 5.21.028. 



##################################################### 
# ----------------- Routing Logic ----------------- # 
##################################################### 

# main request routing logic 

route{ 

        if (!mf_process_maxfwd_header("10")) { 
                sl_send_reply("483","Too Many Hops"); 
                exit; 
        } 

######################################### 
#----- Sequential requests section -----# 
######################################### 

        if (has_totag()) { 
                if (loose_route()) { 
                        if ( $DLG_status!=NULL && !validate_dialog() ) { 
                                ## exit; 
                        } 

                        if (is_method("BYE")) { 
                                setflag(1); # do accounting ... 
                                setflag(3); # ... even if the transaction
fails 
                        } else if (is_method("INVITE")) { 
                                # even if in most of the cases is useless,
do RR for 
                                # re-INVITEs alos, as some buggy clients do
change route set 
                                # during the dialog. 
                                record_route(); 

                        } 



                        # route it out to whatever destination was set by
loose_route() 
                        # in $du (destination URI). 
                        route(1); 
                } else { 

                        if ( is_method("ACK") ) { 
                                if ( t_check_trans() ) { 
                                        # non loose-route, but stateful ACK;
must be an ACK after 
                                        # a 487 or e.g. 404 from upstream
server 
                                        t_relay(); 
                                        exit; 
                                } else { 
                                        # ACK without matching transaction
-> 
                                        # ignore and discard 
                                        exit; 
                                } 
                        } 
                        sl_send_reply("404","Not here"); 
                } 

                exit; 
        } 

###################################### 
#----- Initial requests section -----# 
###################################### 

        # CANCEL processing 
        if (is_method("CANCEL")) 
        { 
                if (t_check_trans()) 
                        t_relay(); 
                exit; 
        } 

        t_check_trans(); 

        if ( !(is_method("REGISTER")  || (src_ip==172.16.55.100 &&
src_port==5060 /* CUSTOMIZE ME */) ) ) { 

                if (from_uri==myself) 

                { 

                        # authenticate if from local subscriber 
                        # authenticate all initial non-REGISTER request that
pretend to be 
                        # generated by local subscriber (domain from FROM
URI is local) 
                        if (!proxy_authorize("", "subscriber")) { 
                                proxy_challenge("", "0"); 
                                exit; 
                        } 
                        if (!db_check_from()) { 
                                sl_send_reply("403","Forbidden auth ID"); 
                                exit; 
                        } 

                        consume_credentials(); 
                        # caller authenticated 

                } else { 
                        # if caller is not local, then called number must be
local 

                        if (!uri==myself) { 
                                send_reply("403","Rely forbidden"); 
                                exit; 
                        } 
                } 

        } 


###################################### 
#----- Preloaded Route Checking -----# 
###################################### 

        if (loose_route()) { 
                xlog("L_ERR", 
                "Attempt to route with preloaded Route's
[$fu/$tu/$ru/$ci]"); 
                if (!is_method("ACK")) 
                        sl_send_reply("403","Preload Route denied"); 
                exit; 
        } 

        # record routing 
        if (!is_method("REGISTER|MESSAGE")) 
                record_route(); 

        # account only INVITEs 
        if (is_method("INVITE")) { 
                # create dialog with timeout 
                if ( !create_dialog("B") ) { 
                        send_reply("500","Internal Server Error"); 
                        exit; 
                } 

                setflag(1); # do accounting 
        } 


        if (!uri==myself) { 
                append_hf("P-hint: outbound\r\n"); 

                route(1); 
        } 

        # requests for my domain 

        if (is_method("PUBLISH|SUBSCRIBE")) 
        { 
                sl_send_reply("503", "Service Unavailable"); 
                exit; 
        } 

        if (is_method("REGISTER")) 
        { 

                # authenticate the REGISTER requests 
                if (!www_authorize("", "subscriber")) 
                { 
                        www_challenge("", "0"); 
                        exit; 
                } 

                if (!db_check_to()) 
                { 
                        sl_send_reply("403","Forbidden auth ID"); 
                        exit; 
                } 

                if ( proto==TCP ||  0 ) setflag(7); 

                if (!save("location")) 
                        sl_reply_error(); 

                exit; 
        } 

        if ($rU==NULL) { 
                # request with no Username in RURI 
                sl_send_reply("484","Address Incomplete"); 
                exit; 
        } 

################################## 
#----- Group Routing Params -----# 
################################## 




      if (src_ip == 10.9.6.40) { 
                #relay request to ALCATEL OXE 
                        route(2); 
                        exit; 
                } 



        if (src_ip == 10.9.6.3) { 
        #relay request to QUESCOM 
                        route(3); 
                        exit; 
        } 


        # apply DB based aliases 
        alias_db_lookup("dbaliases"); 


        # apply transformations from dialplan table 
        dp_translate("0","$rU/$rU"); 


        # do lookup with method filtering 
        if (!lookup("location","m")) { 
                if (!db_does_uri_exist()) { 
                        send_reply("420","Bad Extension"); 
                        exit; 
                } 

                t_newtran(); 
                t_reply("404", "Not Found"); 
                exit; 
        } 



        # when routing via usrloc, log the missed calls also 
        setflag(2); 
        route(1); 
} 

###################### 
# ----- Routes ----- # 
###################### 

route[1] { 
        # for INVITEs enable some additional helper routes 
        if (is_method("INVITE")) { 


                t_on_branch("2"); 
                t_on_reply("2"); 
                t_on_failure("1"); 
        } 


        if (!t_relay()) { 
                send_reply("500","Internal Error"); 
        }; 
        exit; 
        } 

route[2] { 
        rewritehostport("10.9.6.3:5060"); 
        t_relay("udp:10.9.6.3:5060"); 
                } 

route[3] { 
        rewritehostport("10.9.6.40:5060"); 
        t_relay("udp:10.9.6.40:5060"); 
        } 


branch_route[2] { 

            xlog("#########new branch at $ru\n"); 
     } 

onreply_route[2] { 

                xlog("###########incoming reply [ONREPLY 2]\n"); 
        } 


failure_route[1] { 
        if (t_was_cancelled()) { 
                exit; 
          } 
        } 


local_route { 
        if (is_method("BYE") && $DLG_dir=="UPSTREAM") { 

                acc_db_request("200 Dialog Timeout", "acc"); 

        } 
}







--
View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Help-Understanding-ACK-loop-tp7582796.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.



More information about the Users mailing list