QoS/CoS on Catalyst 2950


I have recently configured the switchports on a Cisco Catalyst 2950 for VoIP. I done the following:

switchport access vlan 1 switchport mode access switchport voice vlan 2 mls qos trust cos spanning-tree portfast spanning-tree bpduguard

The PCs are plugged into the phones and the phones are plugged into the switchports...

Is this sufficient QoS for a single site network (meaning that I am only running Voice and Data on a single LAN with no Wide Area Routing involved).

The phones have been given a priority of 6 (not sure if these should have been 5???). I have assumed that the 'mls qos trust cos' entry configures the switchport to treat the priority 6 (voice) traffic as more important than the 'best effort' (data) traffic.

Are my assumptions correct?

I have also configured the trunks between switches as follows:

switchport mode trunk mls qos trust cos

I have had a decent amount of experience with Cisco 2950s and 3550s but have not needed, until now, needed to configure the network for VoIP.

Thanks, JT.

Reply to
Loading thread data ...


You lost me after you wrote JT!!!

Is there a Cisco document, perhaps a .pdf that explains QoS/CoS?

Im pretty sure 2950's don't support Auto QoS. Basically I'm going to take a look at the configs you've posted and hopefully get a better understanding of it.

Thanks for your post.


Reply to


Forgot to say that the IP phones (Mitel not Cisco) get their Priority values from a DHCP server (in the scope settings). I will change this to 5.

On seond glance I think Im starting to understand what you have posted, but I still need to have a bitof a read!

Thanks for your help, JT.

Reply to

Hi JT,

You may wish to investigate Cisco IOS Software Quality of Service:

formatting link
as well as Cisco's Configuring Quality of Service for Voice:

formatting link
and Cisco's Configuring QoS:

formatting link
Hope this helps.

Brad Reese BradReese.Com Cisco Repair Service Experts

1293 Hendersonville Road, Suite 17 Asheville, North Carolina USA 28803 U.S. Toll Free: 877-549-2680 International: 828-277-7272 Website:
formatting link
Reply to


Well, that's a start, and likely all that you would need, depending on the amount of traffic you have in your network. But, you should take a closer look at some other things. If you have auto qos (EMI image), I would encourage you to use it. Under the interface, just type 'auto qos voip cisco-phone' (for phones) or 'auto qos voip trust' (for trunk links). This will not only add the command that you did, but also do a couple other things. On the phone ports, it will disable the trust relationship if it does not see a phone via cdp on the port. Also, it will add the following commands to your general config. If you don't have EMI, you could stand to enter these on your own.

wrr-queue bandwidth 20 1 80 0 wrr-queue cos-map 1 0 1 2 4 wrr-queue cos-map 3 3 6 7 wrr-queue cos-map 4 5 mls qos map cos-dscp 0 8 16 26 32 46 48 56

Where did you set your phones to have Cos 6? You do want to change that to

  1. As you will see from the above config, it is putting Cos 6 into the same queue as 3 and 7. The preemptive queue (4) has Cos 4 and 5. I'm not sure what the default for these queues is, but this is what the auto qos has set mine to. Really, for voip, you want dscp 46 (ef), which is what the cos-map is doing for cos 5.

Hope that helps,


Reply to

Any docs you find to read on Qos will probably be pretty comprehensive and thick. While it is fairly simple in theory, there is a lot to it. A good book to start with would be the Cisco DQOS self-study guide.

The 2950's with the EMI image will do auto qos. If you have the SMI, it will not.


Reply to

I do understand that QoS is a fairly large subject, but a starter for

10 is what I need at the moment.

Thanks for all your help.


Reply to

Ok, another couple of quick questions...

I have now configured the switchports as follows:

interface FastEthernet0/X description UserVLAN switchport mode access switchport voice vlan 2 switchport priority extend cos 1 mls qos trust cos spanning-tree portfast spanning-tree bpduguard enable

My understanding is that 'switchport priority extend cos 1' will assign the PC plugged into the phone a priority of 1 leaving the phone a priority of 6?

Is there any way I can look at the Tag field of a frame as it goes through an interface to ensure that the priority is set at what I think it is? (maybe a debug command???)

The WRR entries that Scooby mentioned... Are these used so data doesnt get dropped if the queues are jammed up with Voice frames?

I know Im jumping in head first but Im starting to find it very interesting!

NEXT... QoS over a Layer 3 network!!!

Thanks for all your help, it has been good information.


Reply to

I've never used the switchport priority extend cos command and can't comment on it. Unless you think that there are apps on the pc setting the qos information you probably don't need to worry about it. But, that is why I use the 'auto qos voip cisco-phone'. It handles this for me.

You can always use a sniffer and monitor the port you have in question to check and see what is in the packets. Another option is using netflow from devices that support it (a 2950 does not), pretty much just the L3 devices. Netflow will send you the TOS byte - on a flow basis, not a per packet basis.

As for the WRR entries.... Each device has a certain number of queues. The entries listed are specifying how to use those queues (which get more bandwidth, what cos goes to what queue)

Yea, this is fun stuff. Enjoy it !!!!


Reply to

Hi all

(I might have already posted this, if so Im sorry).

I know this is an old thread but I have an update/further questions.

I set my interfaces with the following:

switchport mode access

I was having major problems. The voice traffic was very clicky (I assumed that the frames did not include the CoS as they wer not dot1q trunks). So I changed the entries to:

switchport mode trunk switchport trunk native vlan 2

This seemed to fix my problems!!! Wehey! I have a couple of questions if somebody could take the time to answer them:

I have set the weighted round robin bandwidth as 80/20 in favour of voice traffic over data traffic. Is this a default setting and how can I decide on what values to use?

Do I need to set cos-dscp mappings on a Layer 2 network (single LAN)? My feelings are that unless I need to send the voice traffic over a WAN I do not need to worry about DSCP?

I would also like to ensure that the PC priority cannot be changed by savvy users. Is there a way I can ensure that the port on the switch ignores any settings on the PC?

And lastly... What entries do I need to set on the trunks between switches to ensure that I get a QoS solution end-end? All I have set at present is:

mls qos trust cos

Is this sufficient?

Thanks in advance, John T

Reply to

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.