Cisco QOS Marking for Phones and Profit

By July 20, 2017September 16th, 2020Blog, Cisco
Cisco IP Phone ready for QOS marking

Setting up QOS Marking:

This document a simple method for setting up the QOS marking for voice traffic on a Cisco Router. Say, you have a large network with switches and core routers already configured to utilize priority queuing for layer-3 markings (DSCP), but your provider (like most providers) tends to reset any QOS markings on traffic flowing across their network. This document describes how to configure a Cisco Router to mark traffic based on an access-list as it comes into your network, allowing devices already configured for QOS queuing to prioritize that traffic in moments of congestion.

Where to Configure Marking:

In order to fully-utilize QOS, you should do marking as close to the source of traffic as possible. For most IP phones, outgoing traffic will be marked by the phone itself. If phone server/call manager is on-site then traffic should be marked either by the server or the first connected device in path capable of doing so.

In this particular example, we assume that the phone server is in the cloud, and so we setup inbound markings on the edge router, where the internet circuit first comes into the network.

Configuration of QOS Marking:

  • First thing, we need to create an access list defining the traffic we wish to mark. In this case we will make it simple and mark anything coming into the device from the cloud phone server subnet 1.1.1.1/24
edge-router# config t
edge-router(config)# access-list 101 permit ip 1.1.1.1 0.0.0.255 any
  • Now we need to setup a class-map to apply the access list to. Essentially this defines the type of traffic we are looking to mark.
edge-router(config)# class-map match-any VOICE_TRAFFIC
edge-router(config-cmap)# match access-group 101
  • Now we need to define a service policy and class. The class will contain actions to run against traffic defined by previously configured class-map. In our case, the action will be marking all packets to that class as ‘EF’. Remember that your class must be named the same as your class-map.
edge-router(config)#policy-map VOICE
edge-router(config-pmap)#class VOICE_TRAFFIC
edge-router(config-pmap-c)# set ip dscp ef
  • Finally, we need to apply the policy-map to an interface. We’ll assume our outside interface is G0/0 on this device. Since this is marking traffic coming in from the internet, we want the policy applied in the inbound direction:
edge-router(config)#interface GigabitEthernet0/0
edge-router(config-if)# service-policy input VOICE
  • Now to verify that marking is actually happening, run the ‘show policy-map’ command against the interface you just applied to:
bt-nyc-edge01#sh policy-map interface G0/0
 GigabitEthernet0/0

  Service-policy input: VOICE

    Class-map: VOICE_TRAFFIC (match-any)
      741363 packets, 557711306 bytes
      5 minute offered rate 61000 bps, drop rate 0 bps
      Match: access-group 101
        741363 packets, 557711306 bytes
        5 minute rate 61000 bps
      QoS Set
        dscp ef
          Packets marked 741363

    Class-map: class-default (match-any)
      47474577 packets, 25601416146 bytes
      5 minute offered rate 2127000 bps, drop rate 0 bps
      Match: any

Success! Now during times of congestion, our phone traffic should take priority on devices configured for QOS.

Max Fuller, PEI

Leave a Reply