Voice_VLAN

I found the above generic Topology on google images, and changed the VLANs to our respective VLANs on SW1, only pictured is a Layer 2 switch, not an MLS.

I’m going to dive just a bit into Voice terminology here at first, as the word “Jitter” and “Latency” were brought up a bit on ROUTE, so I think it’d be a good idea to know what those are:

  • Jitter = Bad voice quality, where voice starts to cut out on phone calls
  • Latency = “the delay before a transfer of data begins following an instruction for its transfer” which can be caused by many factors, but is the main cause for Jitter

Now that being said, the human ear has a small window up to about 140-150ms sensitivity before we start hearing voice quality issues, so we as network all starts need to keep it below that with smart network configuration (and hopefully a solid ISP connection to our PBX).

That said, lets review different choices for Voice VLANS, and why they’d be used

It just so happens I do have a switch plugged into a phone on port 1/0/24 on SW1, but no host PC to plug that into, however like in the Topology above your PC data often will traverse your phone (daisy chained to it) to get to the switch.

So on the switch, there are two way you can go with the switchports “mode” – Access link or an 802.1q Trunk link.

The trunk link has the advantage of creating a Voice VLAN (VVID), which would be dedicated to carrying only Voice traffic, allowing the highest amount of QoS to be performed on the traffic.

*** A real world note working with Voice VLANs on many different networks, ports running to phones are almost always Access ports that utilizing “Tagging” to flag traffic for QoS – So what I write on here pertains solely to the switch exam material ***

The different options for “switchport voice vlan …” to configure:

  • VLAN # tagging for Voice VLAN
  • Using 802.1p for the Voice VLAN
  • Use a trunk and create a Voice VLAN to only handle Voice Traffic (Best QoS control)
  • Use a trunk and without tagging Voice traffic

Whichever configuration you use, the switch will be the one telling the phone how they will communicate, and let me post my Cisco phones switchport that is plugged in and phone is currently powered on:

Name: Fa1/0/24
Switchport: Enabled
Administrative Mode: static access


Operational Mode: static access


Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none

I highlighted in red that it is an access port and I’ve not used Voice commands yet and the phone fired right up, also that it is

Now for that “Voice VLAN: None” part, lets review our options to change that parameter:

SW1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fa1/0/24
SW1(config-if)#switchport voice ?
detect detection enhancement keyword
vlan Vlan for voice traffic

SW1(config-if)#switchport voice vlan ?
<1-4094> Vlan for voice traffic
dot1p Priority tagged on PVID
none Don’t tell telephone about voice vlan
untagged Untagged on PVID

Here is a quick break down of the options, and then a deeper look into them:

  • (vlan) # = Put port in the vlan # of the Voice VLAN
  • dot1p = Tagging frames for Priority, rather than with a Voice Vlan #
  • none = Allow phone to use its own configuration to send untagged traffic
  • untagged = Switch tells phone to send untagged traffic

Before I delve into the differences, I’m going to demonstrate a behavior to know for exam day:

SW1(config)#int fa1/0/24
SW1(config-if)#switchport voice vlan 24
% Voice VLAN does not exist. Creating vlan 24

SW1(config-if)#

Just like a normal VLAN would create itself on an interface if it was not already configured, so does a Voice VLAN, so write that to mem for exam day!!!

So now we should see some different output for “sh int switchport | b Fa1/0/24” :

SW1(config-if)#do sh int switchport | b Fa1/0/24
Name: Fa1/0/24
Switchport: Enabled
Administrative Mode: static access

Operational Mode: static access

Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)

Trunking Native Mode VLAN: 1 (default)

Administrative Native VLAN tagging: enabled
Voice VLAN: 24 (VLAN0024)

I wanted to highlight the important parts, as you can actually tell the mode is indeed Access using VLAN 1, but the (default) next to it indicates the default VLAN has not been changed on this switch from VLAN 1, and incoming voice frames are tagged for VLAN 24.

