You cannot achieve NAT traversal if the UAC does not do symmetric signaling (to send and receive SIP messages on the same port). The server cannot open the pinhole in the NAT from outside on the port advertised in the contact header, only the UAC can do it.
Cheers, Daniel
On 01/06/06 21:14, Jack Wei wrote:
Hi,
I'm having a problem when an UAC is behind NAT and has a public port other than 5060. The public port isn't present in the contact field so when an ACK for an INVITE is sent to the UAC, it's directed to the default port of 5060. I'm currently using v1.0.0 w/ the NATHELPER module. The UAC is SJphone. Any help would be greatly appreciated.
NAT part of my openser.cfg :
if (nat_uac_test("19")) { if ( method == "REGISTER" ) { fix_nated_register(); force_rport(); } else { force_rport(); fix_nated_contact();
if (method == "INVITE") { fix_nated_sdp("1"); }; }; append_hf( "P-hint: NAT traversal\r\n" );
}
the sip proxy is voip.somewhere.com and 1.1.1.1 the pstn gateway is 2.2.2.2
the caller is from pstn and the callee is the uac.
Here's a log of SIP msgs:
# U 2.2.2.2:5060 -> 1.1.1.1:5060 INVITE sip:2139435286@voip.somewhere.com:5060;user=phone SIP/2.0. t: sip:2139435286@voip.somewhere.com:5060;user=phone. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. Remote-Party-Id: sip:2139961998@2.2.2.2:5060;user=phone;screen=no;id-type=subscriber;party=calling;privacy=off. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 70. m: sip:2139961998@2.2.2.2:5060;user=phone. k: replaces. c: application/sdp. Accept: application/sdp. Accept-Encoding: . Accept-Language: en. User-Agent: Lucent-Universal-Gateway. l: 244. . v=0. o=VTX-SIP-TNT01 505428282 505428282 IN IP4 2.2.2.2. s=Session SDP. c=IN IP4 2.2.2.2. t=0 0. m=audio 41788 RTP/AVP 0 101. a=silenceSupp:off. a=ecan:b on g168. a=ptime:20. a=rtpmap:101 telephone-event/8000. a=rtpmap:0 PCMU/8000.
# U 1.1.1.1:5060 -> 2.2.2.2:5060 SIP/2.0 100 trying -- your call is important to us. t: sip:2139435286@voip.somewhere.com:5060;user=phone. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. v: SIP/2.0/UDP 2.2.2.2:5060. Server: OpenSer (1.0.0-tls (i386/linux)). Content-Length: 0. .
# U 1.1.1.1:5060 -> 64.77.236.227:32883 INVITE sip:2139435286@64.77.236.227 SIP/2.0. Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. t: sip:2139435286@voip.somewhere.com:5060;user=phone. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. Remote-Party-Id: sip:2139961998@2.2.2.2:5060;user=phone;screen=no;id-type=subscriber;party=calling;privacy=off. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. Via: SIP/2.0/UDP voip.somewhere.com;branch=z9hG4bK8325.35c96c63.0. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 69. m: sip:2139961998@2.2.2.2:5060;user=phone. k: replaces. c: application/sdp. Accept: application/sdp. Accept-Encoding: . Accept-Language: en. User-Agent: Lucent-Universal-Gateway. l: 244. P-hint: VOIP OUTBOUND. . v=0. o=VTX-SIP-TNT01 505428282 505428282 IN IP4 2.2.2.2. s=Session SDP. c=IN IP4 2.2.2.2. t=0 0. m=audio 41788 RTP/AVP 0 101. a=silenceSupp:off. a=ecan:b on g168. a=ptime:20. a=rtpmap:101 telephone-event/8000. a=rtpmap:0 PCMU/8000.
# U 64.77.236.227:32883 -> 1.1.1.1:5060 SIP/2.0 100 Trying. v: SIP/2.0/UDP voip.somewhere.com;received=1.1.1.1;branch=z9hG4bK8325.35c96c63.0,SIP/2.0/UDP 2.2.2.2:5060. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. t: ""sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. l: 0. Server: SJphone/1.61.306c (SJ Labs). .
# U 64.77.236.227:32883 -> 1.1.1.1:5060 SIP/2.0 200 OK. v: SIP/2.0/UDP voip.somewhere.com;received=1.1.1.1;branch=z9hG4bK8325.35c96c63.0,SIP/2.0/UDP 2.2.2.2:5060. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. t: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. m: sip:2139435286@64.77.236.227. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. l: 217. c: application/sdp. Server: SJphone/1.61.306c (SJ Labs). Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. . v=0. o=- 3345559486 3345559486 IN IP4 64.77.236.227. s=SJphone. c=IN IP4 64.77.236.227. t=0 0. a=setup:active. m=audio 49154 RTP/AVP 0 101. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16.
# U 1.1.1.1:5060 -> 2.2.2.2:5060 SIP/2.0 200 OK. v: SIP/2.0/UDP 2.2.2.2:5060. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. t: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. m: sip:2139435286@64.77.236.227. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. l: 217. c: application/sdp. Server: SJphone/1.61.306c (SJ Labs). Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. . v=0. o=- 3345559486 3345559486 IN IP4 64.77.236.227. s=SJphone. c=IN IP4 64.77.236.227. t=0 0. a=setup:active. m=audio 49154 RTP/AVP 0 101. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16.
# U 2.2.2.2:5060 -> 1.1.1.1:5060 ACK sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on SIP/2.0. t: sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 ACK. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 70. Route: sip:2139435286@64.77.236.227. User-Agent: Lucent-Universal-Gateway. l: 0. .
# U 1.1.1.1:5060 -> 64.77.236.227:5060 ACK sip:2139435286@64.77.236.227 SIP/2.0. Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. t: sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 ACK. Via: SIP/2.0/UDP voip.somewhere.com;branch=0. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 69. User-Agent: Lucent-Universal-Gateway. l: 0. P-hint: rr-enforced. .
# U 64.77.236.227:32883 -> 1.1.1.1:5060 SIP/2.0 200 OK. v: SIP/2.0/UDP voip.somewhere.com;received=1.1.1.1;branch=z9hG4bK8325.35c96c63.0,SIP/2.0/UDP 2.2.2.2:5060. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. t: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. m: sip:2139435286@64.77.236.227. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. l: 217. c: application/sdp. Server: SJphone/1.61.306c (SJ Labs). Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. . v=0. o=- 3345559486 3345559486 IN IP4 64.77.236.227. s=SJphone. c=IN IP4 64.77.236.227. t=0 0. a=setup:active. m=audio 49154 RTP/AVP 0 101. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16.
# U 1.1.1.1:5060 -> 2.2.2.2:5060 SIP/2.0 200 OK. v: SIP/2.0/UDP 2.2.2.2:5060. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. t: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. m: sip:2139435286@64.77.236.227. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 INVITE. l: 217. c: application/sdp. Server: SJphone/1.61.306c (SJ Labs). Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. . v=0. o=- 3345559486 3345559486 IN IP4 64.77.236.227. s=SJphone. c=IN IP4 64.77.236.227. t=0 0. a=setup:active. m=audio 49154 RTP/AVP 0 101. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11,16.
# U 2.2.2.2:5060 -> 1.1.1.1:5060 ACK sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on SIP/2.0. t: sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 ACK. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 70. Route: sip:2139435286@64.77.236.227. User-Agent: Lucent-Universal-Gateway. l: 0. .
# U 1.1.1.1:5060 -> 64.77.236.227:5060 ACK sip:2139435286@64.77.236.227 SIP/2.0. Record-Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. t: sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. f: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 7528304 ACK. Via: SIP/2.0/UDP voip.somewhere.com;branch=0. v: SIP/2.0/UDP 2.2.2.2:5060. Max-Forwards: 69. User-Agent: Lucent-Universal-Gateway. l: 0. P-hint: rr-enforced. .
................<REPEAT OKs and ACKs>........................
# U 64.77.236.227:32883 -> 1.1.1.1:5060 BYE sip:2139961998@2.2.2.2:5060;user=phone SIP/2.0. v: SIP/2.0/UDP 192.168.0.100;rport;branch=z9hG4bKc0a800640000002243beb15e0000571700000028. f: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. t: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 1 BYE. Max-Forwards: 70. User-Agent: SJphone/1.61.306c (SJ Labs). l: 0. Route: sip:2139435286@voip.somewhere.com;ftag=20712b63-1e20393a-83ef4d40;lr=on. .
# U 1.1.1.1:5060 -> 2.2.2.2:5060 BYE sip:2139961998@2.2.2.2:5060;user=phone SIP/2.0. Record-Route: sip:2139961998@voip.somewhere.com;ftag=71451719939;lr=on. Via: SIP/2.0/UDP voip.somewhere.com;branch=z9hG4bK4f59.28705173.0. v: SIP/2.0/UDP 192.168.0.100;received=64.77.236.227;rport=32883;branch=z9hG4bKc0a800640000002243beb15e0000571700000028. f: "Jack Wei"sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. t: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 1 BYE. Max-Forwards: 69. User-Agent: SJphone/1.61.306c (SJ Labs). l: 0. P-hint: NAT traversal. P-hint: rr-enforced. .
# U 2.2.2.2:5060 -> 1.1.1.1:5060 SIP/2.0 200 OK. v: SIP/2.0/UDP voip.somewhere.com;branch=z9hG4bK4f59.28705173.0. v: SIP/2.0/UDP 192.168.0.100;received=64.77.236.227;rport=32883;branch=z9hG4bKc0a800640000002243beb15e0000571700000028. t: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. f: "Jack Wei" sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 1 BYE. Server: Lucent-Universal-Gateway. User-Agent: Lucent-Universal-Gateway. l: 0. .
# U 1.1.1.1:5060 -> 64.77.236.227:32883 SIP/2.0 200 OK. v: SIP/2.0/UDP 192.168.0.100;received=64.77.236.227;rport=32883;branch=z9hG4bKc0a800640000002243beb15e0000571700000028. t: sip:2139961998@2.2.2.2:5060;user=phone;tag=20712b63-1e20393a-83ef4d40. f: "Jack Wei" sip:2139435286@voip.somewhere.com:5060;user=phone;tag=71451719939. i: dfc2b0e2-380-1e20393a@2.2.2.2. CSeq: 1 BYE. Server: Lucent-Universal-Gateway. User-Agent: Lucent-Universal-Gateway. l: 0. .
Jack Wei
__________________________________________ Yahoo! DSL – Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users