Skip to content

VoIP 網路品質 (QoS)

VoIP 通話好不好,說到底看底層 IP 網路的表現。傳統 PSTN 是電路交換、頻寬獨佔;IP 網路則是封包交換、頻寬共享,語音封包得跟其他資料流量搶資源。QoS(Quality of Service)做的事,就是讓語音優先通行,把通話品質維持在可接受的水準。

影響通話品質的三大因子

延遲(Latency)

延遲是語音封包從發送端到接收端所需的時間,也稱為端對端延遲(End-to-End Delay)。

延遲的組成:

延遲來源典型值說明
編碼延遲0-40 msCodec 演算法延遲(G.711: 0.125ms, G.729: 15ms)
封包化延遲20 ms收集一個封包的語音取樣(通常 20ms)
序列化延遲< 1 ms將封包放上線路的時間
傳播延遲1-50 ms訊號在介質中傳播的時間(光纖約 5ms/1000km)
交換/路由延遲1-10 ms每個網路設備的處理時間
Jitter Buffer 延遲20-100 ms抖動緩衝器的等待時間
解碼延遲0-40 msCodec 解碼時間

延遲等級與使用者感受:

單向延遲品質等級使用者感受
< 150 ms優秀自然對話,無感知延遲
150-250 ms可接受輕微延遲,不影響對話
250-400 ms不佳明顯延遲,對話節奏受影響
> 400 ms不可接受嚴重延遲,難以正常對話

這裡有個公認的基準:ITU-T G.114 建議單向端對端延遲不要超過 150ms。客服中心的麻煩在於,一通話常要經過好幾個設備(SBC、媒體伺服器、錄音分流),每多一個媒體處理節點就多一點延遲,所以架構設計時要把延遲預算算進去。

抖動(Jitter)

抖動是封包到達間隔的變異量。理想情況下,每 20ms 發送一個封包,接收端也應每 20ms 收到一個,但實際上到達間隔會有波動。

抖動的來源:

來源說明
網路壅塞佇列等待時間不固定
路由變化不同封包走不同路徑
封包重排序先發的封包後到
設備處理差異負載變化導致處理時間不一

抖動等級:

抖動值品質等級說明
< 20 ms優秀Jitter Buffer 可輕鬆處理
20-50 ms可接受需要適當的 Jitter Buffer
50-100 ms不佳需要較大的 Jitter Buffer,增加延遲
> 100 ms不可接受即使有 Jitter Buffer 也難以維持品質

封包遺失(Packet Loss)

封包遺失是指在傳輸過程中消失、損壞或延遲太久而被丟棄的封包比例。

丟包的影響:

語音通話對丟包非常敏感。連續丟失的封包比隨機分散的丟包影響更大,因為 Codec 的封包遺失隱藏(PLC, Packet Loss Concealment)機制在連續丟包時效果較差。

丟包率品質等級說明
< 1%優秀幾乎無感知影響
1-3%可接受PLC 機制可補償
3-5%不佳語音出現斷續
> 5%不可接受嚴重影響通話品質

同樣是 3% 丟包,突發性的比隨機的難搞很多。3% 隨機丟包(每 33 個封包丟 1 個)對語音影響不大;但 3% 的突發性丟包(連續丟一串再恢復)就明顯得多。突發性丟包通常來自網路壅塞或設備緩衝區溢出,而 PLC 機制對「連續丟好幾個」幾乎補不回來。

QoS 設定

DSCP/ToS 標記

DSCP(Differentiated Services Code Point)用於標記 IP 封包的優先級,讓網路設備根據標記進行差異化處理。

VoIP 建議 DSCP 標記:

流量類型DSCP 值PHB說明
語音媒體(RTP)46EF(Expedited Forwarding)最高優先級,低延遲轉發
語音信令(SIP)24CS3次高優先級
視訊媒體34AF41高優先級
視訊信令24CS3與語音信令同級
一般資料0BE(Best Effort)預設,無優先處理

頻寬保留

在 WAN 連線上為語音流量保留固定頻寬:

方法說明
LLQ(Low Latency Queuing)為語音流量提供嚴格優先佇列
CBWFQ(Class-Based WFQ)為不同流量類別分配頻寬比例
Traffic Shaping平滑輸出流量,避免突發
Traffic Policing限制超出配額的流量

