It would seem a great many people are running into this error so I thought I would post a quick article that would help all those looking for a solution to their problem. The Nortel i2002/i2004 (any Nortel IP phone) will return the error “DHCP parse error” if the DHCP server returns DHCP option 128 with an invalid format.
In one of my first blog posts entitled “DHCP Options (VoIP)” I outlined the DHCP options and the format that the phone expected. Kenneth quickly pointed out that I had fat-fingered the example DHCP string omitting the semicolon between the values for the primary Call Server (S1) and the secondary Call Server (S2). (I’ve since fixed the original post)
Here’s the format the DHCP option code 128 which the IP phones expects to be returned from the DHCP server when the IP phone is configured for “Full DHCP”;
Where the following values are;
- “Nortel-i2004-A” = Option #128 begins with this string for all Nortel IP phones
- “iii.iii.iii.iii” = the IP Address of the Call Server (S1 or S2)
- “ppppp” = port number for the Call Server
- “aaa” = the Action for the Server
- “rrr” = the Retry Count for the Server
The IP Address must be separated from the port number by a colon (:). The parameters for the Primary (S1) and the Secondary (S2) Call Servers are separated by a semicolon (;). The string must end a period (.).
If you are using an ISC DHCP server (this is generally included with any of the Linux distributions) you can refer to my article entitled “ISC DHCP Server (Nortel VoIP)” for information on how to setup and configure the ISC DHCP server to work with Nortel IP Telephony.
Update: Wednesday January 28, 2009
I just came across a “DHCP Parse Error” that actually had nothing to-do with the DHCP string. We had a phone that was using the same DHCP template as 9 other i2002 phones but it was displaying “DHCP Parse Error” when it booted up (this only surfaced after we upgraded to 0604DCG). The phone was actually configured incorrectly. It was suppose to be configured for a Voice VLAN and configured to get the Voice VLAN via LLDP-MED. The LLDP-MED option had been left set at “0” (disabled) so the phone was trying to make a DHCP request looking for Option 191 while the DHCP server was only configured to return Option 128 as detailed above. It only took a few minutes to fix but I can see how someone could spend hours stuck on this.