We’re preparing to deploying 300+ i2002/i2004 IP telephones over the next few weeks. In preparation for this deployment we decided to upgrade the current IP phone firmware from 0604DBG to 0604DCG. The site has a Nortel Succession 1000M Call Server with 3 Succession Remote Gateway (SRG) 50s providing local PSTN and E-911 services at three remote facilities. We have done this dozens of times in multiple locations and never really had an issue (except when ‘filter-unregistered-frames‘ was left enabled on the switch ports). This time, however, we came across a problem that caused all 12 i2002 IP phones at one remote site to get stuck in a continual loop trying to upgrade. It took us quite sometime to isolate the problem and come up with a solution although a little background is necessary to understand the problem.
When Nortel originally released the ADAC (Automatic Detection And Configuration) feature in the Nortel Ethernet Routing Switch it required the switch to be pre-programmed with all the possible MAC addresses that an IP phone might connect with. The switch applied a dynamic configuration to any switch port where ADAC was enabled and the MAC address of the device was within the ADAC MAC address table range. In the article entitled, Nortel ERS 5520 PwR Switch, I documented a list of MAC address ranges to add to the ADAC configuration. In a subsquent article entitled, ERS 5520 Switch v5.1 Software, I surmised that it was no longer necessary to maintain the ADAC MAC address table.
It would now appear that my assumption was totally wrong.
The remote site that had the problem never had the ADAC MAC address table updated beyond what is in the default configuration. When the phone booted into BOOTC mode to perform the upgrade it wasn’t sending the necessary LLDP information to the switch so the switch wasn’t adding the voice VLAN to the port. The only problem was that the phone was using the voice VLAN tag and original IP address so while it’s requests made it to the server the phone never recieved an answer because the voice VLAN was not a member of the port that the phone was connected to. Once we added all the MAC addresses to the ADAC table everything starting working properly. Now when the IP phone booted into BOOTC mode ADAC immediately recognized the MAC address and applied the voice VLAN to the switch port allowing the IP phone to communicate with the SRG50 and the Succession 1000M Signaling Server.
no adac mac-range-table adac mac-range-table low-end 00:0a:e4:75:00:00 high-end 00:0a:e4:75:ff:ff adac mac-range-table low-end 00:13:65:00:00:00 high-end 00:13:65:ff:ff:ff adac mac-range-table low-end 00:14:c2:00:00:00 high-end 00:14:c2:ff:ff:ff adac mac-range-table low-end 00:16:ca:00:00:00 high-end 00:16:ca:ff:ff:ff adac mac-range-table low-end 00:17:65:00:00:00 high-end 00:17:65:ff:ff:ff adac mac-range-table low-end 00:18:b0:00:00:00 high-end 00:18:b0:ff:ff:ff adac mac-range-table low-end 00:19:69:00:00:00 high-end 00:19:69:ff:ff:ff adac mac-range-table low-end 00:19:e1:00:00:00 high-end 00:19:e1:ff:ff:ff adac mac-range-table low-end 00:1b:ba:00:00:00 high-end 00:1b:ba:ff:ff:ff adac mac-range-table low-end 00:1e:ca:00:00:00 high-end 00:1e:ca:ff:ff:ff adac mac-range-table low-end 00:22:67:00:00:00 high-end 00:22:67:ff:ff:ff
The short story here is that you need to maintain the ADAC MAC address table if you want to avoid any IP phone firmware upgrade issues.
As a side note you also need to make sure that you disable filter-unregistered-frames on all switch ports.
I’ve inquired with Nortel about this problem but I’m still waiting for a response. It’s quite possible that this issue has already been “discovered” and will be resolved in a future release (or even resolved in this release).