成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于SIP服務器問題的探討

網絡 網絡管理
這里我們就來對SIP服務器的一些相關問題進行一下探討。那么我們主要針對的是穿越問題的分析和處理。望對大家有所參考。

對于SIP協議來說,可能有些朋友比較熟悉。在這方面,最突出的就是VoIP業務了。在VoIP業務中,常會涉及到SIP協議和SIP服務器等相關內容。下面我們就來具體看看SIP服務器當中的穿越問題吧。

1. SIP服務器問題描述

大多數傳統的voip協議(SIP、h323…)在設計之初都沒有充分考慮NAT穿越問題,它們只關注怎樣傳輸呼叫信號(連線、拆線…)和應用RTP(實時傳輸協議)傳輸聲音信息。

呼叫信號通常應用固定的或標準的端口,而RTP 卻應用任意端口收發聲音信息。

大多數防火墻/NATs沒有能力將呼叫信號協議包和聲音信息包捆綁在一起,同時它們也不能識別聲音將向哪里發送。

這樣,在呼叫者發起呼叫時,雖然呼叫可以順利獲得通過,響起振鈴,被叫者也可以選擇拾起或者掛斷這個電話,但是,線路上會出現一方或雙方都沒有聲音的現象。

2. NATs 和防火墻

在下面幾種情況下,UDP 可能會受到NAT 或者防火墻影響:

2.1 全錐型NAT:

全錐型NAT是指所有來自同一個內部IP地址和端口的請求都被指向同一個外部IP地址和端口,而且,任何外部主機都可以通過發送信息包到這個被指向的外部地址,向內部主機發送信息包。

2.2 限制錐型NAT:

限制錐型NAT是指所有來自同一個內部IP地址和端口的請求都被指向同一個外部IP地址和端口,與全錐型NAT不同的是,只有在一個內部主機先向IP地址XXXX發送信息包后,IP地址是XXXX的外部主機才可以向這個內部主機發送信息。

2.3 端口限制錐型NAT:

端口限制錐型NAT與限制錐型NAT相像,只是限制范圍包括端口號碼。

具體說,只有在一個內部主機先向IP地址XXXX和端口PPPP發送信息包后,外部主機才可以通過IP地址是XXXX和端口PPPP發送信息包。

2.4 對稱型NAT:

對稱型NAT是指所有來自同一個內部IP地址和端口的請求,發送到特定目標IP地址和端口時,被指向同一個外部IP地址和端口。如果相同的主機通過相同的IP地址和端口向不同的目標發送信息包,指向也有所不同,而且,只有接收到信息包的外部主機才可以回復UDP信息包給內部主機。

您屬于以上哪種呢?您可以通過應用一個stun客戶端軟件來查看:

例如:http://sourceforge.net/projects/stun/#p#

3. SIP服務器問題詳解

3.1 MVB2000作為一個NAT外部的SIP服務器,客戶端在NAT內部。

(1) 呼叫來自NAT后面,MVB2000發送聲音到一個私網IP

SIP服務器呼叫流程1

如果這個VOIP電話沒有應用STUN或其它方式檢測它的公網IP(=NAT防火墻上的公網IP),而是直接嵌入私網IP地址到邀請消息,那么MVB2000將不斷向這個私網IP發送RTP信息包,而這些信息包會被路由器截獲并刪除,導致單方向說話。

(呼叫者聽不到聲音)

這通常是在用戶不去關心NAT設備怎樣應用,將nat=never、nat=no或者nat=rfc3581寫入sip.conf時所發生的情況。

(2) 呼叫來自NAT后面,MVB2000發送聲音到錯誤端口

SIP服務器呼叫流程2

如果電話可以檢測到它的公網IP, 并且正確地置入SIP服務器的邀請字頭,MVB2000就會知道向哪個IP地址發送RTP了。

但是,假設應用的是一個錐型防火墻,NAT設備發送RTP到MVB2000的端口不一定與最初的RTP端口相同,這樣,MVB2000將發送信息包到最初的端口,NAT設備不會知道信息包去哪里而將其截獲刪除。

用戶可以將nat=route或者nat=yes 寫入sip.conf解決這個問題。

如果NAT后面僅僅有一部電話,您也可以查看一下這部電話使用RTP端口的范圍,然后在防火墻上應用端口轉移,將公網IP指向內網。

