We've moved from Blogger to WordPress!

You should be automatically redirected in 5 seconds. If not, visit
http://blog.michaelfmcnamara.com
and update your bookmarks.

Showing posts with label DHCP. Show all posts
Showing posts with label DHCP. Show all posts

Sunday, June 15, 2008

DHCP Parse Error

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";

Nortel-i2004-A,iii.iii.iii.iii:ppppp,aaa,rrr;iii.iii.iii.iii:ppppp,aaa,rrr.

Where the following values are;

  • “Nortel-i2004-A” = Option #128 begins with this string for all Nortel IP phone sets
  • “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.

Cheers!

Monday, May 12, 2008

Nortel IP Phones - UNIStim release v2.3

i2007 Nortel has just released UNIStim firmware release v2.3. There were some major enhancements made in firmware release v2.2 that enhanced DHCP provisioning for the 1100 series and i2007 phones. With release v2.3 the same new enhanced DHCP provisioning is now available for the i2001, i2002 and i2004 (Phase II only) phones.

While I haven't personally started testing the new firmware release I'd like to discuss the new DHCP options that will be available to phones running this software release. It's really important that we not confuse the legacy DHCP options with these newly available DHCP options. Unless your phone is running a firmware release documented below you should ignore this post entirely!

  • 0604DBP for i2001, i2002, i2004 (Phase 2 Only)
  • 0621C4V for i2007
  • 0623C4N, 0624C4N, 0625C4N and 0627C4N for 1110, 1120E, 1140E and 1150E respectively
  • 062AC5L for 1210, 1220 and 1230

Nortel Internet Telephones running the firmware documented above will support a new DHCP option and vendor class "Nortel-i2004-B". The format of the newly defined "Nortel-i2004-B" DHCP option is;

Nortel-i2004-B,param1=value1;param2=value2;param3=value3;...

PARAMETER VALUE DESCRIPTION
s1ip 0.0.0.0 - 255.255.255.255 Primary Server IP Address
p1 0 - 65535 Primary Server port number
a1 0 - 255 Primary Server action code
r1 0 - 255 Primary Server retry count
s2ip 0.0.0.0 - 255.255.255.255 Secondary Server IP Address
p2 0 - 65535 Secondary Server port number
a2 0 - 255 Secondary Server action code
r2 0 - 255 Secondary Server retry count
xip 0.0.0.0 - 255.255.255.255 XAS Server IP Address
xp 0 - 65535 XAS Server port number
xa Character string up of the following of the following character "g" graphical XAS Server action code
unid Character string up to 32 characters Unique network identification
menlock (f)ull lock or (p)artial lock or (u)nlock Menu lock mode
vq (y)es or (n)o Enable 802.1q for voice VLAN
vcp 0 - 15 802.1q control p bit for voice stream
vmp 0 - 15 802.1q media p bit for voice stream
vlanf (y)es or (n)o Enable VLAN filter on voice stream
pc (y)es or (n)o Enable PC port
pcs (a)uto negotiation
(10)Mbps
(100)Mbps
PC port speed
pcd (a)uto negotionation
(f)ull duplex
(h)alf duplex
PC port duplex
dq (y)es or (n)o Enable 802.1q for PC port
dv (y)es or (n)o Enable VLAN for data
dvid 0 - 4095 VLAN ID for data VLAN
dp 0 - 15 802.1q p bit for data stream
pcuntag (y)es or (n)o Strip 802.1q tags on packets forwarded to PC port
lldp (y)es or (n)o Enable 802.1ab LLDP
pk1 Character string of 16 characters representing 16 hexadecimal digits S1 PK
pk2 Character string of 16 characters representing 16 hexadecimal digits S2 PK
cacheip (y)es or (n)o Enable cached IP
igarp (y)es or (n)o Ignore GARP
srtp (y)es or (n)o Enable SRTP-PSK
dim (y)es or (n)o Enable screen dimmer
bt (y)es or (n)o Enable Bluetooth (1140E and 1150E only)

The above table was taken directly from the Nortel release notes.

An example configuration string would look something like the following;

Nortel-i2004-B;s1ip=47.11.62.20;p1=4100;a1=1;r1=255;s2ip=47.11.62.21;
p2=4100;a2=1;r2=2;xip=47.11.62.147;xp=5000;xa=g;unid=Main-tower;
menulock=p;vq=y;vcp=3;vmp=4;vlanf=y;pc=y;pcs=a;pcd=a;dq=y;dv=y;dvip=60;
dp=5;pcuntag=y;lldp=y;pk1=438A64FC24127C23;pk2=64FC23CD24AB1413;
cachedip=y;igarp=n;srtp=n;dim=y;bt=y;




