Voice VLAN Explained and Configuration (Step by Step Guide)

Voice VLAN Explained and Configuration (Step by Step Guide)

In this guide, we will explain the voice VLAN theory and its configuration step by step.

What is Voice VLAN

The voice VLAN feature enables access ports to carry IP voice traffic from an IP phone.

The IP Phone contains 2 external ports:

  • Port 1: connects to the switch or other voice-over-IP (VoIP) device.
  • Port 2: (access port) connects to a PC or other device.

You can configure an access port with an attached Cisco IP Phone to use one VLAN for voice traffic and another VLAN for data traffic from a device attached to the phone.

Voice VLAN with higher CoS priority:

You can configure access ports on the switch to send Cisco Discovery Protocol (CDP) packets that instruct an attached phone to send voice traffic to the switch in the voice VLAN tagged with a Layer 2 CoS priority value.

IP phone port modes:

The switch process tagged data traffic (traffic in IEEE 802.1Q and IEEE 802.1p frame types) from the device attached to the access port on the Cisco IP Phone. You can configure Layer 2 access ports on the switch to send CDP packets that instruct the attached phone to configure the phone access port in one of these modes:

* In trusted mode, all traffic received through the access port on the Cisco IP Phone passes through the phone unchanged.
* In untrusted mode, all traffic in IEEE 802.1Q or IEEE 802.1p frames received through the access port on the Cisco IP Phone receives a configured Layer 2 CoS value. The default Layer 2 CoS value is 0. Untrusted mode is the default.

Note: Untagged traffic from the device attached to the Cisco IP Phone passes through the phone unchanged, regardless of the trust state of the access port on the phone.

Why do we need CDP and LLDP in Voice VLAN

Cisco IP phones use CDP (Cisco Discovery Protocol) to learn from the switch which VLANs it should use to tag the Voice traffic (Data Vlan is untagged any way). Most of Non-Cisco IP phones use LLDP (Link Laye Discovery Protocol) to get informed from switch about the Voice VLAN tag.

Note: the IP phone will work with deactivated CDP if you are able to configure it with the voice VLAN manually.

Step 1: CDP Information request from IP Phone and response from the switch:

When the IP phone boots up, it will send a CDP packet to the switch, and the switch will reply with a CDP (Cisco Discovery Protocol) packet including voice VLAN ID.

Note: usually, the same process will occur with non-Cisco switches using standard LLDP (Link Laye Discovery Protocol) packets instead of CDP.

Step 2: The IP Phone gets the Voice VLAN ID and sends Voice traffic Tagged:

Voice VLAN Configuration Example:

We will configure the following Voice Vlan topology on the Cisco switch, There are multiple way to configure a voice VLAN, using the Access port or Trunk port we will through them step by step.

When you connect an IP phone to a switch using a trunk link, it can cause high CPU utilization in the switches. As all the VLANs for a particular interface are trunked to the phone, it increases the number of STP instances the switch has to manage. This increases the CPU utilization. Trunking also causes unnecessary broadcast/multicast / unknown unicast traffic to hit the phone link.

In order to avoid this, remove the trunk configuration and keep the voice and access VLAN configured along with Quality of Service (QoS). Technically, it is still a trunk, but it is called a Multi-VLAN Access Port (MVAP). Because voice and data traffic can travel through the same port, you should specify a different VLAN for each type of traffic. You can configure a switch port to forward voice and data traffic on different VLANs. Configure IP phone ports with a voice VLAN configuration. This configuration creates a pseudo trunk but does not require you to manually prune the unnecessary VLANs.


Method 1: Configuration of Voice Vlan Via Access port

The switchport is configured as an access mode port in the VLAN of the Data traffic. The laptop generates untagged data traffic, and the switch on its access port will associate the traffic with the Data VLAN.

Step1: Define Voice and Data Vlan:

Switch_LD(config-vlan)#vlan 10
Switch_LD(config-vlan)#name Data_VLAN

Switch_LD(config-vlan)#vlan 50
Switch_LD(config-vlan)#name VOIP_VLAN

Step2: Configure the Access port facing the IP Phone:

The access VLAN is DATA traffic VLAN (which will be received untagged) and voice VLAN is of course for Voice traffic (which will be received tagged with VLAN ID 50 from the IP Phone).

Switch_LD(config)#interface GigabitEthernet 0/1
Switch_LD(config-if)#switchport mode access
Switch_LD(config-if)#switchport access vlan 10
Switch_LD(config-if)#switchport voice vlan 50

Note: The Port Fast feature is automatically enabled when voice VLAN is configured. When you disable voice VLAN, the Port Fast feature is not automatically disabled.

Step3: Verify that CDP is enabled globally and under the Interface facing the IP phone (enabled by default):

Switch_LD(config)#cdp run
Switch_LD(config)#interface GigabitEthernet 0/1
Switch_LD(config-if)#cdp enable

Method 2: Configuration of Voice Vlan Via a Trunk port

Note: According to Cisco, this method is not supported on some versions. Although it’s technically possible, we don’t recommend using this method.

The switch port is configured in Trunk mode, and the Data traffic VLAN which is always expected to be sent untagged from the user laptop will be associated with the Native VLAN of the switch port.

The Voice VLAN will pass tagged VLAN 50 through the trunk link between the IP phone and the switch. the difference here is that we don’t need the specific “voice VLAN” type under the interface switchport.

Step1: Define Voice and Data Vlan

Switch_LD(config-vlan)#vlan 10
Switch_LD(config-vlan)#name Data_VLAN

Switch_LD(config-vlan)#vlan 50
Switch_LD(config-vlan)#name VOIP_VLAN

Step2: Configure trunk port and its native VLAN:

Switch_LD(config)# interface ethernet0/1
Switch_LD(config-if)# switchport mode trunk
Switch_LD(config-if)# switchport trunk native vlan 10
Switch_LD(config-if)# switchport trunk allowed vlan 10,50
Switch_LD(config-if)# switchport voice vlan 50



0 0 votes
Article Rating
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x