There are several reasons why you might want to enable manual provisioning of your Avaya IP Phones:
- Branch office scenarios, where you want to reduce bandwidth requirements for provisioning or firmware distribution.
- Large site scenarios, where you want to offload provisioning from the DHCP server or offload firmware distribution from the signaling server.
- Secure environment scenarios, where phone security is paramount and phones should not allow themselves to be reconfigured.
- Any scenario where a signaling server is not available, such as a home office scenario or staging warehouse scenario. This includes scenarios where you want to load VPN client licensing on to the IP phone to allow it to be deployed remotely (e.g., a home office.)
The provisioning phase of the boot process can use DHCP or HTTP. To use HTTP, you must configure DHCP Option 66 in the IP Phone VLAN to point to the HTTP server name and prefix the server name with “http://”. For example DHCP Option 66 “http://httpserver/”. Whether you select TFTP or HTTP, the provisioning phase process checks the system.prv file and if it exists, may load one of the other provisioning files. If multiple provisioning files are loaded, the configuration parameters take effect in the following priority:
- DEVICE (e.g., <MAC>.prv, or, 001365FEF4D4.prv)
- TYPE (e.g., <TYPE>.prv, or, 1140E.prv)
- ZONE (e.g., headqrtr.prv)
- SYSTEM (e.g., system.prv)
The provisioning files provide the Info Block, which contains all the information you might normally stick in DHCP (or manually configure on the phone if you’re especially sadistic towards your telecom analysts). The Info Block can also contain information that is not normally provided in the DHCP string (e.g., Node and TN.) After the provisioning block is loaded, the IP phone will load the configuration file to determine how it should obtain firmware and font file updates. At some future point, I might come back and write another article to cover provisioning via HTTP or TFTP, but for now, we’re going to focus on the configuration file and manually upgrading the firmware on an IP phone.
- TYPE (e.g., <TYPE>.cfg, or, 1140E.cfg)
The Configuration file can contain a lot of information:
- [FW] Set Firmware
- [GEM FW] Expansion Module Firmware
- [USER_KEYS] User keys
- [DEVICE_CONFIG] Device configuration
- [IMAGES] Backgrounds and screensavers
- [FONTxx] Custom fonts
- [LANGUAGE] Language (associated with customized fonts)
- [LICENSING] Feature licensing
- [DIALING_PLAN] Dialing plan (SIP only?)
We’re going to focus only on the [FW] values in this article.
| [FW] |
|
Section header for SET FIRMWARE download information. |
| DOWNLOAD_MODE |
AUTO |
Recommended value. Download firmware only if the VERSION on the provisioning server is newer than the version on the phone. |
| FORCED |
VERSION of the phone is ingored. Firmware is always downloaded. |
| VERSION |
e.g., 0625C8J |
The VERSION string is compared to what is on the phone. VERSION should match the firmware FILENAME exactly. |
| FILENAME |
e.g., 0625C8J.bin |
Image filename. Must match the filename of the actual IP phone FW file to be downloaded |
| PROTOCOL |
TFTP |
Download protocol. Must be TFTP Documentation for CS1000 7.5 says that this must be TFTP, but the sample CFG files available from AVAYA show that HTTP is supported. Further testing is recommended. |
| SERVER_IP |
x.x.x.x |
IP address of the TFTP server in decimal notation. |
| SERVER_PORT |
0 to 65535 |
The port used by the TFTP server at SERVER_IP. Optional |
| SECURITY_MODE |
0 |
For future use |
Example 1140E.cfg file:
[FW]
DOWNLOAD_MODE AUTO
VERSION 0625C8J
FILENAME 0625C8J.bin
PROTOCOL TFTP
SERVER_IP 192.168.0.101
SECURITY_MODE 0
After placing both the configuration file (e.g., 1140E) and the FILENAME (firmware image) in the root of the TFTP server at SERVER_IP, the next step is to choose the method of configuring the IP Phone to know about the external provisioning server (if you haven’t already done this). The options available are:
|
|
While it is possible to configure the DHCP Option 66 to point to an HTTP server (to retrieve the *.prv or *.cfg files), other files must be available via the protocol specified within the *.cfg file. For the purposes of this article, that means a TFTP server is required whether you provide the <TYPE>.cfg via HTTP or TFTP. |
- DHCP Option 66 – TFTP/HTTP Server Name
- DHCP Option Nortel-i2004-B specification
- Manually configuring the Provisioning Server on the IP phone.
Select a method and implement it. To keep this article short and focused, we’re going to assume you know how to do this.
Plug in your phone and power it up. Assuming that (your DHCP configuration or manually configured provisioning server is correct and) it is able to reach the provisioning server, it will download the <TYPE>.cfg file from the TFTP/HTTP server, then using the instructions contained within, determine if a firmware download is required and perform that download if necessary.
If you use DOWNLOAD_MODE FORCED, the IP phone will force a download of the firmware each time the phone boots. This will increase the boot time for all IP phones configured to use that <TYPE>.cfg file.
I hope you found this article helpful. If you did, please share it.
Addendum:
Note regarding i2007.cfg file
Early versions of the IP Phone 2007 FW will fail to download newer versions of FW if the [FW] line is present before the FW download information in the .cfg file.
If the FW version currently on the IP Phone 2007 is prior to any version of 0621C4x, then delete the [FW] line. Once the phone has FW version 0621C4x or greater, the [FW] line must be present. Example: Phone has 0621C3A – comment out or delete the [FW] line in the i2007.cfg file Phone has 0621C4J – keep the [FW] line in the i2007.cfg file