如果NAT后面有多部電話,您可以為每一部電話設定一個非重疊的RTP端口范圍,這樣,應用端口轉移指向每一部與RTP端口范圍相符的電話。

和應用一個STUN服務器(如果電話有STUN支持)一樣,應用對稱型NAT也將解決這個問題。

(3) 呼叫來自NAT外部的MVB2000服務器,應用全錐型NAT設備

沒有SIP服務器的電話注冊到MVB2000或sip.conf 里面的NAT設備IP,這樣,MVB2000不會知道到哪里去查找這部電話,呼叫將被拒絕通過。

(對于所有的NAT設備都是一樣的)

SIP服務器呼叫流程3

如果sip.conf 里面host=123.123.123.123 或者電話注冊到MVB2000了,MVB2000將能夠發送呼叫信號和RTP聲音包到NAT設備,然后轉移到這部電話。

SIP服務器呼叫流程4

如果電話有STUN支持,它可以打開NAT設備上的封裝信息,應用IP和SDP域中SIP服務器的消息里面的端口(1個對應呼叫信號的端口、1個對應RTP的端口和1個對應RTCP的端口)

STUN也同時維護這個封裝信息使之處于存活狀態(檢測NAT超時和發送保持存活的封裝信息)。

如果電話沒有STUN支持,您需要注冊這部電話到服務器上,讓MVB2000發送保持存活的信息(the qualify= line),確認MVB2000發送的信息比您的NAT設備超時更快。

沒有STUN支持,您也需要設置NAT=yes或者NAT=route,在MVB2000服務器接收那部NAT電話聲音之前,您將不能聽到呼入的聲音。

(4) 呼叫來自NAT外部的MVB2000服務器,應用限制錐型NAT設備

與上面所講相同,只有被叫電話首先發出信息到NAT設備,NAT設備才可以將MVB2000來電呼叫的聲音包發送到那個電話上。

SIP服務器呼叫流程5

您可以通過讓電話發送一個注冊信息,或者空SIP服務器的消息(如果您的電話支持STUN)到MVB2000服務器,打開封裝信息來實現。

如果應用STUN,那么這部電話將會知道它被指向的端口和SDP信息(STUN將不必為了做封裝信息而發送RTP到您的MVB2000服務器上,只在STUN服務器上操作即可)。

如果沒有STUN支持,您將需要設置NAT=yes或者NAT=route,并且在MVB2000服務器沒有收到來自電話的聲音包之前,您將聽不到聲音。

注意:如果沒有STUN支持,那么注冊地址和代理服務器地址必須是同一個IP地址,(如果您僅僅應用MVB2000服務器沒有其余的組件如SER 就不存在這個問題)。

(5) 呼叫來自NAT外部的MVB2000服務器,應用端口限制錐型NAT設備

SIP服務器呼叫流程6

即使我們注冊這部電話到MVB2000服務器,MVB2000服務器也不能發送任何聲音包到這部電話上,除非這部電話首先發送聲音包到MVB2000上,而且必須采用NAT設備上的5060端口。

如果您的電話支持STUN,這部電話將發送一個空SIP服務器的消息到您的MVB2000服務器上,以便打開封裝信息,像任何發送到MVB2000服務器上的RTP信息包可以打開RTP封裝信息一樣。

如果應用STUN,那么這部電話將會知道它被指向的端口和SDP信息(STUN將不必為了做封裝信息而發送RTP到您的MVB2000服務器上,只在STUN服務器上操作即可)。

如果沒有STUN支持,您將需要設置NAT=yes或者NAT=route,并且在MVB2000服務器沒有收到來自電話的聲音包之前,您將聽不到聲音。

3.2 MVB2000作為SIP服務器在NAT外部,與NAT外部的SIP代理服務器或客戶端相聯。

不用地址轉換,不存在問題

3.3 MVB2000作為SIP客戶端在NAT外部,與NAT外部的SIP代理服務器或電話相聯。

不用地址轉換,不存在問題

3.4 MVB2000作為SIP客戶端在NAT外部,與NAT內部的SIP代理服務器相聯。

您需要將端口轉移到NAT上的信號端口,同時轉移RTP端口(如果代理服務器也負責RTP端口)

