- REGISTER sip: 124.40 . 120.188 : 5060 SIP / 2.0
- Via: SIP/ 2.0 / UDP 124.42 . 4.203 : 15500 ;branch = z9hG4bK - d8754z -1049ed261d2e643d - 1 --- d8754z -;rport
- Max - Forwards: 70
- Contact: < sip: 19988888888 @ 192.168 . 2.65 : 12344 ;rinstance =7cd1c532e92fdb0e > ;expires =
- To: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 >
- From: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 >;tag =203ba359
- Call -ID: Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U.
- CSeq: 1 REGISTER
- Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
- User - Agent: eyeBeam release 1105a stamp 56793
- Content- Length:
2. 发送到的服务器支持rport机制,它看到请求中的rport后,将通过分析UDP包信息得到的的NAT的公网地址(124.42.4.203)和端口信息(15500)分别作为received和rport属性带给客户端:
- SIP / 2.0 200 OK
- Via: SIP / 2.0 / UDP 124.42 . 4.203 : 15500 ;branch = z9hG4bK - d8754z -1049ed261d2e643d - 1 --- d8754z - ;rport = 15500 ;received = 124.42. 4.203
- From: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 >;tag = 203ba359
- To: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 > ;tag= 0005 - 058 - 7d6dc90516ae2e21
- Call - ID: Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U.
- CSeq: 4 REGISTER
- Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY,MESSAGE
- Contact: < sip: 124.40 . 120.188 : 5060 >
- Content - Length:
3. 客户端在得到响应信息后,知道了所使用的公网地址和端口,在之后定期重发的REGISTER信息中,Contact变换成124.42.4.203: 15500,例如新发的REGISTER信息变为:
- REGISTER sip: 124.40 . 120.188 : 5060 SIP / 2.0
- Via: SIP / 2.0 / UDP 124.42 . 4.203 : 15500 ;branch = z9hG4bK - d8754z -1049ed261d2e643d - 1 --- d8754z - ;rport
- Max - Forwards: 70
- Contact: < sip: 19988888888 @ 124.42 . 4.203 : 15500 ;rinstance =7cd1c532e92fdb0e > ;expires =
- To: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 >
- From: " 19988888888 " < sip: 19988888888 @ 124.40 . 120.188 : 5060 >;tag = 203ba359
- Call - ID: Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U.
- CSeq: 2 REGISTER
- Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
- User - Agent: eyeBeam release 1105a stamp 56793
- Content - Length:
这样IPPBX(或者SIP Proxy)知道了怎么将消息,发送给放在Nat后面的SIP终端,实现了NAT穿透。
备注:
- 若使用freeswitch服务器,rport机制没有生效时,看下freeswithc的sip profile里面的NDLB-force-rport参数,设为 NDLB-force-rport=safe , 重启该profile 生效
- 若是分机的contact地址是私网的,导致无法送呼叫到分机,