QoSCCNA 200-301

CBWFQ Used for Voice Instead of LLQ — Voice Quality Poor

Presenting Symptom

Voice calls experience poor quality with jitter and delay, despite QoS being configured on the WAN router.

Network Context

A small branch office with a Cisco 4321 router running IOS XE 16.9 connects to the HQ via a 10 Mbps leased line. Voice traffic from IP phones is marked with DSCP EF, but the router uses CBWFQ instead of LLQ for the voice class. The network has about 50 users and 20 IP phones.

Diagnostic Steps

1

Check the current QoS policy applied to the WAN interface

show policy-map interface serial0/0/0
Serial0/0/0: output policy: QOS-POLICY
  Class-map: VOICE (match-any)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
  Match: ip dscp ef (46)
  Queueing
    queue limit 64 packets
    (queue depth/total drops/no-buffer drops) 0/0/0
    (pkts output/bytes output) 0/0
  Class-map: class-default (match-any)
    0 packets, 0 bytes
    5 minute offered rate 0 bps, drop rate 0 bps
  Match: any

The policy shows a VOICE class matching DSCP EF, but no priority or bandwidth statement is visible. This indicates CBWFQ is used (default queueing) rather than LLQ. The drop rate may be zero because the link is not congested yet, but during congestion, voice packets will compete with other traffic.

2

Examine the class-map and policy-map configuration

show running-config | section policy-map
policy-map QOS-POLICY
 class VOICE
  bandwidth 256
 class class-default
  fair-queue

The VOICE class uses 'bandwidth 256' instead of 'priority 256'. This is the root cause: CBWFQ guarantees bandwidth but does not provide strict priority queueing, so voice packets can be delayed by other traffic during congestion.

3

Simulate congestion to observe voice packet drops

show policy-map interface serial0/0/0
Serial0/0/0: output policy: QOS-POLICY
  Class-map: VOICE (match-any)
    1000 packets, 64000 bytes
    5 minute offered rate 256000 bps, drop rate 0 bps
  Class-map: class-default (match-any)
    5000 packets, 4000000 bytes
    5 minute offered rate 2000000 bps, drop rate 100000 bps

Even though the VOICE class has bandwidth guarantee, during congestion the class-default may drop packets, but voice packets are not prioritized and may experience queuing delay. The absence of priority queueing causes jitter.

4

Check for any priority queueing configuration elsewhere

show running-config | include priority
No output (no priority command configured)

Confirms that no priority queueing is configured anywhere. The fix is to change the VOICE class to use 'priority' instead of 'bandwidth'.

Root Cause

The QoS policy-map uses the 'bandwidth' command for the voice class instead of 'priority'. CBWFQ with bandwidth guarantee does not provide strict priority queuing, so voice packets experience variable delay (jitter) during congestion, degrading voice quality.

Resolution

Modify the policy-map to use LLQ by changing the voice class from 'bandwidth' to 'priority'. Steps: 1. Enter global configuration mode. 2. Remove the existing policy-map: 'no policy-map QOS-POLICY' 3. Recreate the policy-map with priority: policy-map QOS-POLICY class VOICE priority 256 class class-default fair-queue 4. Apply the policy to the interface: 'interface serial0/0/0' then 'service-policy output QOS-POLICY'

Verification

Run 'show policy-map interface serial0/0/0' and verify the VOICE class shows 'Strict Priority' and 'priority 256' in the output. Also run 'show running-config | section policy-map' to confirm the priority command is present. During congestion, voice packets should have zero drops and minimal delay.

Prevention

1. Always use 'priority' for real-time traffic (voice/video) to ensure strict priority queuing. 2. Reserve adequate bandwidth for priority queues (e.g., 256 kbps for voice). 3. Use AutoQoS to automatically configure LLQ for voice traffic.

CCNA Exam Relevance

On the CCNA 200-301 exam, this scenario tests understanding of QoS queueing mechanisms. Questions may present a troubleshooting scenario where voice quality is poor and ask to identify the misconfiguration (CBWFQ vs LLQ). The exam expects candidates to know that 'priority' provides strict priority queuing, while 'bandwidth' only guarantees minimum bandwidth.

Exam Tips

1.

Memorize that LLQ uses the 'priority' command and provides strict priority queuing for real-time traffic.

2.

In exam simulations, look for 'bandwidth' under a voice class as a common misconfiguration.

3.

Know that 'show policy-map interface' is the key command to verify QoS queueing behavior.

Commands Used in This Scenario

Test Your CCNA Knowledge

Practice with scenario-based questions to prepare for the CCNA 200-301 exam.

Practice CCNA Questions