You'll obviously need to be careful with using the "lldp" option in DHCP because it could hang the IP phone if you don't have the network switch setup properly.



Cheers!

Saturday, January 26, 2008

ISC DHCP Server (Nortel VoIP)

I've received quite few messages from folks trying to setup and configure the ISC DHCP server that often comes bundled with all the major Linux distributions for Nortel Internet Telephony. Nortel has several "Technical Configuration Guides" that outline how to configure Microsoft's DHCP Server but I don't believe they ever discuss the ISC DHCP server.

I will admit that I really don't use the ISC DHCP server these days. We've been using Lucent's VitalQIP IP Management software to manage our internal BOOTP/DHCP/DNS/DDNS needs for the past 10 years.

However, since there was so much interest I decided to setup a lab (at home) with a i2002 phone and a server running CentOS v5.0. I installed dhcp-3.0.5-7.el5 via YUM and came up with a sample dhcpd.conf file that anyone should be able to modify to meet their specific needs.

#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
# Sample dhcpd.conf file for Nortel Internet Telephony
#
# Notes: example dhcpd.conf file to illustrate how to configure Nortel
# Internet Telephone specific DHCP options for i2002/i2004 Internet
# Telephones and 2210/2211 Wireless Phones.
#
# *** WARNING *** WARNING *** WARNING *** WARNING ** WARNING ***
#
# This is just an sample file with specific IP information. You'll
# need to customize this file to your specific IP address scheme
# before you can use it in your environment.
#
# *** WARNING *** WARNING *** WARNING *** WARNING ** WARNING ***
#

ddns-update-style none;
not authoritative;

option nortel-callserver code 128 = string;
option nortel-2245 code 151 = ip-address;

# Vendor Class for i2002/i2004/1120e/1140e/1150e Internet Telephones
class "Nortel-i2004-A" {
match if substring (option vendor-class-identifier, 0, 14) = "Nortel-i2004-A";
option nortel-callserver "Nortel-i2004-A,192.168.200.2:4100,1,5;192.168.200.2:4100,1,5.";
option vendor-class-identifier "Nortel-i2004-A";
next-server 192.168.0.10;
}

# Vendor Class for 2210/2211 Wireless Phones
class "Nortel-221x-A" {
match if substring(option vendor-class-identifier, 0, 13) = "Nortel-221x-A";
option nortel-callserver "Nortel-i2004-A,192.168.200.2:4100,1,5:192.168.200.2:4100,1,5.";
option nortel-2245 192.168.200.25;
option vendor-class-identifier "Nortel-221x-A";
next-server 192.168.0.10;
}

# Network Definition
shared-network "mynetwork" {
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name "acme.org";
option domain-name-servers 192.168.0.1;
default-lease-time 28800;
max-lease-time 86400;

# IP Address Pool for generic devices
pool {
range 192.168.0.50 192.168.0.100;
deny members of "Nortel-i2004-A";
deny members of "Nortel-221x-A";
}

# IP Address Pool for i2002/i2004/1120e/1140e/1150e
pool {
range 192.168.0.150 192.168.0.175;
allow members of "Nortel-i2004-A";
deny members of "Nortel-221x-A";
}

# IP Address Pool for 2210/2211
pool {
range 192.168.0.176 192.168.0.199;
deny members of "Nortel-i2004-A";
allow members of "Nortel-221x-A";
}
}
}
In the example above I setup two DHCP scopes; one for the standard hardwired Nortel Internet Telephones (Nortel-i2004-A) and another for the Nortel Wireless Phones (Nortel-221x-A). Hopefully this example should be fairly easy to follow just remember to edit all the site specific IP information.

Cheers!

Friday, November 23, 2007

Layer 3 Access Port Adoption

The release of v3.x software for the Motorola WS5100 and v1.x software for the Motorola RFS7000 finally supports the deployment of Layer 3 Access Ports (APs that could be deployed across a Layer 3 network as opposed to those that can only be deployed across a Layer 2 network).

The latest release of firmware for the AP300 will first attempt to locate a wireless switch for adoption via a Layer 2 broadcast request. If it's unable to locate a wireless switch it will make a DHCP request for an IP address. If the DHCP response does not include option 189 (string) it will make a DNS request to try and locate the wireless switch.

