目录

简介

先决条件

要求

使用的组件

规则

VoIP over Frame Relay 的 QoS 设计指南

语音流量的严格优先级（LLQ 或 IP RTP 优先级）

针对语音的 FRTS

分段 (FRF.12)

带宽减少

配置

LLQ

IP RTP 优先级

语音流量整形

分段 (FRF.12)

网络图

配置

验证与故障排除

LLQ/IP RTP 优先级命令

分段命令

帧中继/接口命令

已知问题

show 及 debug 命令输出示例

相关信息

简介

本文档说明了帧中继网络上的 IP 语音 (VoIP) 的示例配置，其中包含服务质量 (QoS) 的配置。 本文档包括所配置功能的相关技术背景信息、设计指南和基本验证与故障排除策略。

请务必注意，在本文档的配置中，有两台语音路由器连接到帧中继网络。但在许多拓扑中，具有语音功能的路由器可存在于任何位置。通常，语音路由器使用 LAN 连接到其它路由器，此路由器与 WAN 连接。其重要性在于，如果语音路由器没有直接连接到帧中继网络，则所有的 WAN 配置命令必须在连接到 WAN 的路由器上进行配置，而不能在语音路由器上进行配置（如本文档所示配置）。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 使用 Cisco IOS® 软件版本 12.2.6a (Enterprise Plus) 的 Cisco 3640 路由器

- 使用 Cisco IOS 软件版本 12.2.6a (Enterprise Plus) 的 Cisco 2621 路由器

- 帧中继永久虚电路(PVC)上的低延迟队列(LLQ)。 这在Cisco IOS软件版本12.1.(2)T中引入。

- Cisco IOS软件版本12.0(7)T中引入的帧中继IP实时传输协议(RTP)优先级。

- 帧中继论坛(FRF)。12分段，在Cisco IOS软件版本12.0(4)T中引入。

- 高于 12.0.5T 的 Cisco IOS 软件版本在压缩 RTP (cRTP) 方面具有显著的性能改进。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

VoIP over Frame Relay 的 QoS 设计指南

要获得良好的语音质量，需满足两个基本要求：

- 最低的端到端延迟和避免抖动（延迟变化）。

- 经过优化和正确设计的链路带宽要求。

为了满足上述要求，请遵循以下指南：

- 语音流量的严格优先级（LLQ 或 IP RTP 优先级）

- 用于语音的帧中继流量整形(FRTS)

- 分段 FRF.12

- 带宽减少

语音流量的严格优先级（LLQ 或 IP RTP 优先级）

要为语音流量提供严格优先级，有两种主要方法：

- IP RTP 优先级（也称为优先级队列/加权公平排队 (PQ/WFQ)）

- LLQ（也称为 PQ/基于类的加权公平排队 (PQ/CBWFQ)）

IP RTP 优先级

帧中继IP RTP优先级在帧中继PVC上为属于用户数据报协议(UDP)目标端口范围的一组RTP数据包流创建严格优先级队列。尽管实际使用的端口要在终端设备或网关之间进行动态协商，但是所有的 Cisco VoIP 产品都使用相同的 UDP 端口范围（16384 到 32767）。 路由器识别出 VoIP 流量后，便将其放置到严格 PQ 中。若 PQ 为空，则根据标准 WFQ 处理其他队列。直到接口中出现拥塞时，IP RTP 优先级才会变为活动状态。下图表明了 IP RTP 优先级的运行情况：

注意：当默认队列(WFQ)上有可用带宽时，IP RTP优先级允许突发PQ。 但当接口上出现拥塞时，它将严格控制 PQ 内容。

LLQ

LLQ 功能可以为 CBWFQ 提供严格 PQ。LLQ 能够在类级别上的 CBWFQ 内启用单个严格 PQ。使用 LLQ，（PQ 中）对延迟敏感的数据将首先出列并进行发送。在实施 LLQ 的 VoIP 中，语音流量放置在严格 PQ 中。

为保证公平队列不缺少带宽，PQ 将受到控制。当您配置 PQ 时，您用 Kbps 指定可用于 PQ 的最大带宽量。当接口被堵塞时，运行 PQ，直到负载达到优先级语句中配置的 Kbps 值。然后丢弃超额流量来避免 Cisco 传统较低级别 PQ 的优先组功能。

