Hi, All the Mighty Brains,
We are helping customer to move their infrastructure from a legacy backbone to a new one. We recently started to migrate a new building where both Avaya and Cisco VoIP exists. There are floors mixed phones are ised. In the legacy environment, customer has both DHCP options for Avaya and Cisco phones in the same DHCP scope to support all phones from the same VLAN/IP subnet, meaning all option 150, 176, and 242 are set up in the DHCP scope, and is working fine.
We just migrated one floor to the new backbone where TDM phones are used, but we need to test the DHCP template to make sure it supports both Avaya and Cisco phones in the new environment. The Access Layer switch is an in-place migration where it was connected to the new Distribution Layer switches. All ports where set up with proper data VLAN and voice VLAN. After the migration, Avaya phone works fine, but the Cisco phone does not work at this floor. We tried multiple phones with no luck. We tried new phone just got out of the box, and existing phones from other floors.
In the sniffer trace, We noticed that the phones kept broadcasting DHCP Discover packets, and the DHCP server did come back with DHCP Offer with all three options (150, 176, and 242), but the phones didn't seem to take the offer and just kept broadcasting DHCP Discover. We also saw in the DHCP debug mode that the DHCP Discover kept hitting the server, and the server kept senting off the Offer, but the phones just won't take it.
Then we tried to hardcode the network settings on the phone to make sure it can reach the TFTP server and rule out routing problem, then the phone works perfectly. So we are sure it's not routing issue. Then we took out option 176 and 242 from the DHCP scope, then the Cisco phone works properly with DHCP enabled. So, symptom-wise, it seems that the 7970 does not like the options for Avaya phone presented in the DHCP Offer. But why it's working in customers legacy environment? The only thing we can think of is, QIP is used for IP Management in the new environment, but not in the legacy environment.
Can anybody shed some light with us what might be the root cause of the problem? Thanks in advance for any help and suggestions.
I'm taking it you are using an Avaya DHCP server? The Avaya DHCP server violates RFC 2131, ignores the parameter request list and sends options above the max size. As a result, extra large option fields are sent down to the phone. It's really an issue on the Avaya side, but we've fixed it on our side such that the phone ignores those options:
DHCP options exceed phone limits causing DHCP offer to be ignored
Fixed in 8.3.5 and 8.4.2.
There is a separate fix commit for the 7937:
7937 should support maximum size DHCP offer header