VOIP phone QoS on Cisco infrastructure

We are a 100% Cisco shop. Curently, we have no qos running on our infrastructure.

We will be deploying phones in the near future, what is the easiest / best way to implement QoS for the phones that we will be deploying?

How is QoS configured / deployed on a Cisco infrastructure?

What considerations should be made?
Who is Participating?
There is a school of thought that in a fully switched 100Mbit/s network, you do not need QoS, however, I strongly disagree with this.  Whilst under normal circumstances, it is probably true, that QoS would not be required, if the network is heavily utilised (large file transfers etc.), your voice traffic would be impacted.

VLANs to separate voice and data traffic is highly recommended.  You need to consider your VLAN design - I normally have one voice VLAN per building or per floor if your buildings are very large.  I keep these to /24 networks for manageability.  Voice VLANs are defined in the normal manner, however, for access ports connecting to a telephone you use the following commands:
switchport access vlan <data vlan number>
switchport vlan voice <voice vlan number>
switchport mode access

I am not sure about Avaya, however, Cisco telephones detect the voice VLAN that they should use via CDP, other vendors use LLDP (an open standards variant of CDP), or, some (such as Mitel) obtain this information via DHCP options.  You will need to check the Avaya documentation to establish which applies.

If you are not using Cisco phones, on each port connecting to a telephone, you need trust the QoS markings that the phone uses to mark the packets for priority treatment, using:
mls qos trust cos
This assumes the handset uses CoS marking.  If it uses DSCP marking, you need to use:
mls qos trust dscp

As for the other QoS commands, there is a global section that defines your queues, CoS to DSCP mapping tables etc.  and some commands for each interface connecting to an IP handset.  If you explain more about your network, I can give you some specific information about this.

You need to consider low bandwidth links carefully, and, if necessary implement CAC (call access control) so that it is not possible to place more calls on that link that it can manage (otherwise all calls on this link would degrade).  If all of your links are 100Mbit/s or above you are unlikely to need to consider this.

Any Cisco routers in your infrastrucrture will need to use policy maps to prioritise the voice traffic, if, you are only using layer3 switches, you do not need to worry about this.

I hope this is of some help.
c-h-r-i-s-t-o-p-hAuthor Commented:
Also, I plan on splitting the phone traffic into seperate VLANs for QoS.
autoqos is your best bet. its simple and almost requires no work.

on your trunk links use the command "auto qos voip trust" and for access ports use "auto qos voip trust cisco-phone"

Here are some videos:

Auto Qos on routers:

Auto QoS on switches:
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

c-h-r-i-s-t-o-p-hAuthor Commented:
My mistake. Our router / switch infrastructure is 100% Cisco.

However, we are going with the Avaya VOIP solution.

Will this affect the config?
Yes, im not familiar with the way avaya works with qos.

The trunk link commands are still the same but the access ports won't be dynamic. You would have to extend trust to those ports that have phones. With Cisco phones, trust is handed to the phone when it is detected through CDP.
Here is an example of policy maps on your routers, just to augment Anthony's comment

policy-map MPLS_QOS
    priority percent 40
  set ip precedence 7
    priority percent 30
  set ip precedence 6
 class class-default
I have to disagree with atrevido.

It's not a good idea to mark any traffic higher than 5. 6 and 7 are used for network and internetwork control.
c-h-r-i-s-t-o-p-hAuthor Commented:
This is good information. I have been involved in Cisco VOIP deployments in the past, but this will be my first run with Avaya.

I am familiar with the access vlan & vlan voice config.

Avaya uses DHCP to tell the phones which vlan is for voip traffic.

We have Cisco routers at the heart / along the backbone of our network.

We also plan to use several voice vlans. Lately, I have been wondering what sort of configuration would be required at the core of the network in order to provide qos to multiple voice vlans.


I am assuming that the config that you're describing can be applied in a blanket config on all access ports. And then the switch will apply this config only to the voice vlans in question. Is this accurate?
Yes, the configuration can be applied to all access ports (using the interface range command).  If, however, you have servers connected to some of the access ports, I recommend that you do not apply a voice VLAN to those: this is a security best practice.
I am not sure what you mean by 'And then the switch will apply this config only to the voice vlans in question' - please could you clarify?

At the core of your network (routers rather than multilayer switches in your case, if I understand correctly?), you need to configure class maps (to classify traffic) and policy maps to specify what proportion of the bandwidth each type of classified traffic will receive.  If you do not implement QoS at the core, QoS markings can be lost for traffic passing through the core, and, therefore, voice traffic will be delivered 'best effort' for the final leg of its journey.
c-h-r-i-s-t-o-p-hAuthor Commented:
Meaning that I can apply this config at a global level. And after that, the switch will ignore the config for standard data traffic (vlans). However, the switch will activate the config for standard voice traffic (vlans).
Yes, the global QoS configuration allocates frames to queues based on their CoS (class of service) marking.  So, a data frame will gererally have a CoS value of 0 (best effort), but your voice media frames will have a CoS value of 5 (and signalling frames will have a CoS value of 3).  These will be given preferential service in accordance with the global QoS configuration.
c-h-r-i-s-t-o-p-hAuthor Commented:
I understand how the qos is set at the edge, and what the function is.

I guess that i'm not understanding how the qos travels across the network or is passed from edge to core?

what would an example qos config be for edge, trunk, and core?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.