此範例組態研究透過低頻寬租用線路設定使用點對點通訊協定(PPP)的VoIP。本文包含有關已設定功能的背景技術資訊、設計原則、基本驗證和疑難排解策略。
注意:必須注意的是,在下面的配置中,兩台路由器通過租用線路背對背連線。但是,在大多數拓撲中,支援語音的路由器可以位於任何位置。通常,語音路由器使用LAN連線到連線到WAN的其他路由器(即PPP租用線路)。 這一點很重要,因為如果您的語音路由器不是通過租用線路通過PPP直接連線,則所有WAN配置命令必須在連線到WAN的路由器上配置,而不是在語音路由器上配置,如下面的配置所示。
本文件沒有特定需求。
本文檔中顯示的配置已使用以下裝置測試:
兩部採用Cisco IOS®軟體版本12.2.6a(IP Plus)的Cisco 3640
IP RTP優先順序是在Cisco IOS版本12.0(5)T中匯入。
LLQ是在Cisco IOS版本12.0(7)T中引入的。
LFI是在Cisco IOS版本11.3中引入的。
超過12.0.5T的Cisco IOS版本對cRTP效能有顯著改進。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節提供通過PPP租用線路配置VoIP的設計手冊(重點介紹低速鏈路)。 良好的語音品質有兩個基本要求:
為保證滿足上述要求,應遵循幾個重要准則:
指南 | 說明 |
---|---|
語音流量的嚴格優先順序(IP RTP優先順序或LLQ) | 為語音流量提供嚴格優先順序的方法。 |
連結分割和交錯(LFI) | 可能是低速鏈路的強制性要求。 |
RTP壓縮 | 無需提供良好的語音品質,但可降低呼叫頻寬消耗。有關RTP壓縮的一般建議是在具有良好語音品質的工作配置後應用它(簡化故障排除)。 |
通話認可控制(CAC) | 本文檔未涉及。CAC用於控制可通過鏈路建立的呼叫數。例如,如果兩個網關之間的WAN鏈路的頻寬只能承載兩個VoIP呼叫,那麼允許第三個呼叫可能會降低所有三個呼叫的語音品質。如需詳細資訊,請參閱:VoIP呼叫准入控制。 |
總而言之,對於以路由器/網關作為語音流量來源的低速PPP鏈路,必須具備兩項功能:
嚴格優先處理語音流量
自Cisco IOS軟體版本12.2起,有兩種主要方法可為語音流量提供嚴格的優先順序:
IP RTP優先順序(也稱為PQ/WFQ:優先順序隊列/加權公平隊列)
低延遲佇列(也稱為PQ/CBWFQ:優先順序隊列/基於類的加權公平隊列)。
IP RTP優先順序為屬於使用者資料包協定(UDP)目標埠範圍的一組RTP資料包流建立嚴格的優先順序隊列。雖然實際使用的埠是在終端裝置或網關之間動態協商的,但所有Cisco VoIP產品都使用相同的UDP埠範圍(16384-32767)。 路由器識別VoIP流量後,會將其置於嚴格的優先順序隊列中。當優先順序佇列為空時,其他佇列會依照標準加權公平佇列(WFQ)處理。IP RTP優先順序不會變為活動狀態,直到介面出現擁塞。此圖說明IP RTP優先順序的運作方式:
注意:IP RTP優先順序允許在預設隊列(WFQ)上有可用頻寬時拆分優先順序隊列(PQ),但在介面上出現擁塞時嚴格控制優先順序隊列內容。
LLQ是一種為基於類的加權公平隊列(CBWFQ)提供嚴格PQ的功能。LLQ在類級別啟用CBWFQ內的單個嚴格PQ。使用LLQ時,延遲敏感資料(在PQ中)首先出列並傳送。在採用LLQ的VoIP實施中,語音流量被置於嚴格的PQ中。
對PQ進行管制以確保公平隊列不缺少頻寬。配置PQ時,以Kbps為單位指定PQ可用的最大頻寬量。當介面擁塞時,會為PQ提供服務,直到負載達到優先順序語句中配置的Kbps值。接著,系統會捨棄多餘的流量,以避免思科舊版優先順序群組功能(耗盡較低優先順序佇列)出現問題。
此方法比IP RTP優先順序更複雜、更靈活。應根據實際網路中的流量模式和實際需求來選擇方法。
此表總結了LLQ和IP RTP優先順序之間的主要差異,並提供了一些何時使用每種方法的准則。
低延遲佇列(LLQ) | IP RTP優先順序 |
---|---|
根據以下條件匹配語音流量:
|
根據以下條件匹配語音流量:
|
指南
|
有關排隊方法的相關性和差異的詳細資訊,請參閱擁塞管理概述。
按照以下准則配置LLQ:
為VoIP流量建立類對映並定義匹配條件
以下命令說明了如何完成此任務:
maui-voip-sj(config)#class-map ? WORD class-map name match-all Logical-AND all matching statements under this classmap match-any Logical-OR all matching statements under this classmap maui-voip-sj(config)#class-map match-all voice-traffic !-- Choose a descriptive class_name. maui-voip-sj(config-cmap)#match ? access-group Access group any Any packets class-map Class map cos IEEE 802.1Q/ISL class of service/user priority values destination-address Destination address input-interface Select an input interface to match ip IP specific values mpls Multi Protocol Label Switching specific values not Negate this match result protocol Protocol qos-group Qos-group source-address Source address !-- In this example, the access-group matching option is used for its !-- flexibility (it uses an access-list) maui-voip-sj(config-cmap)#match access-group ? <1-2699> Access list index name Named Access List maui-voip-sj(config-cmap)#match access-group 102 !-- Now, create the access-list to match the class-map access-group: maui-voip-sj(config)#access-list 102 permit udp any any range 16384 32776 !-- Safest and easiest way is to match with UDP port range 16384-32767 !-- This is the port range Cisco IOS H.323 products utilize to transmit !-- VoIP packets.
這些存取清單也可用於使用match access-group指令將語音流量配對:
access-list 102 permit udp any any precedence critical !-- This list filters traffic based on the IP packet TOS: Precedence field. !-- Note: Ensure that other non-voice traffic does NOT uses the !-- same precedence value. access-list 102 permit udp any any dscp ef !-- In order for this list to work, ensure that VoIP packets are tagged with !-- the dscp ef code before they exit on the LLQ WAN interface. !-- For more information on DSCP refer to: !-- Implementing Quality of Service Policies with DSCP !-- Note: If endpoints are not trusted on their packet marking, you can mark !-- incoming traffic by applying an inbound service policy on an inbound !-- interface. This procedure is out of the scope of this doc. Access-list 102 permit udp host 192.10.1.1 host 192.20.1.1 !-- This access-list can be used in cases where the VoIP devices cannot !-- do precedence or dscp marking and you cannot determine the !-- VoIP UDP port range.
以下是可用來替代存取群組的其他配對方法:
從Cisco IOS版本12.1.2.T開始,為LLQ實施IP RTP優先順序功能。此功能匹配優先順序類別內容,檢視配置的UDP埠,並受限於僅為PQ中的埠提供服務。
class-map voice match ip rtp 16384 16383
這兩種方法的運行假設是:在源主機處標籤VoIP資料包,或在應用出站LLQ操作之前在路由器中進行匹配和標籤。
class-map voice match ip precedence 5
或
class-map voice match ip dscp ef
注意:從IOS版本12.2.2T開始,VoIP撥號對等體可以在LLQ操作之前標籤語音承載和信令資料包。這允許通過LLQ的DSCP代碼值來標籤和匹配VoIP資料包的可擴展方式。
為VoIP信令建立類對映並定義匹配條件(可選)
以下命令說明了如何完成此任務:
class-map voice-signaling match access-group 103 ! access-list 103 permit tcp any eq 1720 any access-list 103 permit tcp any any eq 1720
注意:可以使用H.323、SIP、MGCP或Skinny(Cisco Call Manager使用的專有協定)建立VoIP呼叫。 上述示例假設H.323快速連線。此清單作為VoIP訊號/控制通道所使用的連線埠的基準:
H.323/H.225 = TCP 1720
H.323/H.245 = TCP 11xxx(標準連線)
H.323/H.245 = TCP 1720(快速連線)
H.323/H.225 RAS = TCP 1719
瘦型= TCP 2000-2002(CM核心)
ICCP = TCP 8001-8002(CM核心)
MGCP = UDP 2427、TCP 2428(CM核心)
SIP= UDP 5060、TCP 5060(可配置)
建立策略對映並與VoIP類對映關聯
策略對映的目的是定義如何共用連結資源或將其分配給不同的對映類。以下命令說明了如何完成此任務:
maui-voip-sj(config)#policy-map VOICE-POLICY !-- Choose a descriptive policy_map_name. maui-voip-sj(config-pmap)#class voice-traffic maui-voip-sj(config-pmap-c)#priority ? <8-2000000> Kilo Bits per second !-- Configure the voice-traffic class to the strict priority !-- Queue (priority command) and assign the bandwidth. maui-voip-sj(config-pmap)#class voice-signaling maui-voip-sj(config-pmap-c)#bandwidth 8 !-- Assign 8 Kbps to the voice-signaling class maui-voip-sj(config-pmap)#class class-default maui-voip-sj(config-pmap-c)#fair-queue !-- The remaining data traffic is treated as Weighted Fair Queue
注意:雖然可以將各種型別的即時流量排隊到PQ,但思科建議您僅將語音流量定向到它。即時流量(如影片)可能會帶來延遲的變化(PQ是FIFO — 先進先出 — 隊列)。 語音流量要求延遲不可變以避免抖動。
注意:priority和bandwidth語句的值之和必須小於或等於鏈路頻寬的75%。否則,無法將service-policy分配給連結(若要檢視錯誤消息,請確保為控制檯訪問啟用了logging console,並且為telnet訪問啟用了terminal monitor)。
注意:配置64 Kbps鏈路上的VoIP以支援兩個語音呼叫時,通常會將超過75%(48Kbps)的鏈路頻寬分配給PQ。在這種情況下,您可以使用命令max-reserved-bandwidth 80將可用頻寬提高至80%(51 Kbps)。
有關bandwidth和priority命令的詳細資訊,請參閱比較QoS服務策略的頻寬和優先順序命令。
啟用LLQ:將策略對映應用於出站WAN介面
以下命令說明了如何完成此任務:
maui-voip-sj(config)#interface multilink 1 maui-voip-sj(config-if)#service-policy output VOICE-POLICY !-- In this scenario (MLPPP LFI), the service policy is applied to !-- the Multilink interface.
要配置IP RTP優先順序,請使用以下准則:
Router(config-if)#ip rtp priority starting-rtp-port-#port-#-rangebandwidth
指令 | 說明 |
---|---|
starting-rtp-port-number |
UDP埠的下限。將資料包傳送到的最低埠號。對於VoIP,請將此值設定為16384。 |
port-number-range |
UDP目標埠的範圍。一個新增到starting-rtp-port-number中的數字會產生最高的UDP埠號。對於VoIP,請將此值設定為16383(32767 - 16384 = 16383) |
bandwidth |
優先順序隊列中允許的最大頻寬(kbps)。根據系統支援的同時呼叫數設定此號碼。 |
示例配置:
interface Multilink1 !--- Some output omitted bandwidth 64 ip address 172.22.130.2 255.255.255.252 ip tcp header-compression fair-queue no cdp enable ppp multilink ppp multilink fragment-delay 10 ppp multilink interleave multilink-group 1 ip rtp header-compression iphc-format ip rtp priority 16384 16383 45
1500位元組是資料封包的常見大小,但一個典型的VoIP封包(承載G.729語音訊框)可能大約為66位元組(20位元組語音負載、6位元組第2層標頭、20位元組RTP和UDP標頭以及20位元組IP標頭)。
現在,想象一下56Kbps的租用線路鏈路,語音和資料流量同時存在。如果語音資料包正好在鏈路上開始傳輸時,就可以進行序列化,則說明有問題。延遲敏感的語音資料包必須等待214毫秒才能傳輸(在56Kbps鏈路上序列化1500位元組的資料包需要214毫秒)。
您可以看到,大資料包可能會對小語音資料包的傳送產生不利影響,從而降低語音品質。將這些大型資料包分段為較小的資料包,並在這些片段之間交織語音資料包可以減少抖動和延遲。Cisco IOS連結分段和交錯(LFI)功能有助於滿足VoIP的即時交付要求。此圖說明LFI的操作:
如表1所示,考慮到目標端到端單向延遲不應超過150ms,在低速廣域網鏈路上引入的串列化延遲量(實際將位放置在介面上所需的時間)可能非常大。(ITU-T G.114建議指定最大單向端到端時間為150毫秒。)
表1.低速鏈路上各種幀大小的串列化延遲串列化延遲=幀大小(位)/鏈路頻寬(bps)1位元組 | 64 位元組 | 128 位元組 | 256 位元組 | 512 位元組 | 1024 位元組 | 1500 位元組 | |
---|---|---|---|---|---|---|---|
56 kbps | 143微秒 | 9毫秒 | 18毫秒 | 36毫秒 | 72毫秒 | 144毫秒 | 214毫秒 |
64 kbps | 125微秒 | 8毫秒 | 16毫秒 | 32毫秒 | 64毫秒 | 126毫秒 | 187毫秒 |
128 kbps | 62.5微秒 | 4毫秒 | 8毫秒 | 16毫秒 | 32毫秒 | 64毫秒 | 93毫秒 |
256 kbps | 31微秒 | 2毫秒 | 4毫秒 | 8毫秒 | 16毫秒 | 32毫秒 | 46毫秒 |
512 kbps | 15.5微秒 | 1毫秒 | 2毫秒 | 4毫秒 | 8毫秒 | 16毫秒 | 32毫秒 |
768 kbps | 10微秒 | 640微秒 | 1.28毫秒 | 2.56毫秒 | 5.12毫秒 | 10.24毫秒 | 15毫秒 |
1536 kbps | 5微秒 | 320微秒 | 640微秒 | 1.28毫秒 | 2.56毫秒 | 5.12毫秒 | 7.5毫秒 |
注意:對於語音應用程式,推薦的序列化延遲(每跳數)為10毫秒,不應超過20毫秒。
使用ppp multilink fragment-delay指令,連結片段大小可設定為毫秒(msec)時間測量值。LFI要求在開啟ppp multilink interleave的介面上配置ppp multilink。有關配置LFI的詳細資訊,請參閱本文檔中的一節。
注意:如果您有超過一個專用半T1連線(768 Kbps),則不需要分段功能。(但是,您仍然需要QoS機制,如LLQ或IP RTP優先順序)。 半端T1提供足夠的頻寬,允許語音封包進出,而不會有延遲問題。此外,您可能不需要即時協定(cRTP)的壓縮,在半T1的情況下,通過壓縮IP RTP報頭有助於節省頻寬。
注意:cRTP不是確保良好語音品質的必需項。此功能可降低頻寬消耗。在滿足所有其他條件且語音品質良好後配置cRTP。此過程可通過隔離潛在的cRTP問題來節省故障排除時間。
根據RFC 2508,RTP標頭壓縮功能將IP/UDP/RTP標頭從40位元組壓縮為2位元組或4位元組,從而減少不必要的頻寬消耗。這是一種逐跳壓縮方案;因此,必須在鏈路兩端配置cRTP(除非配置了passive選項)。 要配置cRTP,請在介面級別使用以下命令:
Router(config-if)#ip rtp header-compression [passive]
由於壓縮過程可能佔用大量CPU,因此RTP報頭壓縮在12.0.(7)T版本的IOS中的快速交換和CEF交換路徑中實施。有時,這些實現會中斷,然後唯一的處理方式將進行交換。除非路由器的CPU使用率較低,否則思科僅建議使用鏈路低於768 Kbps的cRTP。監控路由器的CPU利用率,如果cRTP高於75%,則將其禁用。
注意:配置命令ip rtp header-compression時,路由器預設將ip tcp header-compression命令添加到配置中。這用於壓縮報頭的TCP/IP資料包。報頭壓縮在具有大量小資料包的網路上尤其有用,例如那些支援許多Telnet連線的網路。使用HDLC或PPP封裝的串列線路支援RFC 1144中詳述TCP報頭壓縮技術。
要在不啟用cRTP的情況下壓縮TCP報頭,請使用以下命令:
Router(config-if)#ip tcp header-compression [passive]
如需詳細資訊:壓縮即時傳輸通訊協定
在VoIP呼叫段上使用低位元率編碼器/解碼器(編解碼器);建議使用G.729(8 Kbps)。(這是VoIP撥號對等體上的預設編解碼器)。 要配置不同的編解碼器,請在所需的voip撥號對等體下使用router(config-dial-peer)#codec命令。
雖然在使用諸如G.711之類的高位元率語音編解碼器時,雙音多頻(DTMF)通常可以準確地傳輸,但是低位元率編解碼器(例如G.729和G.723.1)針對語音模式進行了高度最佳化,並且傾向於扭曲DTMF音調。這種方法可能導致訪問互動式語音應答(IVR)系統時出現問題。dtmf relay命令通過將DTMF音調傳輸「帶外」或與編碼語音流分離來解決DTMF失真問題。如果使用低位元率編解碼器(G.729、G.723),請在VoIP撥號對等體下開啟dtmf relay。
典型的對話可能包含35-50%的沈默。使用語音活動檢測(VAD),可抑制靜音資料包。對於VoIP頻寬規劃,假設VAD將頻寬減少了35%。VAD預設配置在VoIP撥號對等體下。要啟用或禁用VAD,請在所需的voip撥號對等體下使用router(config-dial-peer)#vad和router(config-dial-peer)# no vad命令。
maui-voip-sj(Cisco 3640) |
---|
version 12.2service timestamps debug datetime msec !-- < Some output omitted > ! hostname maui-voip-sj ! ip subnet-zero ! no ip domain-lookup ! !-- Definition of the voice signaling and traffic class maps !-- "voice-traffic" class uses access-list 102 for its matching criteria. !-- "voice-signaling" class uses access-list 103 for its matching criteria. Class-map match-all voice-signaling match access-group 103 class-map match-all voice-traffic match access-group 102 ! !-- The policy-map defines how the link resources are assigned !-- to the different map classes. In this configuration, strict priority !-- queue is assigned to "voice-traffic" class with (based on ACL in !-- class voice) with max bandwidth = 45 Kbps. policy-map VOICE-POLICY class voice-traffic priority 48 class voice-signaling bandwidth 8 !-- Assigns a queue for "voice-signaling" traffic that ensures 8 Kbps. !-- Note that this is optional and has nothing to do with good voice !-- quality, but rather a way to secure signaling. class class-default fair-queue !-- The class-default class is used to classify traffic that does !-- not fall into one of the defined classes. !-- The fair-queue command associates the default class WFQ queueing. ! call rsvp-sync ! !-- Note that MLPPP is strictly an LFI mechanism. It does not !-- bundle multiple serial interfaces to the same virtual interface as !-- the name stands (This bundling is done for data and NOT recommended !-- for voice). The end result may manifest itself as jitter and no audio. interface Multilink1 ip address 172.22.130.1 255.255.255.252 ip tcp header-compression iphc-format service-policy output VOICE-POLICY !-- LLQ is an outbound operation and applied to the outbound WAN !-- interface. no cdp enable ppp multilink ppp multilink fragment-delay 10 !-- The configured value of 10 sets the fragment size such that !-- all fragments have a 10 ms maximum serialization delay. ppp multilink interleave multilink-group 1 ip rtp header-compression iphc-format ! interface Ethernet0/0 ip address 172.22.113.3 255.255.255.0 no keepalive half-duplex ! interface Serial0/0 bandwidth 128 !-- the bandwidth command needs to be set correctly for the !-- right fragment size to be calculated. no ip address encapsulation ppp clockrate 128000 ppp multilink multilink-group 1 !-- This command links the multilink interface to the physical !-- serial interface. ! router eigrp 69 network 172.22.0.0 auto-summary no eigrp log-neighbor-changes ! !-- access-list 102 matches VoIP traffic based on the UDP port range. !-- Both odd and even ports are put into the PQ. !-- access-list 103 is used to match VoIP signaling protocol. In this !-- case, H.323 V2 with fast start feature is used. access-list 102 permit udp any any range 16384 32767 access-list 103 permit tcp any eq 1720 any access-list 103 permit tcp any any eq 1720 ! voice-port 1/0/0 ! voice-port 1/0/1 ! voice-port 1/1/0 ! voice-port 1/1/1 ! dial-peer cor custom ! dial-peer voice 1 pots destination-pattern 5000 port 1/0/0 ! dial-peer voice 2 voip destination-pattern 6000 session target ipv4:172.22.130.2 |
maui-voip-austin(Cisco 3640) |
---|
version 12.2 service timestamps debug datetime msec ! hostname maui-voip-austin ! boot system flash slot1:c3640-is-mz.122-6a.bin ! ip subnet-zero ! class-map match-all voice-signaling match access-group 103 class-map match-all voice-traffic match access-group 102 ! policy-map voice-policy class voice-signaling bandwidth 8 class voice-traffic priority 48 class class-default fair-queue ! interface Multilink1 bandwidth 128 ip address 172.22.130.2 255.255.255.252 ip tcp header-compression iphc-format service-policy output voice-policy no cdp enable ppp multilink ppp multilink fragment-delay 10 ppp multilink interleave multilink-group 1 ip rtp header-compression iphc-format !-- Configure cRTP after you have a working configuration. !-- This helps isolate potential cRTP issues. ! Interface Ethernet0/0 ip address 172.22.112.3 255.255.255.0 no keepalive half-duplex ! interface Serial0/0 bandwidth 128 no ip address encapsulation ppp no ip mroute-cache ppp multilink multilink-group 1 ! router eigrp 69 network 172.22.0.0 auto-summary no eigrp log-neighbor-changes ! access-list 102 permit udp any any range 16384 32767 access-list 103 permit tcp any eq 1720 any access-list 103 permit tcp any any eq 1720 ! voice-port 1/0/0 ! voice-port 1/0/1 ! voice-port 1/1/0 ! voice-port 1/1/1 ! dial-peer cor custom ! dial-peer voice 1 pots destination-pattern 6000 port 1/0/0 ! dial-peer voice 2 voip destination-pattern 5000 session target ipv4:172.22.130.1 |
嘗試任何debug指令之前,請參閱有關Debug指令的重要資訊。有關此處所列命令的更多資訊,請參閱本文檔的顯示和調試輸出示例部分。
介面命令:
show interface [serial | multilink] — 使用此命令檢查串列介面狀態。確保串列介面和多鏈路介面處於開啟狀態。
LFI命令:
show ppp multilink — 此命令顯示多鏈路PPP捆綁包的捆綁資訊。
debug ppp multilink fragments — 此debug命令顯示有關單個多鏈路片段和交織事件的資訊。此命令輸出還標識資料包的序列號和片段大小。
LLQ/IP RTP Priority命令:
show policy-map interface multilink interface# — 此命令對於檢視LLQ操作和檢視PQ中的任何丟棄非常有用。如需此命令各個欄位的詳細資訊,請參閱show policy-map interface輸出中的了解封包計數器。
show policy-map policy_map_name — 此命令顯示有關策略對映配置的資訊。
show queue interface-type interface-number — 此命令列出特定介面的公平排隊配置和統計資訊。
Debug priority — 此debug命令顯示優先順序隊列事件並顯示此隊列中是否發生刪除。另請參閱使用優先順序佇列排解輸出捨棄的疑難排解。
show class-map class_name — 此命令顯示有關類對映配置的資訊。
show call active voice — 此命令在DSP級別檢查丟失的資料包非常有用。
其他命令/參考:
show ip rtp header-compression — 此命令顯示RTP標頭壓縮統計資訊。
已知的問題:
指南:
以下是在ppp鏈路啟動並運行後(MLPPP、分段、交錯)的一些基本故障排除步驟:
show call active voice — 用於在DSP級別檢查丟失的資料包。
show interface — 用於檢查一般串列線路或介面問題。在介面上丟棄不會造成問題,但最好在資料包到達介面隊列之前將其從低優先順序隊列中丟棄。
show policy-map interface — 用於檢查LLQ丟棄和隊列配置。不應報告任何違反策略的丟棄。
show ip rtp header-compression — 用於檢查cRTP特定問題。
!----------------------------------------------- !----------------------------------------------- !---- To capture sections of this output, the LLQ PQ bandwidth !---- was lowered and large data traffic was placed !---- on the link to force some packets drops. !----------------------------------------------- !----------------------------------------------- !---- Packet Drop Verification (During an Active Call) !--- Assuming your ppp link is up and running, the first step of voice !--- quality problems verification is to check for lost packets !--- at the DSP. Note: Use the show call active voice command !--- NOT show call active voice brief maui-voip-austin#show call active voice Total call-legs: 2 !--- Indicates that the connection is established and both legs exist GENERIC: SetupTime=155218260 ms Index=1 PeerAddress=5000 PeerSubAddress= PeerId=2 PeerIfIndex=13 LogicalIfIndex=0 ConnectTime=155218364 CallDuration=00:00:27 CallState=4 !--- indicates that it is the active call !--- (#define D_callActiveCallState_active 4). CallOrigin=2 ChargedUnits=0 InfoType=2 TransmitPackets=365 TransmitBytes=7300 ReceivePackets=229 ReceiveBytes=4580 VOIP: !--- For this call, this was the terminating gateway. !--- At this gateway, the call started at the VoIP leg. ConnectionId[0x18872BEB 0x1A8911CC 0x808CBE60 0x6D946FC6] IncomingConnectionId[0x18872BEB 0x1A8911CC 0x808CBE60 0x6D946FC6] RemoteIPAddress=172.22.130.1 !--- Indicates from which IP address the RTP stream is originating. RemoteUDPPort=18778 RemoteSignallingIPAddress=172.22.130.1 !--- Indicates from which IP address signaling messages are coming. RemoteSignallingPort=11010 RemoteMediaIPAddress=172.22.130.1 RemoteMediaPort=18778 RoundTripDelay=50 ms SelectedQoS=best-effort tx_DtmfRelay=inband-voice FastConnect=TRUE Separate H245 Connection=FALSE H245 Tunneling=FALSE SessionProtocol=cisco SessionTarget= OnTimeRvPlayout=4570 GapFillWithSilence=20 ms GapFillWithPrediction=1840 ms GapFillWithInterpolation=0 ms GapFillWithRedundancy=0 ms HiWaterPlayoutDelay=70 ms LoWaterPlayoutDelay=51 ms ReceiveDelay=51 ms LostPackets=90 EarlyPackets=1 LatePackets=0 !--- Indicates the precense of jitter, lost packets, or !--- corrupted packets. VAD = enabled CoderTypeRate=g729r8 CodecBytes=20 GENERIC: SetupTime=155218260 ms Index=2 PeerAddress=6000 PeerSubAddress= PeerId=1 PeerIfIndex=12 LogicalIfIndex=6 ConnectTime=155218364 CallDuration=00:00:34 CallState=4 CallOrigin=1 ChargedUnits=0 InfoType=2 TransmitPackets=229 TransmitBytes=4580 ReceivePackets=365 ReceiveBytes=7300 TELE: ConnectionId=[0x18872BEB 0x1A8911CC 0x808CBE60 0x6D946FC6] IncomingConnectionId=[0x18872BEB 0x1A8911CC 0x808CBE60 0x6D946FC6] TxDuration=35360 ms VoiceTxDuration=730 ms FaxTxDuration=0 ms CoderTypeRate=g729r8 NoiseLevel=-46 ACOMLevel=2 OutSignalLevel=-58 InSignalLevel=-42 InfoActivity=2 ERLLevel=7 SessionTarget= ImgPages=0Total call-legs: 2 !---------------------------------------------------------- !--- Interface Verification !--- Make sure you see this: !--- LCP Open, multilink Open: Link control protocol (LCP) open statement !--- indicates that the connection is establish. !--- Open:IPCP. Indicates that IP traffic can be transmitted via the PPP link. maui-voip-sj#show interface multilink 1 Multilink1 is up, line protocol is up Hardware is multilink group interface Internet address is 172.22.130.1/30 MTU 1500 bytes, BW 128 Kbit, DLY 100000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, loopback not set Keepalive set (10 sec) DTR is pulsed for 2 seconds on reset LCP Open, multilink Open Open: IPCP Last input 00:00:01, output never, output hang never Last clearing of "show interface" counters 00:25:20 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 91 Queueing strategy: weighted fair Output queue: 0/1000/64/37/383 (size/max total/threshold/drops/interleaves) Conversations 0/3/32 (active/max active/max total) Reserved Conversations 1/1 (allocated/max allocated) Available Bandwidth 38 kilobits/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 8217 packets input, 967680 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 13091 packets output, 1254194 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions ---------------------------------------------------------------- !-- Note: There are no drops at the interface level. !-- All traffic that is dropped due to policing, is !-- dropped before it gets to the interface queue. maui-voip-austin#show interface serial 0/0Serial0/0 is up, line protocol is up Hardware is QUICC Serial MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec, reliability 255/255, txload 49/255, rxload 47/255 Encapsulation PPP, loopback not set Keepalive set (10 sec) LCP Open, multilink Open Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters 00:22:08 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: weighted fair [suspended, using FIFO] FIFO output queue 0/40, 0 drops 5 minute input rate 24000 bits/sec, 20 packets/sec 5 minute output rate 25000 bits/sec, 20 packets/sec 4851 packets input, 668983 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 4586 packets output, 657902 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up !----------------------------------- !--- LLQ Verification maui-voip-austin#show policy-map int multilink 1 Multilink1 Service-policy output: voice-policy Class-map: voice-signaling (match-all) !--- This is the class for the voice signaling traffic. 10 packets, 744 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: access-group 103 Weighted Fair Queueing Output Queue: Conversation 42 Bandwidth 8 (kbps) Max Threshold 64 (packets) (pkts matched/bytes matched) 10/744 (depth/total drops/no-buffer drops) 0/0/0 Class-map: voice-traffic (match-all) !--- This is PQ class for the voice traffic. 458 packets, 32064 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: access-group 102 Weighted Fair Queueing Strict Priority Output Queue: Conversation 40 Bandwidth 15 (kbps) Burst 375 (Bytes) !--- Notice that the PQ bandwidth was lowered to force packet drops. (pkts matched/bytes matched) 458/29647 (total drops/bytes drops) 91/5890 !--- Some packets were dropped. In a well designed link, !--- there should be no (or few) drops of the PQ class. Class-map: class-default (match-any) 814 packets, 731341 bytes 5 minute offered rate 27000 BPS, drop rate 0 BPSMatch: any Weighted Fair Queueing Flow Based Fair Queueing Maximum Number of Hashed Queues 32 (total queued/total drops/no-buffer drops) 0/0/0 !--------------------------------------------- !--- Verify the class-map configuration maui-voip-austin#show class-map Class Map match-all voice-signaling (id 2) Match access-group 103 Class Map match-any class-default (id 0) Match any Class Map match-all voice-traffic(id 3) Match access-group 102 !--- Verify the access-lists of the class-maps maui-voip-austin#show access-lists Extended IP access list 102 permit udp any any range 16384 32767 (34947 matches) Extended IP access list 103 permit tcp any eq 1720 any (187 matches) permit tcp any any eq 1720 (86 matches) !--- Verify the policy-pap configuration maui-voip-austin#show policy-map voice-policy Policy Map voice-policy Class voice-signaling Weighted Fair Queueing Bandwidth 8 (kbps) Max Threshold 64 (packets) Class voice-traffic Weighted Fair Queueing Strict Priority Bandwidth 50 (kbps) Burst 1250 (Bytes) Class class-default Weighted Fair Queueing Flow based Fair Queueing Max Threshold 64 (packets) --------------------------- !--- Debug priority command provides immediate feedback in case !--- of VoIP packet drops. !--- The output below shows the error message when VoIP packets !--- are being dropped from the strict priority queue. maui-voip-sj#debug priority priority output queueing debugging is on maui-voip-sj# Mar 17 19:47:09.947: WFQ: dropping a packet from the priority queue 0 Mar 17 19:47:09.967: WFQ: dropping a packet from the priority queue 0 Mar 17 19:47:09.987: WFQ: dropping a packet from the priority queue 0 ------------------------------------------------------------------- !--- Link Fragmentation and Interleaving (LFI) Verification maui-voip-sj#show ppp multilink !--- Verify the fragmentation size and multilink Multilink1, bundle name is maui-voip-austin Bundle up for 00:08:04 0 lost fragments, 0 reordered, 0 unassigned 0 discarded, 0 lost received, 1/255 load 0x6D received sequence, 0x6E sent sequence Member links: 1 active, 0 inactive (max not set, min not set) Serial0/0, since 00:08:09, last rcvd seq 00006C 160 weight !--- Notice the fragmentation size is 160 Bytes. The link is configured with a !--- bandwidth of 128 kbps and a serialization delay of 10 msec. !--- Fragment Size (in bits) = bandwidth * serialization delay. !--- Note: There are 8 bits in one byte. ------------------------------------------------------- !--- Link Fragmentation and Interleaving (LFI) Verification !--- Testing Multilink PPP Link LFI !--- This output displays fragmentation and interleaving information !--- when the the 128kbps PPP link is loaded with big data and VoIP packets. maui-voip-sj#debug ppp multilink fragments Multilink fragments debugging is on 1w3d: Se0/0 MLP: O frag 800004CF size 160 1w3d: Se0/0 MLP: O frag 000004D0 size 160 1w3d: Se0/0 MLP: I ppp IP (0021) size 64 direct 1w3d: Mu1 MLP: Packet interleaved from queue 40 1w3d: Se0/0 MLP: O ppp IP (0021) size 64 1w3d: Se0/0 MLP: I ppp IP (0021) size 64 direct 1w3d: Se0/0 MLP: O frag 400004D1 size 106 1w3d: Se0/0 MLP: O ppp IP (0021) size 64 1w3d: Se0/0 MLP: I ppp IP (0021) size 64 direct 1w3d: Se0/0 MLP: O ppp IP (0021) size 64 direct 1w3d: Se0/0 MLP: I frag 800004E0 size 160 direct 1w3d: Se0/0 MLP: I frag 000004E1 size 160 direct 1w3d: Se0/0 MLP: I ppp IP (0021) size 64 direct ------------------------------------------------------------------- !--- Sample output of show ip rtp header-compression command maui-voip-sj#show ip tcp header-compression TCP/IP header compression statistics: Interface Multilink1: Rcvd: 10 total, 6 compressed, 0 errors 0 dropped, 0 buffer copies, 0 buffer failures Sent: 10 total, 7 compressed, 230 bytes saved, 99 bytes sent 3.32 efficiency improvement factor Connect: 16 rx slots, 16 tx slots, 2 long searches, 1 misses 0 collisions, 0 negative cache hits 90% hit ratio, five minute miss rate 0 misses/sec, 0 max ---------------------------------------------------------------------- !--- This command displays information of the voip dial-peers command. maui-voip-sj#show dial-peer voice 2 VoiceOverIpPeer2 information type = voice, tag = 2, destination-pattern = `6000', answer-address = `', preference=0, group = 2, Admin state is up, Operation state is up, incoming called-number = `', connections/maximum = 0/unlimited, application associated: type = voip, session-tMarget = `ipv4:172.22.130.2', technology prefix: ip precedence = 0, UDP checksum = disabled, session-protocol = cisco, req-qos = best-effort, acc-qos = best-effort, fax-rate = voice, payload size = 20 bytes codec = g729r8, payload size = 20 bytes, Expect factor = 10, Icpif = 30,signaling-type = cas, VAD = enabled, Poor QOV Trap = disabled, Connect Time = 283, Charged Units = 0, Successful Calls = 1, Failed Calls = 0, Accepted Calls = 1, Refused Calls = 0, Last Disconnect Cause is "10 ", Last Disconnect Text is "normal call clearing.", Last Setup Time = 93793451. ------------------------------------------------------------------------- !---The CPU utilization of the router should not exceed the 50-60 percent !--- during any five-minute interval. maui-voip-austin#show processes cpu CPU utilization for five seconds: 12%/8%; one minute: 11%; five minutes: 9% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 148 310794 0 0.00% 0.00% 0.00% 0 Load Meter 2 76 23 3304 0.81% 0.07% 0.01% 0 Exec |