注意：使用LLQ for Frame Relay时，队列是按PVC设置的。每个 PVC 有一个 PQ 和指定数量的公平队列。

与 IP RTP 优先级相比，此方法更为复杂，也更为灵活。应当根据实际网络中的流量模式和您的需求来选择方法。

LLQ 与 IP RTP 优先级

此表总结了 LLQ 和 IP RTP 优先级之间的主要区别，并提供了每种方法适用情况的指南。

LLQ

IP RTP 优先级

根据以下项目匹配语音流量：

- 访问列表。例如，UDP端口范围、主机地址、IP报头服务类型(ToS)字段(例如，IP优先级、差分服务代码点(DSCP))。

- IP RTP 端口范围。

- IP ToS 字段 - DSCP 和/或 IP 优先级。

- 协议和输入接口。

- CBWFQ 中使用的所有有效匹配标准。

优势：

- 数据流匹配和定向到严格 PQ 和 CBWFQ 的方式更加灵活。

- 可以配置其他类来保证其他数据流的带宽，例如 VoIP 信令和视频。

缺点：
配置复杂。

根据以下项目匹配语音流量：

- 根据 RTP/UDP 端口范围：16384 - 32767

优势：
配置简单。缺点：

- 在WFQ队列中提供的实时控制协议(RTCP)流量（VoIP信令）。
注意：RTP协议使用RTCP控制RTP数据包的传输。RTP端口使用偶数，而RTCP端口使用16384-32767范围内的奇数。IP RTP优先级将RTP端口置于PQ中，而RTCP端口在默认WFQ中提供服务。

- VoIP 流量在 PQ 中进行处理。但是，需要得到优先处理和带宽保证的其他任何数据流都在 WFQ 中进行处理。虽然 WFQ 可以通过加权来区分流（根据 IP 优先级），它不能 确保任何流都有带宽保证。

准则：

- 应当根据实际网络中的流量模式和您的需求来进行选择。

- 如果需要为语音流量提供严格的优先级，且其他流量可作为一种类型（数据）进行处理，则配置简单的 IP RTP 优先级可以很好地服务于您的网络。

- 如果您打算根据 UDP 端口以外的其他标准对语音流量进行优先级排定，例如，差分服务(DiffServ)每跳行为(PHB)和LLQ。

针对语音的 FRTS

FRTS 提供的参数可用于管理网络流量拥塞。FRTS 消除了带有中心站点高速连接和分支站点低速连接的帧中继网络中的瓶颈。您能配置速率执行值，以限制从中心站点的虚拟电路上发送数据的速率。

以下是与 FRTS 相关的定义：

- 承诺信息速率(CIR) — 帧中继提供商保证的数据传输速率（比特/秒）。CIR 值由帧中继服务提供商设置，并由路由器上的用户配置。

注意：端口/接口访问速率可以高于CIR。速率将在承诺速率测量间隔 (Tc) 时间段内取平均值。

- 承诺突发量(Bc) — 帧中继网络承诺通过Tc传输的最大位数。Tc = Bc/CIR。

- 超额突发是帧中继交换机尝试在Tc上传输到CIR之外的未做承诺位的最大数量。

- 承诺速率测量间隔 (Tc) - Bc 或 (Bc+Be) 位的传输时间间隔。Tc 可依此计算：Tc = Bc/CIR。Tc 值不在 Cisco 路由器中直接配置。它是在配置 Bc 和 CIR 值之后计算得出的。Tc 不能超过 125 毫秒。

- 向后显式拥塞通知(BECN) — 帧中继帧报头中指示网络拥塞的位。当帧中继交换机识别到拥塞时，它将在要发送到源路由器的帧上设置 BECN 位，并指示路由器降低传输速率。

语音流量的 FRTS 配置不同于数据流量整形的 FRTS 配置。为语音质量配置 FRTS 时，数据流量参数会受到影响。有关这些限制的详细信息，请参阅本文档的分段 (FRF.12) 部分。

分段 (FRF.12)