QoS 設計原則

  1. 端對端一致性:所有經過的網路設備都需正確識別和處理 DSCP 標記
  2. 信任邊界:在網路入口處(交換器埠或 SBC)設定信任點,重新標記流量
  3. 語音 VLAN 分離:語音流量使用獨立 VLAN,便於 QoS 策略套用
  4. CAC(Call Admission Control):當頻寬不足時拒絕新通話,而非降低現有通話品質

實務上建議把 IP 話機獨立放在語音 VLAN(Voice VLAN)裡。多數交換器都支援這功能,話機能透過 LLDP-MED 或 CDP 自動拿到 VLAN 設定,而語音 VLAN 裡的流量會自動吃到較高的 802.1p 優先級。

MOS 分數等級

MOS 概述

MOS(Mean Opinion Score)是 ITU-T P.800 定義的語音品質評分標準,分數範圍 1.0-5.0。

MOS 分數品質等級使用者感受
4.3-5.0優秀(Excellent)高品質,可與 PSTN 媲美
4.0-4.3良好(Good)可清楚聽到,品質令人滿意
3.6-4.0尚可(Fair)品質可接受,偶有瑕疵
3.1-3.6不佳(Poor)品質不佳但可溝通
1.0-3.1差(Bad)無法正常通話

各 Codec 的 MOS 基準值

Codec理想環境 MOS1% 丟包 MOS3% 丟包 MOS
G.7114.13.93.6
G.7293.923.73.3
G.7224.54.34.0
Opus (16kbps)4.24.03.7

R-Factor(E-Model)

R-Factor 是 ITU-T G.107 定義的客觀語音品質評估模型,考慮延遲、丟包、Codec 等因素,分數範圍 0-100。

R-Factor 計算公式(簡化):

R = R0 - Is - Id - Ie + A
參數說明
R0基礎訊噪比(通常 93.2)
Is同步損傷(量化噪音等)
Id延遲損傷(隨延遲增加)
Ie設備損傷(Codec 壓縮損失 + 丟包影響)
A期望優勢因子(行動用戶容忍度較高)

R-Factor 與 MOS 的對應:

R-FactorMOS品質等級
90-1004.34-4.50優秀
80-904.03-4.34良好
70-803.60-4.03尚可
60-703.10-3.60不佳
< 60< 3.10

網路品質測試工具與方法

主動測試工具

工具類型功能說明
iperf3開源測量頻寬、抖動、丟包率
SIPVicious開源SIP 安全與效能測試
StarTrinity SIP Tester免費SIP 壓力測試 + MOS 評估
SIPp開源SIP 流量產生器
Wireshark開源封包分析 + RTP 串流品質

被動監測方法

方法說明
RTCP 監測收集 RTCP RR/XR 中的品質指標
SIP 品質標頭部分設備在 BYE 中附帶品質資訊
CDR 分析從通話紀錄中分析通話時長異常
SNMP 監控監控網路設備的介面使用率和錯誤率

Wireshark 在這裡特別好用:Telephony > RTP > RTP Streams 會把所有 RTP 串流列出來,選一條 Analyze,就能看到每個封包的 Jitter、Delta(封包間隔)、Lost,還能匯出成 CSV 再細看。

品質改善策略

網路層改善

策略說明
語音 VLAN 分離避免資料流量衝擊語音品質
DSCP 標記 + LLQ語音封包優先處理
冗餘路徑主備鏈路自動切換
頻寬升級當利用率持續偏高時

設備層改善

策略說明
Adaptive Jitter Buffer動態調整緩衝深度
PLC(Packet Loss Concealment)遺失封包的語音插值補償
迴音消除器調校減少回音對品質的影響
Codec 選擇優化根據網路狀況選擇合適的 Codec

架構層改善

策略說明
減少媒體跳數盡量讓 RTP 直連,減少錨定點
就近接入SBC/媒體伺服器部署在靠近用戶端的位置
CAC 機制避免超載導致所有通話品質下降
監控告警品質劣化時即時通知處理

承暉資訊資源中心