/mcpclass class−default set ip precedence 0 ! interface Ethernet0/0 service−policy input mqc In this configuration example, any traffic that matches Access Control List (ACL) 100 is classified as "class voip" and set with IP Precedence 5. This means that the three most significant bits of the IP ToS byte are set to 101. ACL 100 matches the common UDP ports used by VoIP. Similarly ACL 101 matches H.323 signaling traffic (Transmission Control Protocol (TCP) port 1720). All other traffic is set with IP Precedence 0. The policy is called "mqc". It is applied to incoming traffic on Ethernet 0/0. Prioritizing After every hop in the network is able to classify and identify the VoIP packets (either through port/address information or through the ToS byte), those hops then provide each VoIP packet with the required QoS. At that point, configure special techniques to provide priority queuing to make sure that large data packets do not interfere with voice data transmission. This is usually required on slower WAN links where there is a high possibility of congestion. Once all the interesting traffic is placed into QoS classes based on their QoS requirements, provide bandwidth guarantees and priority servicing through an intelligent output queuing mechanism. A priority queue is required for VoIP. Note: Use any queuing mechanism that effectively gives VoIP high priority. However, Low Latency Queuing (LLQ) is recommended because it is flexible and easy to configure. LLQ uses the modular QoS CLI configuration method to provide priority to certain classes and to provide guaranteed minimum bandwidth for other classes. During periods of congestion, the priority queue is policed at the configured rate so that the priority traffic does not use up all the available bandwidth. (If the priority traffic monopolizes the bandwidth, it prevents bandwidth guarantees for other classes from being met.) If you provision LLQ correctly, the traffic that goes into the priority queue should never exceed the configured rate. LLQ also allows queue depths to be specified to determine when the router needs to drop packets if there are too many packets that wait in any particular class queue. There is also a class−default command that is used to determine treatment of all traffic not classified by a configured class. The class−default is configured with a fair−queue command. This means that each unclassified flow is given an approximately equal share of the remaining bandwidth. This example shows how to configure LLQ. For more information, refer to Low Latency Queuing: access−list 100 permit udp any any range 16384 32000 access−list 101 permit tcp any any eq 1720 access−list 102 permit tcp any any eq 80 access−list 103 permit tcp any any eq 23 ! class−map match−all voip match access−group 100 class−map match−all voip−control natch access−group 101 class−map match−all data1 match access−group 102 class−map match−all data2 match access−group 103 ! policy−map llq class voip priority 32 class voip−control bandwidth 8 class data1