语音数据集成所面临的重大挑战在于，控制对时间敏感的流量（例如语音）的最大单向端到端延迟。要获得良好的语音质量，此延迟应小于 150 毫秒。此延迟的一个重要部分是接口上的串行化延迟。思科建议此值为10毫秒，不应超过20毫秒。序列化延迟是将位实际放置到接口上所花的时间。

Serialization Delay = frame size (bits) / link bandwidth (bps)

例如，1500 个字节的数据包需要 214 毫秒离开一条 56Kbps 链路的路由器。如果发送一个 1500 字节的非实时数据包，则实时（语音）数据包要进行排队，直到大型数据包传输完毕。对于语音流量而言，此延迟是不可接受的。如果非实时数据数据包被分段成更小的帧，它们将与实时（语音）帧相互交叉。这样，语音和数据帧都可以同时在速率较低的链路上运行，不会导致实时语音业务的过度延迟。

有关分段的详细信息，请参阅帧中继语音分段。

注意：如果您有专用的半T1连接(768 kbps)，则可能不需要分段功能。但您仍然需要 QoS 机制（在本例中即为 IP RTP 优先级或 LLQ）。 T1 减半或速度提高可以提供足够的带宽，允许语音数据包在推荐的串行化延迟时间范围内(10 毫秒，不超过 20 毫秒)进入和离开队列。 此外，如果具有完整 T1，则可能不需要 cRTP（该功能可通过压缩 IP RTP 报头帮助节省带宽）。

带宽减少

cRTP

基于 RFC 2508，cRTP 功能可将 IP/UDP/RTP 数据包报头从 40 个字节压缩到 2 或 4 个字节。 这将减少不必要的带宽消耗。它是一种逐跳压缩方案。因此，必须在链路两端配置 cRTP，除非已配置被动选项。

注意：cRTP不是确保良好语音质量所必需的。此功能可减少带宽消耗。请在满足其他所有条件且语音质量良好的情况下配置 cRTP。此过程能够隔离潜在的 cRTP 问题，因此节省了故障排除时间。

监控路由器的 CPU 使用率。如果超过 75%，请禁用 cRTP。链路速率较高时，通过 cRTP 节省的带宽可能不足以抵消额外的 CPU 负载。Cisco 只建议在低于 768 Kbps 的链路上使用 cRTP，除非路由器以较低的 CPU 使用率运行。

注意：在没有标准的情况下，帧中继的cRTP是在Cisco专有封装上开发的。因此，它不能与Internet工程任务组(IETF)帧中继封装配合使用。最近，FRF.20 已最终完成，从而有可能在 IETF 封装上对 RTP 报头进行压缩。然而，截至本文的最近一次更新（2002 年 5 月），FRF.20 都不受支持。

有关详细信息，请参阅压缩实时传输协议 (CRTP)。

编码器/解码器（编解码器）选择

请在 VoIP 呼叫段上使用低比特率的编解码器。G.729 (8 Kbps) 是 VoIP 拨号对等体的默认编解码器。

注意：虽然在使用高比特率语音编解码器（如G.711）时，通常会准确传输双音多频(DTMF)，但低比特率编解码器（如G.729和G.723.1）对语音模式进行了高度优化，并且容易扭曲DTMF音调。此方法可能导致访问交互式语音应答 (IVR) 系统时出现问题。dtmf relay 命令可解决 DTMF 失真的问题。它能够在带外传输 DTMF 音频，或将其与已编码的语音流分离。如果使用低比特率的编解码器 (G.729、G.723)，请在 VoIP 拨号对等体下启用 dtmf relay 命令。

启用语音活动检测(VAD)

典型的对话可能包含 35% 到 50% 的静音时间。使用 VAD 时，静音时间段的数据包将被抑制。对于 VoIP 带宽规划，假设 VAD 会使带宽减少 35%。默认情况下，VAD 在 VoIP 拨号对等体下进行配置。

配置

本部分提供有关如何配置本文档所述功能的信息。

注：要查找有关本文档中使用的命令的其他信息，请使用命令查找工具(仅注册客户)。

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

!--- Create the access-list to match the class-map access-group:

maui-voip-sj(config)#access-list 102 permit udp any any range 16384 32767

