• Configuring the Campus Voice VLAN

 
 
Print Friendly, PDF & Email

Overview

This article is intended to discuss how to configure the Voice VLAN (phone VLAN) on a 720X Arista switch.

Introduction

In the Campus environment, there are myriad devices which can connect wirelessly or wired. Switches need to be able to classify these devices and forward the traffic appropriately. For IP phones, this is of utmost importance as Voice traffic and Voice signaling need to be treated with priority over generic data traffic to ensure quality of service and minimum to no loss. This article focuses on how to configure the switch CLI based on different scenarios found on a campus in order to achieve this.

The various ways to provision a switch for an IP phone consider two main factors – one, does the IP phone already know its VLAN (tagged with dot1q, trunk port) or not (no tag, access port) and two, how will it learn its VLAN if it isn’t tagged.

Two simple scenarios include manually configuring the IP phones with their Voice VLANs or the phones learning the VLAN via DHCP. Both of these scenarios are supported, and they don’t require any unique configuration as the directly connected switch is not involved in the Voice VLAN learning mechanism. In these two cases, the Arista switch will have a standard trunk port configuration (here, the Voice VLAN is 100 and the data/native VLAN is 200):

SW(config)#interface Ethernet10
SW(config-if-Et10)#switchport trunk native vlan 200
SW(config-if-Et10)#switchport trunk allowed vlan 100,200
SW(config-if-Et10)#switchport mode trunk
SW(config-if-Et10)#spanning-tree portfast

However, configuring a lot of IP phones manually doesn’t scale well and perhaps you don’t want to use DHCP. Let’s walk through two other supported scenarios taking these factors into consideration and where the directly connected switch plays a role in the IP phone learning its Voice VLAN:

To provision a VLAN-unaware IP Phone

Two Options:

First:

Step 1: Globally configure the phone traffic CoS rewrite. As there is no dot1q tag, there won’t be a CoS value for these packets. This globally sets all Voice traffic and Voice signaling traffic to CoS 3:

SW(config)#switchport default phone cos 3

Step 2: Configure the interface connected to the IP phone to assign the data traffic to native VLAN 200:

SW(config)#interface Ethernet10
SW(config-if-Et10)#switchport trunk native vlan 200

Step 3: Configure the Voice VLAN, which enables MAC-Based VLAN assignment (also enables LLDP-based classification of IP phones using the Type 7 “System Capabilities” TLV):

SW(config-if-Et10)#switchport phone vlan 100

Step 4: Configure the trunk to be a phone trunk. By default, this will allow only two VLANs, the native VLAN and the Voice VLAN. Think of it as a replacement for “switchport trunk allow vlan 100,200”.

SW(config-if-Et10)#switchport mode trunk phone

Step 5: “Enable” the MAC-based phone VLAN at the interface level:

SW(config-if-Et10#switchport phone trunk untagged
SW(config-if-Et10)#spanning-tree portfast

Note: MBVA allows multiple untagged traffic sources to be put on different VLANs.  A MAC-to-VLAN assignment will be created when any of the following occurs:

  1. A device is detected as a phone via LLDP and a phone VLAN is configured (or dynamically learned via RADIUS)
  2. A dynamic VLAN is assigned from RADIUS when it is authenticated
  3. A device fails authentication and auth fail VLAN is configured 

Second:

Step 1: Alternatively, you can globally configure the Voice VLAN and enable MAC-based phone VLAN:

SW(config)#switchport default phone cos 3
SW(config)#switchport default phone vlan 100
SW(config)#switchport default phone trunk untagged

Step 2 : On the interface level, you’ll configure the data traffic vlan and set the switchport mode to only allow the Voice VLAN and native VLAN:

SW(config)#interface Ethernet10
SW(config-if)#switchport trunk native vlan 200
SW(config-if)#switchport mode trunk phone
SW(config-if)#spanning-tree portfast

To provision a VLAN-aware IP Phone

Two Options:

First:

Note: switchport default phone cos X is only applicable for untagged phone traffic and when the port is in untrusted CoS mode.

Step 1: On the interface, configure the data native VLAN and the Voice VLAN (enables LLDP-based classification of IP phones using the Type 7 “System Capabilities” TLV):

SW(config)#interface Ethernet10
SW(config-if)#switchport trunk native vlan 200
SW(config-if)#switchport phone vlan 100

Step 2: Configure the trunk to be a phone trunk (which will only allow two VLANs – the native and the phone VLAN):

SW(config-if)#switchport mode trunk phone
SW(config-if)#spanning-tree portfast

Second:

Step 1: Alternatively, you can globally configure the Voice VLAN:

SW(config)#switchport default phone vlan 100

Step 2 : On the interface level, you’ll configure the data traffic vlan and set it to only allow the Voice VLAN and native VLAN on the interface:

SW(config)#interface Ethernet10
SW(config-if)#switchport trunk native vlan 200
SW(config-if)#switchport mode trunk phone
SW(config-if)#spanning-tree portfast

LLDP’s Role

  • Ensure LLDP is enabled as this is how the switch recognizes the connected device is a phone.
  • Once connected, LLDP PDUs are exchanged and using the “System Capabilities” TLV, the switch will classify the phone as such.
  • Confirm using “show neighbor classification [mac|interface|<cr>]”.

Please feel free to reach out to support@arista.com for any assistance or questions.

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: