Network01.net 討論區索引 H.323, SIP 網路通訊閘道器
[教學篇] 秘技! Vigor2100 VoIP 通話品質提升 | 註冊才能張貼 |
| 討論串 | 最新的先 | 前一主題 | 下一主題 | 底部 |
| 張貼者 | 討論串 |
|---|---|
| Steven Cha | 張貼於: 2008/7/6 15:48 |
管理員 ![]() ![]() 註冊日: 2008/5/1 來自: 張貼數: 1002 |
[教學篇] 秘技! Vigor2100 VoIP 通話品質提升 網路電話現在已經大行其道,一堆Skype電話已像雨後春筍般的冒出,但是SIP網路電話應該還是目企業之大宗,H.323的網路電話就已過時了~ 無奈,就像當初Seednet剛推出Wagaly Talk一樣,用Seednet上網的人都可以正常使用,而用Hinet上網的Wagaly Talk用戶就常常亮紅燈出問題,其實,因為網路電話的使用搶食固網業者的"大餅",所以如果您當地的ISP剛好也同時是固網業者,就有可能發生網路電話不通或通話品質異常差的各種情況。目前這問題台灣好像都已不再發生了,但其實還有很多別的國家或地區會偷偷的做這種事,通常遇到了這樣問題的人也只好自認倒楣,因為就像ISP"特別處理"P2P的封包一樣,沒有ISP會承認確有其事的!然而,上有政策,下有對策,如果了解ISP是如何去封殺或干擾網路電話的封包,也許就會有一絲希望可以打敗ISP的偵測機制。 其實,ISP主要有以下幾種偵測方式: 1. 監控SIP跟RTP所使用的標準TCP/UDP Port,發現有相關封包時幫您"加工"一下,讓你電話能通也聽不清。 2. 監控ISO/OSI Network Model中的第7層封包的內容,偵測VoIP的連線(看header)。 3. 看封包大小密度的形態,網路電話的封包通常都是又多又密的~ 如果有偵測到,可能ISP會幫你降低封包通行的優先權 如果是企業的話,要反制不難,把網路電話的封包利用VPN加密起來,導到總公司或其他不鎖VoIP的地方去"下車",但如果是個人的話,可能就沒有這樣的 VPN資源可用了,所以,以下就以Vigor2100VG為例,分享一下如何反制ISP的"不法行為"或提高一下您通話的語音品質,本次筆者就不介紹如何註冊您的網路電話到您的ITSP(Internet telephony service provider, 網路電話服務提供者)了。 首先,Vigor2100VG(以下簡稱2100),對VoIP的部份做了個陽春的QoS(Quality of Service)保證功能,進入網頁管理介面(Web GUI)後,點一下左邊的VoIP,就會看到QoS了 ![]() 點進去後先打開這個功能"Enable the QoS Control",然後下面輸入您的最高上傳頻寬(不是比較大的那個下載頻寬喔),再按"OK"套用。這一步是為了保證網路電話的流量不會被自己的其他流量所影響到。 ![]() 接下來就要進入比較機車的部份,先點左邊白箭頭處的"Phone Settings",進入後先針對右邊黑框中的RTP部份進行設定,這邊的RTP部分簡單來說就是當雙方開始通話時,語音封包會走的port number。就如上面提到的ISP偵測法則第一條,如果你用標準的port number,那是大家都知道的(因為是統一的標準嘛),如果想要騙騙ISP,可以換個非標準的port(把標準的port number改掉),但其實ISP還是可以偵測的到,所以呢...改成哪一個port開始就成了重點了...古語說的好,"以其人之道還治其人之身",如果熟悉Routing的人都知道BGP這個通訊協定是ISP不可或缺的一個東西,而BGP本身是跑在port 179上,所以這邊RTP就可以改成從port 179開始,到1000或隨便您。(但需注意部份ITSP不支援RTP使用port 10000以下) 雖然說BGP不可能出現在"最後一里",因為ISP不會跟您(end user)交換路由,但實際測試起來是非常有效,通話品質突然會變好~ (這招不是對每家ISP都有效,有些會過濾掉最後一里的BGP等封包) 另外那個RTP TOS基本上是沒用的,你優先權設再高ISP都不理你的~ Symmetric RTP要打勾起來,確保雙方RTP都從port 179開始傳送。 ![]() 接下來的一步是改善通話品質的,先在上圖中點選箭頭處的"1",如果您的頻寬(上、下傳)均有128Kbps或更高,而且ITSP支援的話,可以把語音編碼的方式改成G.711(預設可能是用G.729),這種編碼方式最"不"省頻寬,但是品質最優! ![]() 再來反制ISP偵測法則第三條,就是圖中"Packet Size"的部份,一般網路電話的語音封包都是又小又密,某些ISP就看準了這點"特色"來找出您的網路電話封包(因為用這招不太消耗ISP資源),所以我們就可以反行其道,把每一個語音封包的大小弄大一點,而2100這邊可以設的,就是以多久時間ms(milli-second, 毫秒)來切成一個封包,那當然是時間拉的越長,每個封包的大小就自然會越大了,所以這邊改到最大的60ms (預設為20ms) ![]() 都設好後就可以來驗收一下成果了,筆者目前所在的地方(名字就不說...要低調...以免又被ISP反制回來)用的頻寬是(1M/128K),ITSP為 ipbb,本來用的語音編碼的方式為G.729及20ms的封包大小,通話品質根本是聽不清對方在說甚麼,以2100的VoIP status來檢查發現接收(Rx)的遺失率(Lost)達9成...難怪聽不清,但是只要把VPN設起來將VoIP之流量加密,同樣的設定下通話就非常的清楚,所以...很明顯...是ISP做的好事! 最後經過以上所說的調整後...不用VPN,通話一樣很清晰~ 再以2100的VoIP status來檢查一下接收的遺失率,發現大降為1%~2%上下,這才是王道嘛! (迷之音,學網路就是這樣,養兵千日,用在一時) ![]() 全文完,謝謝收看 ![]() 有問題可以提出來討論一下喔~ |
| pctone | 張貼於: 2008/10/20 2:35 |
會員一級 ![]() ![]() 註冊日: 2008/10/20 來自: 張貼數: 11 |
Re: [教學篇] 秘技! Vigor2100 VoIP 通話品質提升 感謝站長的分享,小弟對於sip是門外漢,只是有些地方不是很明白. 1.RTP port 每家 sip phone or voice gateway 訂的都不見得相同,小弟不確定 ISP 是不是真的會去'抓'(分析) RTP port 來干擾. 2.有的ITSP 只提供G.729 codec, 因G.711太佔頻寬,所以不見得ITSP會提供G.711 codec. 小弟真的很好奇,站長接的是接家ISP,怎麼會去刻意干擾SIP 封包.其實傷害最大的反而是P2P之類的. |
| Steven Cha | 張貼於: 2008/10/20 11:24 |
管理員 ![]() ![]() 註冊日: 2008/5/1 來自: 張貼數: 1002 |
Re: [教學篇] 秘技! Vigor2100 VoIP 通話品質提升 台灣已經沒有ISP會去擋任何的SIP通訊,但是在大陸某些城市或地方...這個干擾就擋的很兇~ 而我在寫這篇文章的時間,剛好在澳門,澳門是只有CTM一家ISP,他跟我們的Hinet差不多,全澳的電路也都他的~ 當然,如果在澳門的用家都使用Skype或SIP Phone打國際電話,那他的國際電話業務必定會大受影響~ 所以... 至於您的問題... 1.RTP port 每家 sip phone or voice gateway 訂的都不見得相同,小弟不確定 ISP 是不是真的會去'抓'(分析) RTP port 來干擾. >>>因為SIP會把接下來用哪個RTP port去傳聲音寫在SIP的封包,而SIP是通用protocal,每家好像都是用TCP 5060 port. 所以ISP想抓也很簡單~ 2.有的ITSP 只提供G.729 codec, 因G.711太佔頻寬,所以不見得ITSP會提供G.711 codec. >>>這是沒錯, 我本身用過好幾家國內外的ITSP,倒是還沒遇到不支援G.711的ITSP。不過應該像你說的~ 的確會有ITSP不支援G.711 |
| wujiwu | 張貼於: 2010/6/22 8:42 |
會員一級 ![]() ![]() 註冊日: 2010/6/22 來自: 張貼數: 1 |
Re: [教學篇] 秘技! Vigor2100 VoIP 通話品質提升 非常不错的介绍。 大陆这里,确实部分地区封网了电话。 我家现在都用网络电话,这边暂时没封。(可能检测不出) |
| 討論串 | 最新的先 | 前一主題 | 下一主題 | 頂部 |
| 註冊才能張貼 | |













