Hack 69. Customize Uniden IP Phones from TFTP
Use unique configurations on each IP phone, and while you're at it, do some firmware revision control, too.
There are two files for each Uniden IP phone on the TFTP server: one that's shared by all of the phones on the network (unidencom.txt, described in "Configure Multiple IP Phones at One Time" [Hack #68]) and one that's exclusive to each phone on the network. These exclusive, phone-specific config files, whose filenames contain the names of their corresponding phone's MAC hardware address, control the firmware and hotkey setup of that particular IP phone. I'll step you through a sample Uniden phone-specific config file, as it might appear on your TFTP server:
AutoFirmwareUpdate YES FirmwareFileName uip200_455enc.pac FirmwareVersion BS4.55
Enabling AutoFirmwareUpdate with a YES will cause the phone to attempt a firmware patch automatically when it boots. It will try to grab (and install) the firmware package specified by FirmwareFileName from the TFTP server. The desired firmware version is specified by FirmwareVersion, and the phone will grab the firmware file you specify only if the version is different from the version currently running on the phone.
MyLcdDisplay Maddie's Phone MyDialNumber 1138 DisplayName Madelyn UserNameForProxy 1138 PasswordForProxy uniden UserNameForRegistrar 1138 PasswordForRegistrar uniden
MyLcdDisplay determines what greeting to display on the phone when it is waiting to call or be called, and MyDialNumber determines what number to display. DisplayName attempts to set the caller ID name to be used on outgoing calls, if the softPBX supports this. UserNameForProxy, PasswordForProxy, UserNameForRegistrar, and PasswordForRegistrar establish the login credentials to be used when the phone logs into the SIP servers that handle its calls (proxies and registrars are often hosted on the same server, so the credentials are often identical).
ProgrammableKey1 OneTouchDial ProgrammableKey2 TwoTouchDial ProgrammableKey3 CallForward ProgrammableKey4 DoNotDisturb ProgrammableKey5 VMA ProgrammableKey6 Mute
The ProgrammableKey1 through ProgrammableKey8 settings allow you to assign functions to the UIP200's hotkey. Here's what the possible values do:
OneTouchKey1 18005551212 OneTouchKey2 411 TwoTouchDigit0 3000 TwoTouchDigit1 3001 TwoTouchDigit2 3002
You use the OneTouchKey1 through OneTouchKey4 settings to supply the phone numbers that are used with up to four ProgrammableKey settings, so you can set up to four of the UIP200's eight hotkeys to be one-touch dialing keys. The TwoTouchDigit0 through TwoTouchDigit9 keys, on the other hand, are used to set up two-touch dialing (first the hotkey, and then a number key on the dial pad). Values supplied here become the phone numbers that are called whenever a two-touch dial occurs.
VmaDirectCallNo 8080 VmwiLampIndicator Enable
VmaDirectCallNo tells the phone what number to call when the VMA hotkey is pressed. VmwiLampIndicator, when Enabled, permits the phone to light its message-waiting indicator light. It's probably not a good idea to disable this one.
Once you've got this file set up the way you like, save it in the format uniden<MAC>.txt, where <MAC> is the Ethernet hardware address of the phone it applies to. Then, reboot the phone!