!--- The 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 the other non-voice traffic does not use 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, !--- mark incoming traffic by applying an inbound service policy on an !--- inbound interface. This procedure is out of the scope !--- of this document.

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.

下面是可替代 access-group 命令的其他匹配方法：

- 对于 Cisco IOS 软件版本 12.1.2.T 和更高版本，LLQ 实施了 IP RTP 优先级功能。此功能根据已配置的 UDP 端口对优先级类别内容进行匹配。其限制在于，只能为 PQ 中的偶数端口提供服务。

class-map voice

match ip rtp 16384 16383

- 以下两种方法的操作均基于这样的假设，即在执行出站 LLQ 操作之前，VoIP 数据包在始发主机上进行标记，或在路由器中进行匹配和标记：

class-map voice

match ip precedence 5

或者

class-map voice

match ip dscp ef

注意：在Cisco IOS软件版本12.2.2T及更高版本中，VoIP拨号对等体可以在LLQ操作之前标记语音承载和信令数据包。这样就能以可扩展的方式通过 LLQ 的 DSCP 代码值标记并匹配 VoIP 数据包。欲知更多信息，参见“区分VoIP信令和带有服务质量DSCP的媒体”。

Router(config-dial-peer)#ip qos dscp ?

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

注意：VoIP呼叫可以使用H.323、会话发起协议(SIP)、媒体网关控制协议(MGCP)或瘦呼叫控制协议(SCCP)建立 — Cisco Call Manager使用的专有协议。上一个示例采用了 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 = UDP 1718（到网守）

- SCCP = TCP 2000-2002 (CM Encore)

- ICCP = TCP 8001-8002 (CM Encore)

- MGCP = UDP 2427、TCP 2428 (CM Encore)

