I’m currently working on an Avaya VOIP implementation, and thought I’d blog about some of the configuration steps involved along the way.
First of all let’s set the scene with a massively oversimplified network diagram that shows how things hook together. We have a DHCP server and an Avaya CS1000E Communications Server, a Cisco 2960S PoE switch, a PC and an Avaya 1120E IP Desk Phone:
Here’s a list of everything we need to achieve:
- Separate voice and data VLAN’s for the phone and the PC
- The switch to discover the Avaya phone and provide it with power over Ethernet
- The phone to learn it’s VLAN ID from the switch
For goal 1 we’ll create the VLAN’s on the switch, assign some ports to the data VLAN, and tell those ports what their voice VLAN is:
access_sw(config-vlan)#vlan 105 access_sw(config-vlan)#name Data_VLAN access_sw(config-vlan)#vlan 230 access_sw(config-vlan)#name Voice_VLAN access_sw(config-vlan)#int range gi1/0/10-40 access_sw(config-if-range)#switchport access vlan 105 access_sw(config-if-range)#switchport voice vlan 230
This results in the following interface configuration:
! interface GigabitEthernet1/0/40 switchport access vlan 105 switchport mode access switchport voice vlan 230 spanning-tree portfast spanning-tree bpduguard enable end
Notice that we are not making the switch port into an 802.1Q trunk port as you might expect, rather it becomes a “Multi-VLAN access port”, that “trunks” both the voice and data VLAN’s out to the phone. The phone acts as a switch and has two physical NIC’s – one connected to the access switch and the other to the PC. The result of this is that the phone operates on the Voice VLAN and the PC on the Data VLAN.
For goals 2 and 3, we need to get the switch and the phone speaking the same language. Cisco devices use the proprietary CDP (Cisco Discovery Protocol) to learn about other connected Cisco devices, but to discover a non-Cisco device we need use a vendor neutral protocol. Enter LLDP (Link Layer Discovery Protocol) referred to in the IEEE 802.1AB specification.
Luckily, enabling LLDP on a Cisco switch is easy. We’ll enable it globally (once enabled it can be controlled on a per-port basis):
Now LLDP is running, lets see if the switch has discovered any phones:
access_sw#show lldp neighbors Capability codes: (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other Device ID Local Intf Hold-time Capability Port ID 192.168.52.1 Gi1/0/40 180 B,T 7038.ee08.66d0
So, the switch now knows about a device that speaks LLDP on port Gi1/0/40. let’s drill down a bit further:
access_sw#show lldp entry 192.168.52.1 Capability codes:(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other ------------------------------------------------ Chassis id: 192.168.52.1 Port id: 7038.ee08.66d0 Port Description: Avaya IP Deskphone System Name - not advertised System Description: Avaya 1120E IP Deskphone, Firmware:0624C8A Time remaining: 177 seconds System Capabilities: B,T Enabled Capabilities: B,T Management Addresses - not advertised Auto Negotiation - supported, enabled Physical media capabilities: 1000baseT(FD) 1000baseT(HD) 100base-TX(FD) 100base-TX(HD) 10base-T(FD) 10base-T(HD) Media Attachment Unit type: 30 Vlan ID: - not advertised MED Information: MED Codes: (NP) Network Policy, (LI) Location Identification (PS) Power Source Entity, (PD) Power Device (IN) Inventory F/W revision: 0624C8A Manufacturer: Avaya-01 Model: 1120E IP Deskphone Capabilities: NP, LI, PD, IN Device type: Endpoint Class III Network Policy(Voice): VLAN 230, tagged, Layer-2 priority: 5, DSCP: 46 Network Policy(Voice Signal): VLAN 230, tagged, Layer-2 priority: 0, DSCP: 0 PD device, Power source: Unknown, Power Priority: High, Wattage: 6.4 Location - not advertised Total entries displayed: 1
As we can see, LLDP has done it’s job, the Cisco switch has learned about the Avaya phone and knows how much power to supply to it. The phone has also discovered what the voice VLAN ID is.
Thanks for reading.
Follow Rich on Twitter