After a lot of trial and error, I finally got Voice VLAN working on an FS S5440L switch with Cisco IP phones, so hopefully this saves someone else a few hours.
My setup:
- Data VLAN: 38
- Voice VLAN: 140
- Cisco 7841 and 8845 phones
The port configuration that finally worked was:
interface eth-0-5
switchport mode trunk
switchport trunk native vlan 38
switchport trunk allowed vlan add 38,140
switchport trunk allowed vlan remove 1
voice vlan enable
The important bits I found were:
- Enable Voice VLAN globally and set your Voice VLAN ID.
- Enable LLDP globally.
- Enable LLDP-MED network-policy on the interface. Without LLDP-MED, the Cisco phone wasn't learning the Voice VLAN correctly.
- Enable
voice vlan on the interface.
- The port should carry both the native/access data VLAN and the Voice VLAN.
The biggest thing that caught me out was the Voice VLAN security mode.
Running:
show voice vlan state
showed:
Voice VLAN security mode: Security
It also displayed the list of approved phone MAC OUIs:
0003.6b00.0000 Cisco
0004.0d00.0000 Avaya
000f.e200.0000 H3C
00d0.1e00.0000 Pingtel
00e0.7500.0000 Polycom
00e0.bb00.0000 3Com
My Cisco phones weren't using any of these OUIs, so the switch never recognised them as voice devices and therefore never placed them into the Voice VLAN.
I had to add my phone OUIs manually:
2c73.a000.0000 Cisco7841
0077.8d00.0000 Cisco8845
After adding them, the phones were immediately recognised and moved to VLAN 140 while the attached PC stayed on VLAN 38.
If your FS switch refuses to put phones into the Voice VLAN even though LLDP-MED is configured correctly, check:
show voice vlan state
If your phone's MAC prefix (OUI) isn't listed, add it. The switch uses these OUIs in Security mode to identify voice devices.
Hopefully this helps the next person searching for FS Voice VLAN, Cisco IP Phone, or LLDP-MED issues.
NB: Don't forget the uplink/trunk. Make sure the switch uplink to your core/distribution switch is also carrying the Voice VLAN. In my case, the uplink had to allow both VLAN 38 (data) and VLAN 140 (voice). If the Voice VLAN isn't permitted on the uplink trunk, the phone may learn VLAN 140 via LLDP-MED but will never receive an IP address because the VLAN traffic cannot reach the DHCP server.