- 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 PQ !--- (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 WFQ.

注意：虽然可以将各种类型的实时流量排队到PQ，但思科建议您仅将语音流量定向到PQ。实时流量（如视频）可能会引入延迟变化(PQ是先进先出(FIFO)队列)。 为避免抖动，语音流量要求该延迟是固定的。

注：优先级和带宽语句的值之和必须小于或等于PVC的minCIR。否则，无法将 service-policy 命令分配给链路。默认情况下，minCIR 是 CIR 的一半。要发现错误信息，保证 logging console 命令启用于控制台访问，terminal monitor 命令启用于 Telnet 访问。

欲知 bandwidth 和 priority 命令的更多信息，参见比较 QoS 服务策略的 bandwidth 和 priority 命令。

4. 通过将策略映射应用于出站 WAN 接口启用 LLQ。

请使用以下命令启用 LLQ：

maui-voip-sj(config)#map-class frame-relay VoIPovFR

maui-voip-sj(config-if)#service-policy output VOICE-POLICY

!--- The service-policy is applied to the PVC !--- indirectly by configuring !--- it under the map-class associated to the PVC.

IP RTP 优先级

如果不使用 LLQ，请遵循以下指南：

Router(config-map-class)#frame-relay ip rtp priority starting-rtp-port

port-range  bandwidth

- starting-rtp-port - 起始 UDP 端口号。数据包将发往的最低端口号。对于 VoIP，请将此值设置为 16384。

- port-range - UDP 目标端口的范围。将此数值加上 starting-rtp-port，即可得到最高 UDP 端口号。对于 VoIP，请将此值设置为 16383。

- bandwidth - 优先级队列的最大允许带宽 (单位为 kbps)。请根据同步呼叫数设置此值，将系统所支持的每个呼叫的带宽逐个相加。

配置示例：

map-class frame-relay VoIPovFR  frame-relay cir 64000

frame-relay BC 600

no frame-relay adaptive-shaping

frame-relay fair-queue

frame-relay fragment 80

frame-relay ip rtp priority 16384 16383 45

语音流量整形

配置语音流量整形时，请遵循以下指南：

- 请勿超过 PVC 的 CIR。

- 禁用帧中继自适应整形。

- 将 Bc 值设置为较低值，以使 Tc（整形间隔）为 10 毫秒 (Tc = Bc/CIR)。 配置 Bc 值，以强制得到所需的 Tc 值。

- 将 Be 值设置为 0。

有关这些指南的详细信息，请参阅 VoIP 和 VoFR 帧中继流量整形。

注意：一些客户使用单独的PVC进行数据和语音。如果具有两个独立的 PVC，并希望在数据 PVC 中实现突发，同时使语音 PVC 保持或低于 CIR，则语音质量仍可能会受到影响，因为这两个 PVC 使用同一个物理接口。在这种情况下，帧中继提供商以及路由器需要优先安排语音 PVC。后者可通过自Cisco IOS软件版本12.1(1)T起提供的PVC接口优先级队列(PIPQ)来完成。

分段 (FRF.12)

为低速链路（低于 768 kbps）启用分段。 设置分段的大小以便语音信息包不被分段，而且不体验大于20毫秒的连续延迟。根据路由器之间的最低端口速度设置分段大小。例如，假设有一个星型帧中继拓扑，其中中心路由器的速度为 T1，而远程路由器的端口速度为 64 K，则两个路由器上的分段大小均应按照 64 K 的速度进行设置。共享同一个物理接口的其他任何 PVC 都需要将分段大小配置为语音 PVC 所使用的分段大小。请使用下表确定分段大小值。

路径中的最低链路速度

推荐的分段大小（对于 10 毫秒串行化）

56 Kbps

70 字节

64 Kbps

80 字节

128 Kbps

160 字节

256 kbps

320 字节

512 Kbps

640 字节

768 Kbps

1000 字节

1536 Kbps

1600 字节

配置示例：

map-class frame-relay VoIPovFR

!--- Some output is omitted.

frame-relay fragment 80

注意：对于1536 Kbps，技术上无需分段。但如果要启动双重 FIFO 排队系统、保证语音质量，则需要使用分段功能。1600 字节的分段大小可启用双重 FIFO。但是，由于1600字节比典型串行接口最大传输单位(MTU)高，因此大型数据包不会被分段。

网络图

本文档使用此图中所示的网络设置：

配置

本文档使用此处所示的配置：

- maui-voip-sj (Cisco 3640)

- maui-voip-austin (Cisco 3640)

maui-voip-sj (Cisco 3640)

version 12.2

service timestamps debug datetime msec

service timestamps log datetime msec

service password-encryption

!

hostname maui-voip-sj

!

logging buffered 10000 debugging

enable secret 5 $1$MYS3$TZ6bwrhWB25b2cVpEVgBo1

!

ip subnet-zero

!

!--- 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 PQ !--- is assigned to the voice-traffic class !--- with a maximum bandwidth of 45 Kbps.

policy-map VOICE-POLICY

class voice-traffic

priority 45

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. Instead, it is 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.

!

interface Ethernet0/0

ip address 172.22.113.3 255.255.255.0

half-duplex

!

interface Serial0/0

bandwidth 128

no ip address

encapsulation frame-relay

no fair-queue

frame-relay traffic-shaping

frame-relay ip rtp header-compression

!--- Turns on traffic shaping and cRTP. If traffic-shaping is not !--- enabled, then map-class does not start and FRF.12 and LLQ does !--- not work.

!

interface Serial0/0.1 point-to-point

bandwidth 128

ip address 192.168.10.2 255.255.255.252

frame-relay interface-dlci 300

class VOIPovFR

!--- This command links the subinterface to a VoIPovFR map-class. !--- See the map-class frame-relay VoIPovFR command here: !--- Note: The word VoIPovFR is selected by the user. !

ip classless

ip route 172.22.112.0 255.255.255.0 192.168.10.1

!

map-class frame-relay VOIPovFR

no frame-relay adaptive-shaping

!--- Disable Frame Relay BECNS. Note also that Be equals 0 by default.

frame-relay cir 64000

frame-relay bc 640

!--- Tc = BC/CIR. In this case Tc is forced to its minimal !--- configurable value of 10 ms.

frame-relay be 0

frame-relay mincir 64000

!--- Although adaptive shaping is disabled, make CIR equal minCIR !--- as a double safety. By default minCIR is half of CIR.

service-policy output VOICE-POLICY

!--- Enables LLQ on the PVC.

frame-relay fragment 80

!--- Turns on FRF.12 fragmentation and sets the fragment size equal to 80 bytes. !--- This value is based on the port speed of the slowest path link. !--- This command also enables dual-FIFO.

!

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

!

!--- 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 matches VoIP signaling protocol. In this !--- case, H.323 V2 is uesd with the fast start feature.

!

voice-port 1/0/0

!

dial-peer voice 1 pots

destination-pattern 5000

port 1/0/0

!

dial-peer voice 2 voip

destination-pattern 6000

session target ipv4:192.168.10.1

dtmf-relay cisco-rtp

ip precedence 5

maui-voip-austin (Cisco 3640)

version 12.2

service timestamps debug datetime msec

service timestamps log datetime msec

service password-encryption

!

hostname maui-voip-austin

!

boot system flash slot1:c3640-is-mz.122-6a.bin

logging buffered 1000000 debugging

!

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 45

class class-default

fair-queue

!

interface Ethernet0/0

ip address 172.22.112.3 255.255.255.0

no keepalive

half-duplex

!

interface Serial0/0

bandwidth 64

no ip address

encapsulation frame-relay

no ip mroute-cache

no fair-queue

frame-relay traffic-shaping

frame-relay ip rtp header-compression

!

interface Serial0/0.1 point-to-point

bandwidth 64

ip address 192.168.10.1 255.255.255.252

frame-relay interface-dlci 400

class VOIPovFR

!

ip classless

ip route 172.22.113.0 255.255.255.0 192.168.10.2

!

map-class frame-relay VOIPovFR

no frame-relay adaptive-shaping

frame-relay cir 64000

frame-relay bc 640

frame-relay be 0

frame-relay mincir 64000

service-policy output voice-policy

frame-relay fragment 80

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

!

dial-peer voice 1 pots

destination-pattern 6000

port 1/0/0

!

dial-peer voice 2 voip

destination-pattern 5000

session target ipv4:192.168.10.2

dtmf-relay cisco-rtp

ip precedence 5

验证与故障排除

本部分提供的信息有助于确认配置是否正常运行。

命令输出解释程序工具（仅限注册用户）支持某些 show 命令。 通过此工具可查看对 show 命令输出的分析。

LLQ/IP RTP 优先级命令

以下 show 和 debug 命令可帮助您验证 LLQ 和 IP RTP 优先级配置。

- show policy-map interface serial interface# - 此命令可用于查看 LLQ 操作和 PQ 中的任何丢包现象。欲知此命令的各种字段的更多信息，请参见了解 show policy-map interface 输出中的数据包计数器。

- show policy-map policy_map_name - 显示有关策略映射配置的信息。

- show queue interface-type interface-number - 列出特定接口的公平排队配置和统计信息。

- debug priority - 显示 PQ 事件并显示此队列中是否发生丢包现象。有关详细信息，请参阅优先级排队中的输出丢包故障排除。

- show class-map class_name - 显示有关类映射配置的信息。

- show call active voice - 在 DSP 级别上检查是否有丢失的数据包。

- show frame-relay ip rtp header-compression - 显示 RTP 报头压缩统计信息。

分段命令

请使用以下 Debug 和 Show 命令对分段配置进行验证和故障排除。

- show frame-relay fragment - 显示 Cisco 路由器中发生的帧中继分段的相关信息。

- debug frame-relay fragment - 显示与帧中继分段相关的事件或错误消息。此命令仅可在 PVC 级别所选接口上启用。

帧中继/接口命令

请使用以下 show 命令对帧中继/接口配置进行验证和故障排除。

- show traffic-shape queue interface---显示VC数据链路连接标识符(DLCI)级别排列的元素信息。用于验证帧中继上的 IP RTP 优先级操作。当链路发生拥塞时，语音流以零权重表示。这表明语音流使用 PQ。请参阅此处的输出示例。

- show traffic-shape - 显示 Tc、Bc、Be 和 CIR 配置值等信息。请参阅输出示例。

- show frame-relay pvc dlci-# - 显示流量整形参数、分段值和数据包丢包等信息。请参阅输出示例。另请参阅帧中继故障排除。

已知问题

已识别有关 VC LLQ 的 Bug，即使接口上没有拥塞，PQ 也被严格管辖。该 Bug 已修复，现在只有 VC 上出现拥塞时，不符合条件的语音数据包才会被丢弃。这使得针对每个 VC 的 LLQ 的行为与其他使用 LLQ 的接口相同。此行为在 Cisco IOS 软件版本 12.2(3) 及更高版本中已经更改。

show 及 debug 命令输出示例

以下是用于验证和故障排除的 show 和 debug 命令输出示例。

!--- To capture sections of this output, the LLQ PQ bandwidth !--- is lowered and large data traffic is placed !--- on the link to force packets drops. !--- Priority queue bandwidth is lowered to 10 Kbps to force drops from the PQ. !--- Note: To reset counters, use the clear counters command.

maui-voip-sj#show policy-map inter ser 0/0.1

Serial0/0.1: DLCI 300 -

Service-policy output: VOICE-POLICY

Class-map: voice-traffic (match-all)

26831 packets, 1737712 bytes

5 minute offered rate 3000 bps, drop rate 2000 bps

Match: access-group 102

Weighted Fair Queueing

Strict Priority

Output Queue: Conversation 24

Bandwidth 10 (kbps) Burst 250 (Bytes)

(pkts matched/bytes matched) 26311/1704020

(total drops/bytes drops) 439/28964

Class-map: voice-signaling (match-all)

80 packets, 6239 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 103

Weighted Fair Queueing

Output Queue: Conversation 25

Bandwidth 8 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 62/4897

(depth/total drops/no-buffer drops) 0/0/0

Class-map: class-default (match-any)

14633 packets, 6174492 bytes

5 minute offered rate 10000 bps, drop rate 0 bps

Match: any

Weighted Fair Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 16

(total queued/total drops/no-buffer drops) 0/0/0

!--- These commands are useful to verify the LLQ 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 45 (kbps) Burst 1125 (Bytes)

Class class-default

Weighted Fair Queueing

Flow based Fair Queueing Max Threshold 64 (packets)

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

!--- Frame Relay verification command output.

maui-voip-sj#show frame-relay fragment

interface         dlci  frag-type    frag-size  in-frag    out-frag   dropped-frag

Serial0/0.1       300   end-to-end      80         4          4          0

maui-voip-sj#show frame-relay pvc 300

PVC Statistics for interface Serial0/0 (Frame Relay DTE)

DLCI = 300, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0.1

input pkts 7 output pkts 7 in bytes 926

out bytes 918 dropped pkts 0 in FECN pkts 0

in BECN pkts 0 out FECN pkts 0 out BECN pkts 0

in DE pkts 0 out DE pkts 0

out bcast pkts 2 out bcast bytes 598

pvc create time 1w2d, last time pvc status changed 1w2d

service policy VOICE-POLICY

Service-policy output: VOICE-POLICY

Class-map: voice-traffic (match-all)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 102

Weighted Fair Queueing

Strict Priority

Output Queue: Conversation 24

Bandwidth 45 (kbps) Burst 250 (Bytes)

(pkts matched/bytes matched) 0/0

(total drops/bytes drops) 0/0

Class-map: voice-signaling (match-all)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 103

Weighted Fair Queueing

Output Queue: Conversation 25

Bandwidth 8 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 0/0

(depth/total drops/no-buffer drops) 0/0/0

Class-map: class-default (match-any)

7 packets, 918 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: any

Weighted Fair Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 16

(total queued/total drops/no-buffer drops) 0/0/0

Output queue size 0/max total 600/drops 0

fragment type end-to-end fragment size 80

cir 64000 bc 640 be 0 limit 80 interval 10

mincir 64000 byte increment 80 BECN response no

frags 13 bytes 962 frags delayed 8 bytes delayed 642

shaping inactive

traffic shaping drops 0

!--- In this Frame Relay verification command !--- output, the PQ bandwidth is lowered and heavy traffic !--- is placed on the interface to force drops.

maui-voip-sj#show frame-relay pvc 300

PVC Statistics for interface Serial0/0 (Frame Relay DTE)

DLCI = 300, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0.1

input pkts 483 output pkts 445 in bytes 122731

out bytes 136833 dropped pkts 0 in FECN pkts 0

in BECN pkts 0 out FECN pkts 0 out BECN pkts 0

in DE pkts 0 out DE pkts 0

out bcast pkts 4 out bcast bytes 1196

pvc create time 1w2d, last time pvc status changed 1w2d

service policy VOICE-POLICY

Service-policy output: VOICE-POLICY

Class-map: voice-traffic (match-all)

352 packets, 22900 bytes

5 minute offered rate 2000 bps, drop rate 2000 bps

Match: access-group 102

Weighted Fair Queueing

Strict Priority

Output Queue: Conversation 24

Bandwidth 10 (kbps) Burst 250 (Bytes)

(pkts matched/bytes matched) 352/22900

(total drops/bytes drops) 169/11188

Class-map: voice-signaling (match-all)

7 packets, 789 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 103

Weighted Fair Queueing

Output Queue: Conversation 25

Bandwidth 8 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 7/789

(depth/total drops/no-buffer drops) 0/0/0

Class-map: class-default (match-any)

79 packets, 102996 bytes

5 minute offered rate 4000 bps, drop rate 0 bps

Match: any

Weighted Fair Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 16

(total queued/total drops/no-buffer drops) 5/0/0

Output queue size 5/max total 600/drops 169

fragment type end-to-end fragment size 80

cir 64000 bc 640 be 0 limit 80 interval 10

mincir 64000 byte increment 80 BECN response no

frags 2158 bytes 178145 frags delayed 1968 bytes delayed 166021

shaping active

traffic shaping drops 169

!--- Notice that the Tc interval equals 10 ms, !--- CIR equals 64000 BPS, and BC equals 640.

maui-voip-sj#show traffic-shape

Interface  Se0/0.1

Access Target    Byte   Sustain   Excess    Interval  Increment Adapt

VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active

300           64000     80     640       0          10        80         -

!--- This output is captured on an isolated lab enviroment where !--- the routers are configured with IP RTP Priority instead of LLQ.

maui-voip-austin#show frame-relay PVC 100

PVC Statistics for interface Serial0/1 (Frame Relay DTE)

DLCI = 100, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/1.1

input pkts 336           output pkts 474          in bytes 61713

out bytes 78960          dropped pkts 0           in FECN pkts 0

in BECN pkts 0           out FECN pkts 0          out BECN pkts 0

in DE pkts 0             out DE pkts 0

out bcast pkts 0         out bcast bytes 0

PVC create time 1w0d, last time PVC status changed 1w0d

Current fair queue configuration:

Discard      Dynamic       Reserved

threshold    queue count   queue count

64            16              2

Output queue size 0/max total 600/drops 0

fragment type end-to-end        fragment size 80

cir 64000     BC   640      be 0     limit 125    interval 10

mincir 32000    byte increment 125   BECN response no

frags 1091      bytes 82880     frags delayed 671      bytes delayed 56000

shaping inactive

traffic shaping drops 0

ip rtp priority parameters 16384 32767 45000

!--- This command displays information of the VoIP dial-peers.

maui-voip-austin#show dial-peer voice 2

VoiceOverIpPeer2

information type = voice,

tag = 2, destination-pattern = `5000',

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-target = `ipv4:192.168.10.2',

technology prefix:

ip precedence = 5, UDP checksum = disabled,

session-protocol = cisco, req-qos = best-effort,

acc-qos = best-effort,

dtmf-relay = cisco-rtp,

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 = 165830, Charged Units = 0,

Successful Calls = 30, Failed Calls = 0,

Accepted Calls = 30, Refused Calls = 0,

Last Disconnect Cause is "10",

Last Disconnect Text is "normal call clearing.",

Last Setup Time = 69134010.

相关信息

- 帧中继的低延迟队列

- 使用 QoS DSCP 对 VoIP 信令和媒体进行分类

- 用于帧中继流量整形的show命令

- 帧中继 IP RTP 优先级

- 配置帧中继和帧中继流量整形

- 帧中继的配置与故障排除

- 帧中继语音排队增强功能

- 语音技术支持

- 语音和 IP 通信产品支持

- Cisco IP 电话故障排除

- 技术支持 - Cisco Systems