這個問題與第一個問題相識。

3.5 MVB2000作為SIP服務器在NAT內部,與NAT內部的SIP代理服務器或客戶端相聯。

不用地址轉換,不存在問題

3.6 MVB2000作為SIP服務器在NAT內部,與NAT外部的客戶端相聯。

您需要將MVB2000應用到的所有RTP端口(在RTP.conf中定義)轉移到NAT上,同樣,也要做SIP信號端口(sip.conf中有端口選項)轉移

您也可以在sip.conf 上配置externip和localnet 選項。

3.7 MVB2000作為SIP客戶端在NAT內部,與NAT外部的SIP代理服務器/電話/網關相聯。

能不能工作依賴于對方的電話/網關(您必須使用externip和localnet 選項)

3.8 MVB2000作為SIP客戶端在NAT內部,與NAT內部的SIP代理服務器/電話/網關相聯。

不用地址轉換,不存在問題

3.9 MVB2000在NAT內部,電話/網關在另一個NAT內部

針對這種情況,我們需要一個中間人來相互辨認對方,它應該是一個局外的SIP代理服務器,由它來負責SIP服務器的傳輸,而且所有的終端都能與它建立聯接。如果希望點對點傳輸多媒體信息流,那么,我們需要另外一個多媒體服務器。

可以采用的解決多媒體服務器辦法有:

◆Portaone's RTPProxy(適合對稱型NAT,需要SER組件支持)

◆AG Projects MediaProxy(適合對稱型NAT,需要SER組件支持)

◆在NAT外設置兩個MVB2000(通過配置適合所有NAT類型,非對稱型NATs需要設置NAT=route)

當MVB2000處于NAT內部時,如果您想應用對稱型NAT,您需要了解sip.conf里面的 externip和localnet。

責任編輯:佟健 來源: IT實驗室
相關推薦

2018-11-27 09:12:32

KamailioSBCSIP服務器

2010-09-17 10:07:17

SIP協議SIP代理服務器

2009-11-11 11:27:13

虛擬路由器

2009-11-25 10:45:22

無線路由器

2009-02-27 17:16:00

刀片服務器服務器

2018-05-11 10:31:41

2009-02-12 15:08:00

2010-08-25 17:55:03

DHCP服務器

2021-08-26 15:27:29

數據庫服務器數據庫服務器

2010-07-19 18:03:07

Telnet服務器

2010-08-25 21:25:41

DHCP服務器

2010-05-20 13:48:17

IIS服務器

2015-07-23 13:10:38

服務器虛擬化

2018-05-08 09:30:48

服務器虛擬化

2017-12-06 08:37:11

服務器硬件策略

2009-11-24 16:47:29

路由器基礎配置

2018-12-07 08:38:49

代理服務器Web服務器通信

2010-08-23 17:47:33

DHCP服務器

2020-03-06 15:11:21

進程線程Web

2010-08-18 09:20:30

虛擬路由器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美美女高清毛片视频免费观看 | 伊人伊成久久人综合网站 | 91色视频在线观看 | 国产视频二区在线观看 | 亚洲精品在线视频 | 日韩在线免费观看视频 | av黄色片在线观看 | 欧美jizzhd精品欧美巨大免费 | 欧美精品欧美精品系列 | h视频在线观看免费 | 精精国产xxxx视频在线播放 | 国产成都精品91一区二区三 | 草草草草视频 | 国产福利91精品一区二区三区 | 国产精品久久777777 | 亚洲精品乱码久久久久久久久 | 国产免费一区二区三区 | 亚洲一区二区三区免费在线观看 | 毛片网站在线观看视频 | 国产精品一区二区三区久久 | 日本精品一区二区三区视频 | 中文字幕不卡在线88 | 综合精品在线 | 免费看黄色视屏 | 国产小视频在线 | 黄色免费网址大全 | 网色 | 色欧美综合 | 中文字幕一区二区三区在线观看 | 国产精品成人一区二区三区 | 在线视频一区二区 | 久久久久久国产精品免费免费 | 日本精品久久久久 | 色性av| 日日骑| 综合久久综合久久 | 亚洲精品一区二区网址 | 国产一区不卡 | 久久99视频这里只有精品 | 在线日韩 | 日韩视频一区二区在线 |