I am forwarding calls to a PSTN gateway with authentication provided by the UAC module.
The call connects and two-way audio is heard. Then, after about 10 seconds, the call is disconnected. If I register a UAC directly with the gateway the call continues until either party hangs up but when openSER is in the path (just the signalling, not the audio) the call gets disconnected. The gateway is reported as Cisco-SIPGateway/IOS-12.x but SER is in front of that i.e. (Grandstream<->openSER)<->(SER<->Cisco).
The SIP traffic from the INVITE until the call disconnects is as follows. Note that no SIP traffic is seen at the openSER proxy at the point of disconnect and the disconnect happens a few seconds after the final ACK: U 60.234.100.100:5060 -> 147.202.100.100:5060 INVITE sip:006495551122@beta.domain.co.nz SIP/2.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz Contact: sip:6495551122@60.234.100.100 Supported: replaces Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 70 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Type: application/sdp Content-Length: 360
v=0 o=6495551122 8000 8000 IN IP4 60.234.100.100 s=SIP Call c=IN IP4 60.234.100.100 t=0 0 m=audio 5004 RTP/AVP 0 8 4 18 2 15 99 9 a=sendrecv a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:4 G723/8000 a=rtpmap:18 G729/8000 a=rtpmap:2 G726-32/8000 a=rtpmap:15 G728/8000 a=rtpmap:99 iLBC/8000 a=fmtp:99 mode=20 a=rtpmap:9 G722/16000 a=ptime:20 #U 147.202.100.100:5060 -> 60.234.100.100:5060SIP/2.0 100 trying -- your call is important to us Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE Server: OpenSer (1.0.1 (i386/linux)) Content-Length: 0 Warning: 392 147.202.100.100:5060 "Noisy feedback tells:pid=4622 req_src_ip=60.234.100.100 req_src_port=5060 in_uri=sip:006495551122@beta.domain.co.nz out_uri=sip:006495551122@203.184.100.100 via_cnt==1"
##U 147.202.100.100:5060 -> 203.184.100.100:5060 INVITE sip:006495551122@203.184.100.100 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz Contact: sip:6495551122@60.234.100.100 Supported: replaces Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Type: application/sdp Content-Length: 360
v=0 o=6495551122 8000 8000 IN IP4 60.234.100.100 s=SIP Call c=IN IP4 60.234.100.100 t=0 0 m=audio 5004 RTP/AVP 0 8 4 18 2 15 99 9 a=sendrecv a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:4 G723/8000 a=rtpmap:18 G729/8000 a=rtpmap:2 G726-32/8000 a=rtpmap:15 G728/8000 a=rtpmap:99 iLBC/8000 a=fmtp:99 mode=20 a=rtpmap:9 G722/16000 a=ptime:20 ####
U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=df74dfb1855fc2bffa5454d042443f01.b99c Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE Proxy-Authenticate: Digest realm="gateway.co.nz", nonce="443b3239652d054daebf907b011b989f20f71fd5" Server: Sip EXpress router (0.8.14-6 (i386/linux)) Content-Length: 0 Warning: 392 203.184.100.100:5060 "Noisy feedback tells:pid=18054 req_src_ip=147.202.100.100 req_src_port=5060 in_uri=sip:006495551122@203.184.100.100 out_uri=sip:006495551122@gateway.co.nz:5060 via_cnt==2"
#U 147.202.100.100:5060 -> 203.184.100.100:5060 ACK sip:006495551122@203.184.100.100 SIP/2.0 Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.0 From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 To: sip:006495551122@beta.domain.co.nz;tag=df74dfb1855fc2bffa5454d042443f01.b99c CSeq: 52471 ACK User-Agent: OpenSer (1.0.1 (i386/linux)) Content-Length: 0
#U 147.202.100.100:5060 -> 203.184.100.100:5060 INVITE sip:006495551122@203.184.100.100 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz Contact: sip:6495551122@60.234.100.100 Supported: replaces Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Type: application/sdp Content-Length: 360 Proxy-Authorization: Digest username="645566778", realm="gateway.co.nz", nonce="443b3239652d054daebf907b011b989f20f71fd5", uri="sip:006495551122@203.184.100.100", response="8a49e7678e33108ac0771c7eaf60b7ad", algorithm="MD5"
v=0 o=6495551122 8000 8000 IN IP4 60.234.100.100 s=SIP Call c=IN IP4 60.234.100.100 t=0 0 m=audio 5004 RTP/AVP 0 8 4 18 2 15 99 9 a=sendrecv a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:4 G723/8000 a=rtpmap:18 G729/8000 a=rtpmap:2 G726-32/8000 a=rtpmap:15 G728/8000 a=rtpmap:99 iLBC/8000 a=fmtp:99 mode=20 a=rtpmap:9 G722/16000 a=ptime:20 #####U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 100 trying -- your call is important to us Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 INVITE Server: Sip EXpress router (0.8.14-6 (i386/linux)) Content-Length: 0 Warning: 392 203.184.100.100:5060 "Noisy feedback tells:pid=18064 req_src_ip=147.202.100.100 req_src_port=5060 in_uri=sip:006495551122@203.184.100.100 out_uri=sip:8888095551122@202.180.100.100:5060 via_cnt==2"
########U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1,SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Disposition: session;handling=required Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes #U 147.202.100.100:5060 -> 60.234.100.100:5060 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Disposition: session;handling=required Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes #############################################
U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1,SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes
#U 147.202.100.100:5060 -> 60.234.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes ##### U 60.234.100.100:5060 -> 147.202.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK0f1649effc02b74c Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 70 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
#U 147.202.100.100:5060 -> 203.184.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK0f1649effc02b74c Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
####U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1,SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes #U 147.202.100.100:5060 -> 60.234.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes
####U 60.234.100.100:5060 -> 147.202.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK3ef8f33855e9ca1f Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 70 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
#U 147.202.100.100:5060 -> 203.184.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK3ef8f33855e9ca1f Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
#######
U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1,SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes
#U 147.202.100.100:5060 -> 60.234.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes
####U 60.234.100.100:5060 -> 147.202.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK66362c003682c65c Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 70 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
#U 147.202.100.100:5060 -> 203.184.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK66362c003682c65c Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
##############
U 203.184.100.100:5060 -> 147.202.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 147.202.100.100;branch=z9hG4bK5493.591f2534.1,SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes #U 147.202.100.100:5060 -> 60.234.100.100:5060 SIP/2.0 200 OK Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bK2936917715c397f4 From: sip:645566778@gateway.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Date: Tue, 11 Apr 2006 04:31:09 GMT Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 Server: Cisco-SIPGateway/IOS-12.x CSeq: 52471 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO Allow-Events: telephone-event Contact: sip:8888095551122@202.180.100.100:5060 Record-Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on,sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Content-Type: application/sdp Content-Length: 211
v=0 o=CiscoSystemsSIP-GW-UserAgent 8327 3527 IN IP4 202.180.100.100 s=SIP Call c=IN IP4 203.184.100.100 t=0 0 m=audio 35366 RTP/AVP 0 c=IN IP4 203.184.100.100 a=rtpmap:0 PCMU/8000 a=ptime:20 a=nortpproxy:yes
#####U 60.234.100.100:5060 -> 147.202.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bKf4eefea8493b1705 Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 70 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
#U 147.202.100.100:5060 -> 203.184.100.100:5060 ACK sip:8888095551122@202.180.100.100:5060 SIP/2.0 Record-Route: sip:147.202.100.100;ftag=17f4875c4046b39d;lr=on Via: SIP/2.0/UDP 147.202.100.100;branch=0 Via: SIP/2.0/UDP 60.234.100.100;branch=z9hG4bKf4eefea8493b1705 Route: sip:006495551122@203.184.100.100;ftag=17f4875c4046b39d;lr=on From: sip:6495551122@beta.domain.co.nz;tag=17f4875c4046b39d To: sip:006495551122@beta.domain.co.nz;tag=3DD382F8-2296 Contact: sip:6495551122@60.234.100.100 Call-ID: 90fb36fc2ad0ad5a@192.168.0.11 CSeq: 52471 ACK User-Agent: Grandstream BT100 1.0.6.7 Max-Forwards: 69 Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE Content-Length: 0
Relevant parts of openSER.cfg: route {
# ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); return; };
if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); return; };
# ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- #If it's an INVITE & client is NATed, #f (method=="INVITE" && client_nat_test("3")) { #Record-route and specify the record-route header explicitly record_route_preset("147.202.100.100:5060;nat=yes"); # insert IP address #If not Nated and not REGISTER then normal record-route } else if (method!="REGISTER") { record_route(); };
# ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { setflag(1); #call end_media_session in case we're proxying media end_media_session(); };
# ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) { #Ensure we are dealing with a re-INVITE. Only connected calls have tag= if (has_totag() && (method=="INVITE" || method=="ACK")) { #check client is nated or that we've already identified it's nated if (client_nat_test("3") || search("^Route:.*;nat=yes")) { setflag(6); use_media_proxy(); }; };
route(1); return; };
# ----------------------------------------------------------------- # Call Type Processing Section # -----------------------------------------------------------------
if (uri!=myself) { route(5); route(1); return; };
if (uri==myself) {
if (method=="ACK") { route(6); return; } else if (method=="CANCEL") { route(1); return; } else if (method=="INVITE") { route(3); return; } else if (method=="REGISTER") { route(2); return; };
lookup("aliases"); if (uri!=myself) { route(5); route(1); return; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); return; }; };
route(1);
}
route[1] {
# ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
#Call reply_route(1) to intercept response messages heading to the client t_on_reply("1"); #Try to relay the message if (!t_relay()) { #If it can't and it's an INVITE or ACK end the media proxying if (method=="INVITE" || method=="ACK") { end_media_session(); };
sl_reply_error(); }; }
route[2] {
# ----------------------------------------------------------------- # REGISTER Message Handler # ----------------------------------------------------------------
sl_send_reply("100", "Trying"); log(1,"route[2] (Register handler");
#Ensure that the SIP message contains a Contact: header #If so and client is Nated if (!search("^Contact:[ ]**") && client_nat_test("7")) { setflag(6); #Appends parameters to Contact header URI fix_nated_register(); #Adds received IP port to top most via header #This enables subsequent SIP messages to return to the correct port force_rport(); };
if (!www_authorize("","subscriber")) { www_challenge("","0"); return; };
if (!check_to()) { sl_send_reply("401", "Unauthorized"); return; };
consume_credentials();
if (!save("location")) { sl_reply_error(); }; }
route[3] {
# ----------------------------------------------------------------- # INVITE Message Handler # -----------------------------------------------------------------
#Is message sender behind NAT? if (client_nat_test("3")) { #If so then setflag7 setflag(7); force_rport(); #Rewrite Contact: header to contain Sip client's public IP:port fix_nated_contact(); };
if (!allow_trusted() && !is_uri_host_local()) { # if (method=="INVITE") { if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); return; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); return; };
consume_credentials(); };
lookup("aliases"); if (uri!=myself) { #Enable mediaproxy if needed route(5); #Send message to destination route(1); return; };
if (uri=~"^sip:(+|00|011)[0-9]*@") { # International PSTN log(1,"international PSTN match"); route(4); return; };
if (!lookup("location")) { if (uri=~"^sip:[0-9]{11}@") { # Domestic(US) PSTN route(4); return; };
sl_send_reply("404", "User Not Found"); return; };
if (method=="CANCEL") { route(1); return; };
#Set accounting flags setflag(1); setflag(3);
route(5); log(1,"route(5) called from from route(3)"); route(1); }
route[4] {
# ----------------------------------------------------------------- # PSTN Handler # -----------------------------------------------------------------
#UAC module routing# t_on_failure("1"); resetflag(9); log(1,"resetflag(9)"); uac_replace_from("sip:645566778@gateway.co.nz"); rewritehost("203.184.100.100"); log(1,"host rewritten");
avp_write("i:45", "inv_timeout");
setflag(1); setflag(3);
route(5); log(1,"route(5) called from from route(4)"); route(1); }
route[5] {
# ----------------------------------------------------------------- # NAT traversal # -----------------------------------------------------------------
#check whether message sender(7) or recipient(6) is Nated if (isflagset(6) || isflagset(7)) { #If so then proxy media log(1,"using media proxy in route(5)"); use_media_proxy(); }; }
route[6] {
# ------------------------------------------------------------------------ # ACK Handler # ------------------------------------------------------------------------
# ------------------------------------------------------------------------ # Aliases Section # ------------------------------------------------------------------------ lookup("aliases"); if (uri!=myself) { route(5); route(1); return; };
lookup("location");
route(1); }
onreply_route[1] #Handles message that are returned to the sender i.e. response to caller's original request { if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
#Check the SDP payload length. Assume if we have something we can call mediaproxy if (!search("^Content-Length:[ ]*0")) { log(1,"using media proxy in onreply_route(1)"); use_media_proxy(); }; };
if (client_nat_test("1")) { fix_nated_contact(); }; }
failure_route[1] { log(1,"hit failure_route[1]"); if (t_check_status("401|407")) { log(1,"status is 401 or 407"); if (isflagset(9)) { log(1,"flag9 is set"); t_reply("503","Authentication failed"); return; } if (uac_auth()) { log(1, "called uac_auth"); setflag(9); t_on_failure("1"); append_branch(); #t_relay(); log(1, "calling route(1) from failure_route"); route(1); } } }