售前電話
135-3656-7657
售前電話 : 135-3656-7657
1.動(dòng)態(tài)NAT穿透原理
(1)以鼎信通達(dá)DAG語音網(wǎng)關(guān)為例,設(shè)備上開啟動(dòng)態(tài)NAT功能后,通過頭里會(huì)攜帶的端口發(fā)出獲取請求消息,如下
發(fā)送REGISTER消息,在請求信息的Via頭域中包含了沒有值的rport參數(shù),如下所示:
注冊SIP:124.40。120.188:5060 SIP / 2.0
通過:SIP / 2.0 / UDP 124.42。4.203:15500;分支= z9hG4bK-d8754z -1049ed261d2e643d-1 --- d8754z-;運(yùn)動(dòng)
最高-前鋒:70
聯(lián)系人:<sip:19988888888 @ 192.168。2.65:12344; rinstance = 7cd1c532e92fdb0e>; expires =
至:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>
來自:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>;標(biāo)簽= 203ba359
呼叫-ID:Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U。
CSeq:1個(gè)寄存器
允許:邀請,確認(rèn),取消,選項(xiàng),再見,引用,通知,消息,訂閱,信息
用戶-代理:eyeBeam發(fā)行1105a郵票56793
內(nèi)容長度:
?。?)公網(wǎng)服務(wù)器收到請求消息后,將進(jìn)行分析檢測源SIP消息的NAT地址和端口,并會(huì)在響應(yīng)SIP報(bào)文里使用,并通過端口傳送給客戶端,如示例中的獲取到的NAT的公網(wǎng)地址(124.42.4.203)和端口(15500):
SIP / 2.0 200確定
通過:SIP / 2.0 / UDP 124.42。4.203:15500;分支= z9hG4bK-d8754z -1049ed261d2e643d-1 --- d8754z-; port = 15500;接收= 124.42。4.203
來自:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>;標(biāo)簽= 203ba359
至:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>;標(biāo)簽= 0005-058-7d6dc90516ae2e21
通話-ID:Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U。
CSeq:4個(gè)寄存器
允許:邀請,確認(rèn),選項(xiàng),再見,取消,注冊,信息,更新,包,引用,訂閱,通知,消息
聯(lián)系人:<sip:124.40。120.188:5060>
內(nèi)容-長度:
?。?)設(shè)備在收到響應(yīng)200OK信息后,從移動(dòng)和接收到的分段里獲取NAT公網(wǎng)地址和端口,設(shè)備之后發(fā)SIP消息時(shí)會(huì)更改為路由器公網(wǎng)的IP和端口。如以下,聯(lián)系攜帶變換成124.42.4.203:15500,例如新發(fā)的REGISTER信息轉(zhuǎn)化為:
注冊Sip:124.40。120.188:5060 SIP / 2.0
通過:SIP / 2.0 / UDP 124.42。4.203:15500;分支= z9hG4bK-d8754z -1049ed261d2e643d-1 --- d8754z-;運(yùn)動(dòng)
最高-前鋒:70
聯(lián)系人:<sip:19988888888 @ 124.42。4.203:15500;電量= 7cd1c532e92fdb0e>;到期時(shí)間=
至:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>
來自:“ 19988888888” <sip:19988888888 @ 124.40。120.188:5060>;標(biāo)簽= 203ba359
通話-ID:Yzc4N2IwMzY5OWU4MTdkMzY0NWY4OWU3NjMzNmJiM2U。
CSeq:2個(gè)寄存器
允許:邀請,確認(rèn),取消,選項(xiàng),再見,引用,通知,消息,訂閱,信息
用戶-代理:eyeBeam發(fā)行1105a郵票56793
內(nèi)容-長度:
這樣IPPBX(或SIP代理)就會(huì)把SIP報(bào)文發(fā)往NAT公網(wǎng)地址和端口,實(shí)現(xiàn)NAT穿透。
2. STUN穿透原理
UDP在NAT上的簡單遍歷,即NAT的UDP的簡單穿越,是服務(wù)器-服務(wù)器的一種網(wǎng)絡(luò)協(xié)議,由RFC 3489定義。該協(xié)議定義了一些消息格式,大體上分為請求/響應(yīng)。幫助位于NAT后的客戶端獲取自己的公網(wǎng)地址以及NAT為該客戶端的本地端口所綁定的對(duì)外端口。
利用STUN技術(shù)實(shí)現(xiàn)NAT擴(kuò)展,首先需要構(gòu)建一個(gè)STUN服務(wù)器(也可以找免費(fèi)的STUN服務(wù)器),然后在設(shè)備上配置STUNserver地址即可。
STUN實(shí)現(xiàn)突破流程:
?。?)開啟STUN后,設(shè)備作為客戶端,會(huì)自動(dòng)使用SIP端口和不同的RTP端口往STUN服務(wù)器發(fā)STUN探測消息;
?。?)服務(wù)器收到后會(huì)在響應(yīng)消息里攜帶設(shè)備所在網(wǎng)絡(luò)的NAT地址和端口;
?。?)路由器會(huì)記錄保持對(duì)應(yīng)的NAT地址表
(4)設(shè)備收到STUN服務(wù)器響應(yīng)消息后自動(dòng)記錄NAT公網(wǎng)IP和端口;
?。?)設(shè)備發(fā)起的SIP報(bào)文里contactheader和SDP分段會(huì)自動(dòng)攜帶公網(wǎng)地址;
(6)設(shè)備會(huì)定時(shí)刷新STUN報(bào)文,用于NAT洞保持打開狀態(tài)。