[toc:faq]
Overview
Before placing voice and video traffic on a network, it is important to ensure that there is adequate bandwidth for all required applications. After this bandwidth has been provisioned, voice priority queuing must be performed on all interfaces. This queuing is required to reduce jitter and possible packet loss if a burst of traffic oversubscribes a buffer. This queuing requirement is similar to the one for the LAN infrastructure. Next, the WAN typically requires additional mechanisms such as traffic shaping to ensure that WAN links are not sent more traffic than they can handle, which could cause dropped packets. Finally, link efficiency techniques can be applied to WAN paths. For example, link fragmentation and interleaving (LFI) can be used to prevent small voice packets from being queued behind large data packets, which could lead to unacceptable delays on low-speed links.
Configuration Guides
QoS Command Reference
CME SRND WAN QoS Chapter
Class Based Shaping
Class Based Weighted Fair Queueing
Low Latency Queueing
Example Configuration
The following configuration will is an example of 1 G729 call being configured over a 256k uplink. The first class map VoIP is set to match all RTP packets. The DSCP value of ef is used by default by Cisco Phones on RTP packets.
class-map match-any VoIP
match ip dscp ef
The Signaling class is set to match the DSCP values of cs3 and af31. These are the DSCP values commonly associated with signaling protocols.
class-map match-any Signaling
match ip dscp cs3
match ip dscp af31
The policy maps are used to policies to matched traffic defined in the class maps. This policy map is defining priority of 26 for class VoIP, and bandwidth of 10 fo class signaling. Class class-default is defined as fair queue.
This command configures low latency queueing (LLQ), providing strict priority queueing (PQ) for class-based weighted fair queueing (CBWFQ). Strict PQ allows delay-sensitive data such as voice to be dequeued and sent before packets in other queues are dequeued.
When the device is not congested, the priority class traffic is allowed to exceed its allocated bandwidth. When the device is congested, the priority class traffic above the allocated bandwidth is discarded.
Use the bandwidth command when you configure a policy map for a class defined by the class-map command. The bandwidth command specifies the bandwidth for traffic in that class. Class-based weighted fair queueing (CBWFQ) derives the weight for packets belonging to the class from the bandwidth allocated to the class. CBWFQ then uses the weight to ensure that the queue for the class is serviced fairly.
The class-default class is the default class to which traffic is directed if that traffic does not satisfy the match criteria of other classes whose policy is defined in the policy map.
In the example below, where there is congestion, 206 kbps is reserved for voice traffic. G.711 uses roughly 90 kbps per call and g.729 uses roughly 26 per call. This configuration would allow 2 g.711 calls and 1 g.729 call, or 7 g.729 calls. Bandwidth is set to use 10 kbps for signaling, which is should be enough for almost all cases.
The priority command is used to specify the bandwidth that is reserved for voice.
policy-map Bottom_Class
class VoIP
priority 206
class Signaling
bandwidth 10
class class-default
fair-queue
The shape average command defines the WAN link upload speed. The current configuration is for a 512 kbps upload. When there is more than 512 kbps of traffic, there is congestion and the defined policy maps are used. The service policy command references the "Bottom_Class" as a child policy so that both policy can be used on an interface.
policy-map Top_Class
class class-default
shape average 512000
service-policy Bottom_Class
The final step is applying the policy to an interface. The class is applied to the FastEthernet0/0 as output. Traffic leaving this interface will use the policy map "Top_Class".
interface FastEthernet0/0
service-policy output Top_Class
Cut And Paste Of This Example
config t
class-map match-any VoIP
match ip dscp ef
class-map match-any Signaling
match ip dscp cs3
match ip dscp af31
policy-map Bottom_Class
class VoIP
priority 206
class Signaling
bandwidth 10
class class-default
fair-queue
policy-map Top_Class
class class-default
shape average 512000
service-policy Bottom_Class
interface FastEthernet0/0
service-policy output Top_Class
Troubleshooting Information
Troubleshooting QoS Choppy Voice Issues