Manually configuring VoIP handsets is a horrible job, and of course leaves you in a complete mess if you ever make any changes to those settings. I recently subnetted a building which was one flat network and wanted to prioritise VoIP traffic. Fortunately the Ericsson and Aastra handsets can be configured by DHCP, but typically it’s something you have to pester your telecoms provider for information about. Where I work this information was not volunteered when our Ericsson MD110 PABX was IP-enabled a few years ago. The reason I’m writing this up is that newer firmwares have changed this behaviour.
The handsets will boot from their bootrom firmware and then check their software firmware against the files on the ‘software server’, updating if out of date. This software server will typically be your DNA server. The files are served by IIS and are within the default Inetpub folder structure.
The handset settings are configured from DHCP on option 43, but this presents problems in infrastructures which contain other hardware which also depends on option 43. Fortunately, Microsoft Windows DHCP server allows configurable Vendor Classes – it can respond differently to requests based on their vendor class identifier string which they declare during DHCP discover and DHCP request, thus allowing re-use of the same option numbers. However, configuring this isn’t particularly intuitive hence my writing this up.
First right-click on your parent IPv4 tree in the DHCP MMC snap-in:
Now create as follows:
I discovered using Wireshark that newer firmwares since the Aastra rebranding identify themselves with the string Aastra IP-Phone whereas older ones use Ericsson IP-Phone. You should really create one for each, just in case you plug in an older handset one day.
Again by right-clicking on the parent IPv4 item select Set Predefined Options and complete as follows:
At the root level of your IPv4 tree, select Server Options. Add a new option, but use the advanced tab:
This is the tricky part. Consider the binary data:
0f 41 61 73 74 72 61 20 49 50 2d 50 68 6f 6e 65 01 0b 31 37 32 2e 31 36 2e 31 35 2e 31 05 02 32 30
The bold hex numbers describe the following
- 0f means 15 bytes in the following ASCII string Aastra IP-Phone
- 01 0b means vendor-specific tag 01, followed by a 0b (11 in decimal) byte ASCII string
- 05 02 means vendor-specific tag 05, followed by a 2 byte ASCII string
The tags are defined as follows:
- Tag 01 – software server IP address
- Tag 02 – proxy server IP address
- Tag 03 – proxy port (must be defined if tag 02 is used)
- Tag 04 – telephony domain name
- Tag 05 – VLAN id 1 for the telephone
- Tag 06 – VLAN id 2 for the telephone
- Tag 07 – VLAN id 3 for the telephone
Since Vendor Classes can only be defined on a per DHCP server basis we can’t have dedicated voice VLANs per subnet unfortunately, to reflect how you separate your workstation VLANs. Since all your VoIP handsets will end up in the same VLAN, Ericsson added support for configuring two additional VLANs (using Tags 06 & 07). These additional VLANs will only get used if the handset is unable to get a DHCP lease on the VLAN defined in the preceeding tag.
As before you will need to define one set of option 43 settings for Aastra handsets, and another for Ericsson handsets:
As the phone starts up it will request and obtain a lease on the native VLAN for the switch port it is connected to, will then read the option 43 settings, release that IP, and request a new lease on the specified VLAN.
Additional configuration such as NTP server settings, daylight saving time corrections, CoS, PC port VLAN etc. can all be configured in the model-specific config files in Inetpub on the DNA server.