Prioritizing VoIP on an ASA 5510 with mulitple VLANs.

Tercestisi used Ask the Experts™
We need to prioritize VoIP traffic over a number of Catalyst 2955 and 2960 switches that are connected about 5-50 miles away from our corporate center via fiber. The switches will be no problem as I'll set all of the Mitel phones to have a CoS value of 5 and will implement Cisco EasyQoS on those switches.  

My problem is with the ASA, that acts as a router on a stick to route between all of our VLANs. We have about 20 VLAN's, but only (3) will be needed for the phones. The problem is that the phones are part as the same VLAN's as the data connections, so I cannot prioritize simply by interface. So let's say I have VLAN 50, VLAN 51 and VLAN 52 that carries voice and data, and that these VLAN's are sub-interfaces.

How can I correctly implement QoS for the phones in this scenario?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Hi Tercestisj,

QOS is implemented in the ASDM in the Configuration > Firewall > Service Policy Rules pane, if you click add it will launch a wizard that will guide you through policies based on protocol.

The first screen asks you to define an interface (you will need to create a separate policy for each interface.

The second screen will ask you how you would like to identify the traffic to be inspected. I believe for your scenario you will want to use "Class-Default" to inspect all traffice, but if you know your phones are in a specific IP range that may make things easier.

The third screen allows you to choose protocols and to enable qos priority for this flow.

Hopefully this is what your looking for...



I'm fairly positive that won't work because the phones are not on a dedicated interface, but share the same sub-interface as the data (am I correct here).

Could I simply lump the phones into a certain IP range and then prioritize by IP, while still sharing the sub-interface with voice and data?

I'd also rather do it via CLI, if possible.


So I talked with a Cisco TAC Engineer as part of our SmartNet contract who told me to do this:

Here is an example on how you can use DSCP values to prioritize voice

!--- Create a class map named Voice.

ASA(config)#class-map Voice

!--- Specifies the packet that matches criteria that
!--- identifies voice packets that have a DSCP value of "ef".

ASA(config-cmap)#match dscp ef

!--- Create a policy to be applied to a set
!--- of voice traffic.

ASA(config-cmap)#policy-map priority_traffic

!--- Specify the class name created in order to apply
!--- the action to it.

ASA(config-pmap)#class Voice

!--- Strict scheduling priority for the class Voice.


!--- Apply the policy defined to the outside interface.

ASA(config-pmap-c)#service-policy priority_traffic global ASA(config)#priority-queue <interface>

I told him that there is no voice going over the outside interface but that it goes across (3) internal sub interfaces of Ethernet0/1.  Since Ethernet0/1 has sub-interfaces, the interface itself does not have a name nor an IP address.

He said I simply apply the apply the policy to the interface Ethernet0/1, after naming it, but I'm not quite sure that would work... any comments?

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial