目錄

簡介

必要條件

需求

採用元件

慣例

使用PPP的VoIP鏈路的QoS設計手冊

語音流量的嚴格優先順序（IP RTP優先順序或LLQ）

LLQ配置指南

IP RTP優先順序配置指南

連結分割和交錯(LFI):多重連結PPP

壓縮即時通訊協定(cRTP)

其他頻寬減少提示

網路圖表

組態

驗證和疑難排解指令

顯示和調試輸出示例

相關資訊

簡介

此範例組態研究透過低頻寬租用線路設定使用點對點通訊協定(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鏈路的QoS設計手冊

本節提供通過PPP租用線路配置VoIP的設計手冊（重點介紹低速鏈路）。 良好的語音品質有兩個基本要求：

- 最小的端到端延遲和抖動避免（延遲變化）。

- 鏈路頻寬要求經過最佳化並設計正確。

為保證滿足上述要求，應遵循幾個重要准則：

指南

說明

語音流量的嚴格優先順序（IP RTP優先順序或LLQ）

為語音流量提供嚴格優先順序的方法。

連結分割和交錯(LFI)

可能是低速鏈路的強制性要求。

RTP壓縮

無需提供良好的語音品質，但可降低呼叫頻寬消耗。有關RTP壓縮的一般建議是在具有良好語音品質的工作配置後應用它（簡化故障排除）。

通話認可控制(CAC)

本文檔未涉及。CAC用於控制可通過鏈路建立的呼叫數。例如，如果兩個網關之間的WAN鏈路的頻寬只能承載兩個VoIP呼叫，那麼允許第三個呼叫可能會降低所有三個呼叫的語音品質。如需詳細資訊，請參閱：VoIP呼叫准入控制。

總而言之，對於以路由器/網關作為語音流量來源的低速PPP鏈路，必須具備兩項功能：

1. 嚴格優先處理語音流量

2. 連結分割和交錯(LFI)

語音流量的嚴格優先順序（IP RTP優先順序或LLQ）

自Cisco IOS軟體版本12.2起，有兩種主要方法可為語音流量提供嚴格的優先順序：

- IP RTP優先順序(也稱為PQ/WFQ:優先順序隊列/加權公平隊列)

- 低延遲佇列(也稱為PQ/CBWFQ:優先順序隊列/基於類的加權公平隊列)。

IP RTP優先順序

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)

IP RTP優先順序

根據以下條件匹配語音流量：

- Access-lists(對於UDP埠範圍、主機地址、IP報頭ToS欄位：IP優先順序、DSCP等)

- IP RTP埠範圍

- IP ToS（服務型別）欄位：DCSP和/或IP優先順序

- 通訊協定和輸入介面

- CBWFQ中使用的所有有效匹配條件

優勢：

- 在如何匹配流量並將其定向到嚴格PQ和CBWFQ方面更具靈活性

- 可以配置其他類以確保其他流量的頻寬，例如：VoIP訊號傳送和視訊。

缺點：

- 配置複雜

根據以下條件匹配語音流量：

- 基於RTP UDP埠範圍：16384-32767

優勢：

- 簡單配置

缺點：

- 在WFQ佇列中提供服務的RTCP流量（VoIP訊號）
注意：RTP協定使用RTCP（即時控制協定）來控制RTP資料包的傳輸。當RTP埠使用偶數時，RTCP埠使用16384-32767範圍內的奇數。IP RTP優先順序將RTP埠置於PQ中，而RTCP埠在預設加權公平隊列中提供。

- 在PQ中為VoIP流量提供服務，但需要優先處理和頻寬保證的任何其他流量在WFQ中提供服務。雖然WFQ可以使用權重（基於IP優先順序）來區分流，但它不能確保任何流的頻寬保證。

指南

- 應根據實際網路中的流量模式和實際需求來選擇它們。

- 如果您需要為您的語音流量提供嚴格的優先順序，並且其它流量可視為單一型別（資料），則IP RTP優先順序通過簡單的配置對您的網路起到了很好的作用。

- 如果計畫根據UDP埠以外的標準(例如DiffServ PHB)優先處理語音流量，則必須使用LLQ。

有關排隊方法的相關性和差異的詳細資訊，請參閱擁塞管理概述。

LLQ配置指南

按照以下准則配置LLQ:

1. 為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資料包的可擴展方式。

2. 為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（可配置）

3. 建立策略對映並與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服務策略的頻寬和優先順序命令。

4. 啟用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優先順序配置指南

要配置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

連結分割和交錯(LFI):多重連結PPP

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。此過程可通過隔離潛在的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標頭壓縮統計資訊。

- VoIP呼叫故障排除和調試

- VoIP Debug指令

已知的問題:

- CSCds43465:「LLQ、管制器、整形器應採用CRTP壓縮反饋」檢視發行說明，請參閱Bug工具包(僅限註冊客戶)。

指南：

以下是在ppp鏈路啟動並運行後（MLPPP、分段、交錯）的一些基本故障排除步驟：

1. show call active voice — 用於在DSP級別檢查丟失的資料包。

2. show interface — 用於檢查一般串列線路或介面問題。在介面上丟棄不會造成問題，但最好在資料包到達介面隊列之前將其從低優先順序隊列中丟棄。

3. show policy-map interface — 用於檢查LLQ丟棄和隊列配置。不應報告任何違反策略的丟棄。

4. 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

相關資訊

- 低延遲佇列

- 擁塞管理概述

- 實施服務品質(QoS)

- IP 語音 - 每次通話的頻寬消耗

- IP語音的服務品質

- 配置IP語音

- 語音技術支援

- 語音和IP通訊產品支援

- Cisco IP電話故障排除

- 技術支援 - Cisco Systems