There are two ways the Access Port can locate the Wireless LAN Switch (WS5100/RFS7000) in Layer 3 mode;

  • DHCP Option
  • DNS Query
You can use DHCP and configure option 189 (string) with the IP address of the Motorola Wireless LAN Switch. You should note that you may need to enclose the string in quotation marks depending on your DHCP server software.

You can also create a DNS alias which the AP can use to locate the switch through a DNS query. The default DNS anme requested by an AP300 is "Symbol-CAPWAP-Address".

You might also notice that the AP300 will also support LLDP (802.1ab) if your Ethernet switch supports it.

Cheers!

Thursday, October 25, 2007

DHCP Options (VoIP) Part 2

In a previous article we reviewed how to configure a Nortel Ethernet Routing Switch 5520 using ADAC/LLDP (802.1ab) so a Nortel Internet Telephone could discover the voice VLAN ID automatically without manually configuration of the phone.

If you don't have a switch that supports ADAC/LLDP you can still utilize automatic VLAN assignment using DHCP. I've actually used this method (before Nortel supported LLDP) and it works well but can sometimes be difficult to troubleshoot.

You'll need to configure DHCP option 191 (string) with the following syntax;

VLAN-A:vvvv.

Where: "VLAN-A" Option 191 begins with this string for all Nortel IP phones.
"vvvv" The VLAN ID for the voice VLAN in decimal
Here's an example if I were trying to assign the phones with a voice VLAN of 31;
VLAN-A:31.
There must be a colon (:) seperating the VLAN-A from the VLAN ID. The string must also end in a period. It may be necessary, depending on your DHCP server, to enclose the enter string in quotation marks.

How does it actually work?
With the phone and DHCP server configured properly here's how it will work.
  1. The phone will boot up and make a DHCP request for option 191 in the Default VLAN of the port connecting the phone.
  2. If the phone receives a response to it's request it will issue a DHCP Release of the address it received in Step 1.
  3. The phone will make a second DHCP request in the VLAN that was returned in option 191. The phone will be requesting DHCP option 128 from the DHCP server, this will include the Call Server information. (Note: if you use a sniffer you will see that the DHCP packets will have an 802.1q header with the appropriate VLAN ID)
  4. The phone will connect to the Call Server specified in DHCP option 128 and will prompt the user for the Node ID and TN information.
With all that said we did leave out one very important piece of the pie... the network switch configuration. You'll need to configure the VLAN and QoS settings manually depending on the switch vendor.

Cheers!

Wednesday, October 24, 2007

DHCP Options (VoIP)

In this post I'd like to cover the DHCP options you'll need to automatically configured the Nortel i2002/i2004 Internet Telephones as they boot. These DHCP options will actually work with any of Nortel's Internet Telephones including the i2002/i2004/i2007/1120E/1140E and 1150E.

You'll need to add a custom vendor DHCP option with a code of "128" as a string value. You should name this DHCP option as "Call Server Information". The value of this DHCP option will use the following format;

Nortel-i2004-A,iii.iii.iii.iii:ppppp,aaa,rrr;iii.iii.iii.iii:ppppp,aaa,rrr.
Where the following values are;
  • “Nortel-i2004-A” = Option #128 begins with this string for all Nortel IP phone sets
  • “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 (.).

For this example, enter the following:
Nortel-i2004-A,10.1.1.10:4100,1,5;10.1.1.20:4100,1,5.
This would equate with the following values;
  • Call Server S1 = 10.1.1.10
  • Port S1= 4100
  • Action S1= 1
  • Retry S1= 5
  • Call Server S2 = 10.1.1.20
  • Port S2 = 4100
  • Action S2 = 1
  • Retry S2 = 5
You can use the vendor class of "Nortel-i2004-A" if you'd like to build different scopes within your DHCP server. A default scope for all general devices and then a specific scope for any device that requests the vendor class of "Nortel-i2004-A".

Let me make this comment... if your DHCP server mistakenly returns a DHCP response that does NOT include DHCP Option 128 the IP phone will just sit at the "Starting DHCP..." prompt. You need to make sure that you return DHCP Option 128 in the DHCP response to the phone.

This all assumes that you've setup a DHCP relay on the Voice VLAN on the core ERS 8600 switch or whichever switch you might be using as the router for that VLAN.

I'll review the basic configuration of the ERS 8600 (core) in a subsequent post as it applies to the example configuration I've laid out in the past few posts.

Please feel free to drop a line if you have questions.

Cheers!