本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文件說明如何使用 Cisco Voice Manager 和 Telemate,來管理 VoIP 網路中的語音品質。所有內容皆以實際的 IP 電話技術實作情形為依據。本文件著重在產品的應用方式,而非產品的使用說明。您應熟悉 CVM 和 Telemate,且可存取必要的產品說明文件。查看「相關資訊」,即可找到相關說明文件的清單。
管理大規模VoIP網路時,您必須擁有必要的工具來客觀地監控和報告網路中的語音品質。單純依靠使用者反饋是不可行的,因為它是主觀的,是不完整的。CVM與Telemate一起可以提供部分功能。它使用IOS網關為每次呼叫計算的減值/計算減值計畫因子(Icpif)報告語音品質。這樣,網路管理員就可以識別出語音品質較差的站點並正確處理它們。
確定有問題的站點後,可能需要其他工具來排除可能的網路QoS問題。兩種工具是Internetwork Performance Monitor(IPM)和Cisco Service Assurance Agent(CSAA)。 這些主題將在我們網站上發佈的其它文檔中討論。
本文檔的讀者應瞭解以下主題:
Cisco Voice Manager和Telemate
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
以下各節概述了語音品質問題:
ITU標準G.113規定了如何測量語音品質。此方法規定您可以通過計算Icpif來確定語音呼叫的品質。基於IOS的網關計算每個呼叫的Icpif值,並將其記錄為CDR記錄的一部分。此外,如果呼叫的Icpif值超過預設值,它可以通過SNMP傳送語音品質(QoV)陷阱。這意味著網關具有內建的語音品質測量功能。只需要收集這些測量值並分析資料,以確定任何趨勢。
VoIP語音品質主要受網路QoS的影響。因此,呼叫分析將側重於逐個站點確定語音品質問題。如果可以識別具有大量語音品質較差的呼叫的站點,則可以集中處理進出這些站點的網路路徑中的任何QoS問題。
以下部分僅作簡要概述;有關詳細資訊,請參閱G.113標準。
G.113背後的總體思想是計算沿語音路徑的每個裝置的損壞係數,然後將其相加得到總損壞係數。損害有不同的型別(雜訊、延遲、回聲等),國際電聯將它們分為五類。將它們相加,得出總損壞值:
Itot = Io + Iq + Idte + Idd + Ie
這些術語的定義如下(使用ITU術語):
Io — 由非最佳總響度和/或高電路雜訊引起的損傷。
Iq — 由PCM型別量化失真造成的損傷。
Idte — 通話人回聲造成的損傷。
Idd — 由於長單向傳輸時間(延遲)導致的語音通訊困難。
Ie — 特殊裝置,尤其是非波形低位元率編解碼器造成的損壞。
Cisco IOS軟體計算Itot時,會忽略Io和Iq,並將Idte設置為0。Idd值源自下表,該表來自G.113:
延遲 | Idd |
---|---|
150 | 0 |
200 | 3 |
250 | 10 |
300 | 15 |
400 | 25 |
500 | 30 |
600 | 35 |
800 | 40 |
通常Ie是一個固定值,僅取決於編解碼器型別。G.113指定思科網關通常使用的編解碼器的值,如下表所示:
代碼 | Ie |
---|---|
G.711 | 0 |
G.729/G.729a | 10 |
但是,由於這些編解碼器用於資料包語音環境,因此實際損害取決於資料包丟失。封包遺失量越高,耗損程度越高。思科工程部門使用PSQM(ITU P.861)以離散資料包丟失級別測量語音品質。下表顯示指定編解碼器相對於資料包丟失級別的語音失真值:
資料包丟失% | G.711 | G.729/G.729a |
---|---|---|
0 | 0 | 10 |
1 | 8 | 15 |
2 | 12 | 20 |
3 | 18 | 25 |
4 | 22 | 30 |
5 | 26 | 34 |
6 | 28 | 38 |
7 | 30 | 40 |
8 | 32 | 42 |
9 | 34 | 44 |
正如預期的那樣,G.729比G.711更易受到資料包丟失的影響。
語音品質完全取決於人類的感知和期望。手機使用者的服務水準期望值低於固話使用者。在計算Icpif(通過將Itot減為人體期望因子A)時,我們考慮了這一點。公式為:
Icpif = Itot - A
G.113還為典型語音網路提供期望因素。請參閱下表:
語音網路存取方法 | 預期因素A |
---|---|
傳統固定線路PSTN | 0 |
區域無線(無繩電話) | 5 |
廣域無線(手機) | 10 |
衛星 | 20 |
G.113還有一個在Icpif值和語音品質之間對映的表。如下表所示:
語音網路存取方法 | 預期因素A |
---|---|
5 | 非常好 |
10 | 好 |
20 | 足夠 |
30 | 限制用例 |
45 | 特殊限制情況 |
55 | 使用者可能會強烈抱怨 |
呼叫的Icpif值為零是一個完全得分。這應該是我們VoIP網路的目標。
在傳統的語音網路中,設計人員會計算總損失預算。
例如,Io = 0;Iq = 0;Idte = 0;Idd = 3;Ie = 7,表示Itot = 10。
如果使用者從無繩電話訪問網路,則可減去的最大期望因子為5,因此最終結果是:
Icpif = Itot - A = 10 - 5 = 5
根據上表,使用者可能認為語音品質非常好。
本文討論使用Icpif值監控語音品質,而不是將其用於規劃目的的解決方案。
以下各節討論如何使用CVM和Telemate管理語音品質:
儘管建議的解決方案確實存在一些限制,但似乎沒有其他可用的可擴展工具。已知限制包括:
只有通過網關的呼叫需要品質控制。不能測量從IPhone到IPhone的呼叫。網關看不到這些呼叫,且CallManager當前不支援G.113。
Icpif計算僅考慮資料包丟失和延遲。Icpif計算中不包括回應。因此,呼叫可能會出現嚴重迴音,但仍會獲得完美的Icpif得分。
語音品質只在IP電話到網關方向進行測量。封包語音網路中的Icpif值很可能在兩個方向上不對稱。網關到IPhone方向的任何單向網路QoS問題都不會反映在網關計算的Icpif值中。
在WAN中,語音品質問題通常更為嚴重。所討論的解決方案最適合具有集中式網關的環境,因為遠端站點的IP電話必須通過WAN訪問網關。如果網關是分散式的(即每個遠端站點都由本地網關提供服務),則大多數網關呼叫不會通過WAN。通過WAN的VoIP呼叫主要是IP電話到IP電話,這些呼叫對網關不可見。
作為推薦解決方案的一部分,需要為所有網關配置CDR收集:
dial-control-mib max-size <max-number-of-cdr> dial-control-mib retain-timer 600
所有網關還必須啟用QoV陷阱功能。此功能預設會停用:
Calibra#show dial-peer voice 99 | include QOV|Icpif Expect factor = 0, Icpif = 20, VAD = enabled, Poor QOV Trap = disabled,
通過新增以下內容,在每個VoIP撥號對等體上啟用此功能:
dial-peer voice XYZ voip snmp enable peer-trap poor-qov icpif <threshold> expect-factor 0
當呼叫完成時,網關計算該呼叫的總損傷(Itot)。然後,從Itot中減去已配置的預期因子,得出實際Icpif值。如果此數字超過Icpif閾值,則會傳送QoV陷阱。呼叫持續時間必須至少為10秒,網關才能計算呼叫的Icpif值。
我們來看一個示例,其中網關配置如下:
dial-peer voice XYZ voip icpif 10 expect-factor 5
假設呼叫以Itot值20完成。然後網關從該數字中減去期望因子5,得到Icpif值15。由於15大於10,因此網關會生成QoV SNMP陷阱。
全域性而言,必須啟用QoV陷阱才能傳送到CVM:
snmp-server enable traps voice poor-qov snmp-server host 10.x.x.x.x public<----- CVM station
請注意,每次呼叫建立或斷開時,語音網關都會生成鏈路開啟/鏈路關閉SNMP陷阱。這可能會導致高密度網關上存在大量陷阱。確保通過新增以下命令禁用這些陷阱:
interface serial1/0:15no snmp trap link-status
CVM和Telemate是完全獨立的應用程式。顧名思義,CVM是思科開發的產品。另一方面,Telemate是思科與CVM捆綁銷售的第三方產品。
CVM執行各種功能。我們將使用兩個功能:
通過SNMP從網關收集呼叫詳細記錄(CDR)。
從網關接收語音品質(QoV)SNMP陷阱。
收集這些資訊後,CVM會格式化資料,並通過簡單檔案共用將其傳遞到Telemate。然後,Telemate處理此資料並將其儲存在Microsoft SQL資料庫中。最終結果是一個資料庫,其中包含呼叫清單及其各自的詳細資訊,包括Icpif值。然後可以對資料庫運行各種報告,包括QoV報告。
我們感興趣的Telemate QoV報告是「帶有服務品質陷阱的資料包語音呼叫」報告。此報告列出網關為其生成QoV陷阱的所有呼叫。我們對個人電話不感興趣;相反,我們感興趣的是確定具有高於平均百分比的語音品質呼叫的站點(如果有)。為此,Telemate必須能夠按站點對呼叫進行分類。這將在下一節討論。
通過在Telemate目錄中填充有關哪些分機位於哪些站點的資訊,我們可以使用Telemate按站點對呼叫進行分類。
Telemate目錄是一個五層層次結構,具有以下級別:
第1級 — 公司
第2級 — 部門
第3級 — 部門
第4級 — 使用者
第5級 — 擴展
您可以將多個擴展與一個使用者關聯。
理想情況下,我們希望在QoV報告中的每個呼叫都列出部門名稱。然後,我們可以使用部門名稱來表示給定站點。這樣,我們就可以按部門/站點對呼叫進行排序。但是由於擴展只能與使用者關聯,因此我們必須以略微尷尬的方式實現這一點。基本上,我們為每個站點建立一個虛擬使用者,並將此使用者的名稱設定為站點名稱或站點代碼。然後,會為該特定站點分配所有分機。然後,我們可以按使用者對呼叫進行排序,這相當於按站點對呼叫進行排序。
就QoV報告而言,我們並不關心目錄分層結構中的前三個級別,而且可以為其分配任意值。
對於此實施,有200個站點,分配了45,000個擴展,但並非所有擴展都在使用中。因此,該目錄包含200個虛擬使用者,每個虛擬使用者與其站點的擴展範圍相關聯。手動填充目錄將是一個不可能完成的任務,因此我們通過生成每個副檔名都有一行的CSV檔案來半自動填充目錄,然後使用Telemate匯入功能將檔案匯入到目錄中。此CSV檔案中的每一行都具有以下格式:
Company,Division,Department,User,Extension
通過運行Unix shell指令碼,也可以半自動生成CSV檔案本身。此指令碼將種子檔案作為輸入。此種子檔案列出站點和關聯的擴展範圍。種子檔案中的每一行均具有以下格式:
site_name,extention_start,extension_end
shell指令碼本身非常簡單,如下所示:
#--------------------------- Telemate script start ------------------------ #!/bin/ksh for i in `cat ./$1` do ( echo $i | awk 'BEGIN{FS=","}{for (j=($2+0);j<($3+0);++j) printf "Company,Division,Dept,%s,%s\n", $1,j}' ) done #--------------------------- Telemate script end ------------------------
假定指令碼本身名為「make_dir」,種子檔名為「seedfile.csv」,則在Unix提示符下執行以下命令可建立匯入CSV telemate_dir.csv檔案:
unix$ make_dir seedfile.csv > telemate_dir.csv
然後,輸出檔案telemate_dir.csv被匯入到Telemate中。有關如何執行此操作的詳細說明,請參閱Telemate文檔。
運行Telemate報告時,您可以選擇輸出目標。對於大型報告,建議使用CSV格式生成檔案。然後,您可以在Excel中操作報告,其格式如下所示:
持續時間 | 撥號號碼 | 位置 | 日期 | 時間 | 站點 | 分機 |
---|---|---|---|---|---|---|
0:00:57 | 3-573-7783 | 10.200.16.33 | 10/05/2000 | 4:49:45 | BLM | 37569 |
0:00:57 | 3-573-7783 | 10.200.16.33 | 10/05/2000 | 4:49:45 | BLM | 37569 |
0:00:38 | 3-577-2958 | 10.200.16.33 | 10/05/2000 | 4:28:28 | BLM | 37576 |
0:00:38 | 3-577-2958 | 10.200.16.33 | 10/05/2000 | 4:28:28 | BLM | 37576 |
0:00:52 | 3-577-2985 | 10.200.16.33 | 10/05/2000 | 9:26:33 | BLM | 37593 |
0:01:19 | 3-577-1770 | 10.200.16.33 | 10/05/2000 | 7:26:05 | BMC | 34270 |
0:00:23 | 3-577-1770 | 10.200.16.33 | 10/05/2000 | 8:08:27 | BMC | 34270 |
0:00:23 | 3-577-1770 | 10.200.16.33 | 10/05/2000 | 8:08:27 | BMC | 34270 |
0:00:11 | 4-566-5302 | 10.132.16.33 | 10/05/2000 | 7:05:33 | COR | 42791 |
0:00:32 | 4-567-0417 | 10.132.16.33 | 10/05/2000 | 5:29:51 | COR | 42805 |
0:00:32 | 4-567-0417 | 10.132.16.33 | 10/05/2000 | 5:29:51 | COR | 42805 |
0:00:36 | 4-232-8545 | 10.132.16.33 | 10/05/2000 | 5:42:07 | COR | 42823 |
0:00:36 | 4-232-8545 | 10.132.16.33 | 10/05/2000 | 5:42:07 | COR | 42823 |
0:00:39 | 4-472-5011 | 10.132.16.33 | 10/05/2000 | 5:59:23 | COR | 46578 |
0:00:39 | 4-472-5011 | 10.132.16.33 | 10/05/2000 | 5:59:23 | COR | 46578 |
0:00:28 | 4-236-7687 | 10.132.16.33 | 10/05/2000 | 7:17:51 | COR | 46578 |
0:00:17 | 6-867-9766 | 10.132.16.35 | 10/05/2000 | 4:08:02 | 地理資訊系統 | 64197 |
0:00:17 | 6-867-9766 | 10.132.16.35 | 10/05/2000 | 4:08:02 | 地理資訊系統 | 64197 |
0:00:30 | 6-868-6889 | 10.132.16.35 | 10/05/2000 | 6:15:48 | 地理資訊系統 | 68549 |
0:00:30 | 6-868-6889 | 10.132.16.35 | 10/05/2000 | 6:15:48 | 地理資訊系統 | 68549 |
0:01:26 | 6-876-5223 | 10.132.16.35 | 10/05/2000 | 7:10:23 | HAH | 68369 |
0:01:26 | 6-876-5223 | 10.132.16.35 | 10/05/2000 | 7:10:23 | HAH | 68369 |
0:00:52 | 6-876-2223 | 10.132.16.35 | 10/05/2000 | 5:37:58 | HAH | 68397 |
0:01:05 | 4-477-5402 | 10.132.16.33 | 10/05/2000 | 4:23:20 | JVL | 47162 |
0:00:24 | 4-478-8848 | 10.132.16.33 | 10/05/2000 | 7:07:09 | JVL | 47168 |
0:00:24 | 4-478-8848 | 10.132.16.33 | 10/05/2000 | 7:07:09 | JVL | 47168 |
0:00:44 | 4-387-1333 | 10.132.16.33 | 10/05/2000 | 7:49:16 | KIB | 49252 |
0:00:44 | 4-387-1333 | 10.132.16.33 | 10/05/2000 | 7:49:16 | KIB | 49252 |
0:01:14 | 4-389-4299 | 10.132.16.33 | 10/05/2000 | 4:07:10 | KIB | 49254 |
0:01:14 | 4-389-4299 | 10.132.16.33 | 10/05/2000 | 4:07:10 | KIB | 49254 |
0:00:29 | 4-387-1337 | 10.132.16.33 | 10/05/2000 | 4:06:45 | KIB | 49256 |
0:00:29 | 4-387-1337 | 10.132.16.33 | 10/05/2000 | 4:06:45 | KIB | 49256 |
0:00:41 | 4-384-9269 | 10.132.16.33 | 10/05/2000 | 4:09:38 | KIB | 49261 |
0:00:41 | 4-384-9269 | 10.132.16.33 | 10/05/2000 | 4:09:38 | KIB | 49261 |
0:00:41 | 4-384-9269 | 10.132.16.33 | 10/05/2000 | 4:09:38 | KIB | 49261 |
0:00:17 | 4-387-1344 | 10.132.16.33 | 10/05/2000 | 4:33:04 | KIB | 49263 |
0:00:17 | 4-387-1344 | 10.132.16.33 | 10/05/2000 | 4:33:04 | KIB | 49263 |
0:00:31 | 6-367-5103 | 10.132.16.35 | 10/05/2000 | 8:44:46 | 列夫 | 64233 |
0:00:31 | 6-367-5103 | 10.132.16.35 | 10/05/2000 | 8:44:46 | 列夫 | 64233 |
0:00:30 | 6-368-9088 | 10.132.16.35 | 10/05/2000 | 4:11:06 | 列夫 | 64247 |
0:00:30 | 6-368-9088 | 10.132.16.35 | 10/05/2000 | 4:11:06 | 列夫 | 64247 |
0:00:38 | 4-570-2450 | 10.132.16.33 | 10/05/2000 | 4:08:26 | LHT | 43636 |
0:00:38 | 4-570-2450 | 10.132.16.33 | 10/05/2000 | 4:08:26 | LHT | 43636 |
使用Excel「小計」功能計算每個使用者/站點的錯誤呼叫數。然後建立一個Excel宏以半自動執行小計操作。請參見以下示例:
持續時間 | 撥號號碼 | 位置 | 日期 | 時間 | 站點 | 分機 |
---|---|---|---|---|---|---|
BCM計數 | 5 | |||||
BMC計數 | 3 | |||||
COR計數 | 8 | |||||
GIS計數 | 4 | |||||
HAH計數 | 3 | |||||
JVL計數 | 3 | |||||
KIB計數 | 11 | |||||
LEV計數 | 4 | |||||
LHT計數 | 2 | |||||
大計數 | 43 |
Site列現在包含到/來自該站點的錯誤呼叫數。報告中的Location列是VoIP支路另一端的IP地址,來自網關CDR記錄。在CallManager(CCM)環境中,信令端點和媒體端點是兩個不同的IP地址。列出的IP地址是信令端點(即CallManager)。已提交DDTS(CSCds23283),以請求可使CDR記錄改為記錄媒體IP地址的命令。這將允許按子網對錯誤呼叫進行排序。這樣可以提供更好的粒度,因為通常每個站點有多個子網。如果只有部分子網遇到QoV問題,則可以確定這些子網。
我們建議您設定Telemate排程程式,每天自動運行一次「帶有服務品質陷阱的資料包語音呼叫」報告。然後,可以將完成的報告通過電子郵件傳送給選定的運營人員。然後,這些員工對過去24小時執行每日QoV審計。報告應至少存檔一個月,以便任何QoV惡化都可以與在此期間執行的任何網路更改相關。
注意:報告需要使用Telemate 4.7或更高版本才能在CallManager環境中正常運行的網關上正常工作。Telemate的早期版本假定本地擴展始終位於網關的POTS端。在CallManager環境中,本地擴展(IPhones)位於網關的VoIP端。結果,早期版本的Telemate變得混亂,報告的價值也有限。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
26-Jun-2019 |
初始版本 |