

TFTP servers for testing IP phones

Testing a software upgrade on a single IP phone can present a challenge. In this tip, learn how to implement your own TFTP server for testing your phones' configuration information.

Many IP phone vendors use the antiquated Trivial File Transfer Protocol (TFTP) to bootstrap their phones. On boot...

up, the phones get their IP address from DHCP along with a TFTP address, and then they send a series of request for files to the TFTP server that contain their configuration information and software/firmware images. Some of these files apply to all devices of a particular hardware model, and other files can be specific to a MAC address. Collectively, they control how all the phones in your network boot up. As with any system that affects large numbers of devices with a single action, you should exercise due caution when diddling with it.

More on this topic


More VoIP tips

Specifically, as you wander through the lifecycle of your IP phone hardware, you'll likely go through several software/firmware upgrades. If the action that triggers the update involves changing the file that supplies configuration information to all your phones, then testing that upgrade on a single phone can present a challenge, since any phone that boots while you're testing your change will get the new image or configuration.

Part of the solution, then, is to set up a separate TFTP server and point the test phone at it. For the TFTP server, I recommend pumpKIN which you can get at I like this because the application is just an executable that you don't have to install. It's also simple, easy to use, only 140KB and free. Just run this on your laptop -- and don't forget to adjust your desktop firewall software as needed. As TFTP is totally unsecured, also don't forget to turn it off when you're done.

You've got a couple options for pointing your test phone to use your temporary TFTP server. One is to change the TFTP server (DHCP Option 150) for this specific phone. You might make this change easily to a subnet if you're going to plug the phone into a subnet that doesn't have any other production phones (which may be the case if you're in a lab, for instance). A better way would be to set up a specific lease for the phone's MAC address, with the special TFTP server, which would of course be the IP address of your laptop running pumpKIN or your favorite TFTP server.

Even more preferable, as it doesn't involve changing production systems in the middle of the day, is to manually configure the phone to look for your TFTP server. If this option is supported by your IP phone vendor, the procedure will be model-specific. As an example, in the case of a Cisco 7960, you'd press the "settings" button, then unlock the phone (by pressing **# if you're running SCCP or selecting "Unlock Phone" and entering the password if you're running SIP). On the SCCP image, you'd select option 32 and press "Yes," which enables the alternate TFTP server, then option 8 which lets you enter the IP address of your temporary TFTP server. Save and exit. When you reboot, the phone will be redirected to the private TFTP server without any chance of affecting all the other phones.


Dig Deeper on Unified Communications Resources