Also, the Administrative mode is “static access” meaning the switchport was configured as an Access port statically, otherwise it would say “dynamic auto” as a default.

So that is assigning the switchport a Voice VLAN for VOIP traffic, moving along!

Now to configure and review the dot1p option, and discuss it just a bit

I have personally never seen this out in the wild, and I believe that is because it is supposed to be used as the switchport being in trunking mode, where now adays most phone ports you see are Access ports to cut down on rogue Trunkers / Security risks.

That being said, I was able to configure it just fine under the static switchport mode:

SW1(config)#int fa1/0/24
SW1(config-if)#switchport mode access
SW1(config-if)#switchport voice vlan dot1p
SW1(config-if)#do sh int switchport | b Fa1/0/24
Name: Fa1/0/24
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: dot1p

I’ll spare the output, but if I change the interface to a Trunk, it only changes the “modes” and “encapsulation” obviously, but otherwise stays the same as above.

The big take away of dot1p is it gives Priority to the Voice traffic from the phone, and it sends that traffic over VLAN 0, so If you see dot1p or VLAN 0 mentioned on exam day, know that it correlates with one another.

It configurable on an Access port, but requires a Trunk Port as the Data will use the native VLAN, and for multiple VLANs to cross a link we need a Trunk!

Untagged Voice Traffic on the switchport

A switchport with untagged configured will tell the phone to send its Voice traffic untagged, so it will use the Native VLAN of the Trunk (Yes you need a trunk for untagged traffic as well), and the Data VLAN can use it owns VLAN for its traffic.

I wanted to demonstrate this output, look at the Voice VLAN section specifically:

SW1(config-if)#switchport voice vlan untagged
SW1(config-if)#do sh int switchport | b Fa1/0/24
Name: Fa1/0/24
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: untagged

So the “sh int switchport” command will show the Voice VLAN as untagged both in its output, and the “sh run” which I will give you just the interface output:

!
interface FastEthernet1/0/24
switchport trunk encapsulation dot1q
switchport mode trunk
switchport voice vlan untagged
spanning-tree portfast

!

I am kind of a bum here as the Data is riding the Native VLAN as well, but luckily for lazy people like me tonight there is the fourth option just below but first an important note:

***Also a note highlighted in red, I did not configure STP Portfast, when you configure a port with “switchport voice vlan …” it automatically turns on STP portfast on the port***

That is such an important detail to remember for exam day, if a switchport is configured with Voice Vlan configurations, it will automatically be put into Spanning Tree Portfast!

The “none” option for Voice traffic, and how it differs from “Untagged”

In very small office networks I see this type of setup quite a bit, where everything uses the default VLAN, and that is exactly what the “none” option does.

The none option will send Voice traffic over the Data VLAN, so say had I not been a bum and set it to VLAN 20 for Data, both Voice and Data would take that VLAN over the Trunk port on the switchport interface.

Now had I set it to the “Untagged” option, if the Data VLAN were 20 and the default was unchanged at VLAN 1, Voice would traverse VLAN 1 and Data would stay on VLAN 20 so it would still be separating them.

*** One Caveat: Some switch IOS’s will show “none” verification output from “sh int switchport” as “Voice Vlan: untagged” as well, though on my 3750 it shows “none” so untagged in that output may also mean the port is configured to “none”!***

Exam tips on keeping Trunks / Tagging straight, and real world insight

A big, big part of all this to remember, is that if you have more than one VLAN you need to configure the switchport as a Trunk. With Frame tagging or lack thereof (untagged / no tagged [none]), which is what I generally see in the real world, set to Access ports and not Trunk ports.

The best and used practice I have I’d say ever seen in my young career of 3-4 years, is Trunk ports are only “uplinks” to other switches / networking devices, and not configured on Access layer switches.

I just posted a diagram to explain the 3-Layer switch model for anyone a bit rusty on that, I am out for the night, until next time!