Skip to content

Voice

QoS: the parts people skip

27/10/2026 · 2 min read · Tanveer Ahmed

Applies to Any platform Cisco IOS / IOS-XE The principles apply to any network; the examples are Cisco IOS, with the trust commands as found on classic Catalyst switches.

Most QoS deployments mark traffic carefully and then do nothing with the marking. Marking is a label. It changes behaviour only where a queueing policy acts on it, and only where there is congestion for it to act on.

The three parts

Classification — deciding what a packet is. Marking — recording that decision in the packet so later devices need not repeat the work. Queueing — behaving differently based on it when there is contention.

Skip the third and you have an elaborately labelled network that behaves exactly as it did before.

Mark at the edge, trust in the core

Classify where you understand the traffic, which is the access layer. Deep inspection in the core is expensive and unnecessary if the edge has already labelled things.

Critically: do not trust markings from devices you do not control. A user workstation can mark its traffic as expedited forwarding, and if you trust it, one person’s download outranks everyone’s calls.

! trust the phone, not the PC behind it
interface GigabitEthernet0/5
 mls qos trust device cisco-phone
 mls qos trust dscp

Priority queue with a limit

Voice belongs in a strict priority queue so it is always served first. It must also be policed. An unpoliced priority queue can consume the entire link, starving everything else — including the signalling that sets up the calls.

policy-map WAN-OUT
 class VOICE
  priority percent 20        ! served first, capped at 20%
 class SIGNALLING
  bandwidth percent 5
 class class-default
  fair-queue

It only acts under congestion

On an uncongested link, every packet is forwarded immediately and QoS changes nothing. This is why testing QoS on a quiet network proves nothing. Generate real congestion and then measure.

Where it must be applied

At the bottleneck, in the direction of the bottleneck. Usually that is the WAN-facing interface outbound. A policy applied on the LAN side of a router does nothing useful for traffic queueing to leave via a slower link.

Related reading