Voice over Internet Protocol (VoIP) is widely used today, but the performance of voice calls is greatly affected by the network quality. To make the quality of voice calls solid, you can use the voice VLAN technique which refers to a dedicated VLAN designed to handle the voice traffic. By configuring a voice VLAN on the switch to transmit voice data and setting QoS parameters of voice VLAN, we can make sure the voice data is given preference when congestion occurs.
Figure 1. Connecting a PC and an IP Phone to a Switch
As shown in Figure 1, a PC and an IP phone can be connected to the switch so that both data and voice services can be transmitted.
The switch can determine whether the data stream is a voice data stream according to the source MAC address field in the data packet of the ingress interface. The switch identifies the data packets as voice data when the source MAC address matches the system pre-configured Organizationally Unique Identifier (OUI).
OUI refers to the first 24 bits (binary) of the MAC address that can be used to represent a MAC address segment, which is a globally unique identifier assigned by the IEEE to different device vendors. Each device vendor then allocates another 24 bits to form a 48-bit MAC address. Voice packets sent by IP phones can be identified by its OUI.
In voice VLAN, the OUI is not necessarily 24 bits long which depends on the mask value. The OUI is the result of the AND operation between the MAC address and the mask value in the set vlans voice-vlan mac-address mask command.
The system uses three types of OUI: default OUI, user-defined OUI and learned OUI. The system has predefined seven OUIs, Table 1 lists all the default OUIs. User-defined OUI is configured by using set vlans voice-vlan mac-address mask command. Learned OUI is the OUI learned by the system if LLDP function or LLDP compliance with CDP function is enabled. Please note that in PICOS 2.11.4 and the later version , there is no default OUI.
Table 1. List of Default OUI
Auto and Manual Mode
Auto and manual mode determine the way of the port when added to the voice VLAN.
In auto mode, the system utilizes the voice packets or the protocol packets such as PICA8 supported LLDP, LLDP-MED and CDP sent by the IP phone to determine whether to add the port to voice VLAN. If the source MAC address of the packets matches the OUI address, the system will automatically add the ingress port of the voice packet into the voice VLAN, and implement the QoS priority to the voice VLAN. If the source MAC address of the packets matches no OUI address, the system will learn the source MAC address of the LLDP, LLDP-MED or CDP packet as the learned OUI and add the port to the voice VLAN.
If the IP phone supports one of the protocols of LLDP, LLDP-MED or CDP, please refer to section Voice VLAN with LLDP and Voice VLAN with LLDP Compliance CDP for details about the process of protocol packets.
You can set voice VLAN aging time of the device in auto mode. Until the aging time expires, if no voice packet is received from the ingress port, the system will delete the port from the voice VLAN after the aging time. The process of adding/deleting a port to the voice VLAN is implemented automatically by the voice VLAN feature.
In manual mode, the ports are added to voice VLAN by manual configuration. If the source MAC address of the packets matches the OUI address, the system will implement the QoS priority of the voice VLAN. The process of adding/deleting a port to the voice VLAN is implemented manually by the administrator. This type of port is not affected by the aging time of the voice VLAN. When the aging time expires, the port will not be deleted from the voice VLAN.
802.1p Priority and DSCP Value
User can modify the 802.1p and DSCP priorities to meet the QoS requirement for voice traffic in the network. The default value of 802.1p and DSCP priorities of the voice VLAN feature are 6 and 46 respectively.
802.1p priority is the value of the priority field in the VLAN frame in IEEE 802.1Q standard, which contains the layer 2 priority to be used for the specified application type. This 3 bits field could specify one of eight priority levels (0 through 7), as defined by IEEE 802.1D-2004.
Differentiated Services Code Point (DSCP) value is used to provide Diff-Serv (Differentiated Service) node behavior for the specified application type as defined in IETF RFC 2474. This 6 bits field may contain one of 64 code point values (0 through 63). The 6 bits Type of Service (TOS) field in the IPv4 data packet header is referred to as DSCP.
If the DSCP value of the voice VLAN is not set, the system does not modify the DSCP value carried by the packet by default.
Voice VLAN with LLDP
Voice VLAN with LLDP means that PICA8 switch could learn OUI address from the source MAC address of the LLDP packet if LLDP is enabled between IP phone and PICA8 switch.
When receiving an LLDP packet, the system checks the Capabilities TLV in the LLDP packet. If the telephone value in both the Capabilities and Enabled Capabilities fields is Capable, the system considers the device connected to the switch as an IP phone. Afterwards, the system learns the source MAC address of the LLDP packet and saves it to the learned OUI table. The port is then added to the voice VLAN. You can view the learned OUI entries by using the show vlans voice-vlan oui command and the show vlans command to check whether the port has been added to the voice VLAN.
Besides the basic LLDP, the system also supports LLDP-MED for voice VLAN. Figure 2 is the content of the Network Policy TLV in LLDP-MED, mainly including the fields: Policy, Tagged, VLAN ID, L2 Priority and DSCP Priority. Network Policy TLV is used to exchange VLAN configuration between switches and terminal devices. A switch uses the TLV to advertise the local configuration of voice VLAN ID and QoS priority to an IP phone. Then the IP phone could totally decide what packets are sent according to the received information. “run show lldp local_info detail” and “run show lld neighbor detail” commands can be used to view each field value of LLDP packet coming from the switch or the IP Phone.
Figure 2. Content of Network Policy TLV in LLDP-MED
Voice VLAN with LLDP Compliance CDP
When an IP phone in the network does not support LLDP but CDP protocol, a proprietary link discovery protocol of Cisco, you can enable LLDP compliance CDP function in order to be compatible with CDP protocol and guarantee that the switch can discover and identify this type of neighbor node. You have to enable LLDP function before using LLDP compliance CDP function.
Data and Voice Packet Operation Process
Data packets and voice packets may arrive at the same port. Even if both traffics are untagged packets, we could use the ingress ACLs based on OUI to separate these two types of packets. Any untagged VoIP traffic will be tagged with voice VLAN ID and the 802.1P priority and DSCP value will be modified when transmitted to the egress port if it successfully matches an ingress ACL. As a result, we can separate these two types of untagged traffic into two different VLANs and both data packets and voice packets can be transmitted in parallel.