Curious what a TFTP server is, why it might be important to VoIP products and how to setup a TFTP server? Great, this article is for you then.
A TFTP (Trivial File Transfer Protocol) Server is a simple form of your basic FTP Server. Due to its simplicity a TFTP client can be implemented with a very small amount of memory hence why its embedded in so many VoIP Devices. A good portion of current VoIP Devices and next generation devices rely on TFTP Servers to deliver their configuration files and settings to the devices. Ever see a VoIP Phone System that “auto configures” it’s phones, well most likely that is just a TFTP Server running in the Phone System.
Why do I need to know about TFTP Servers in a VoIP Deployment?
A TFTP server is often used as the back end to standardize configuration templates for VoIP Devices. Traditionally you would edit settings on a device physically which can especially be difficult for those resellers who need to drive 50+ miles to a clients location. A TFTP Server can eliminate this since you can log into your TFTP server, and edit a text file all while never stepping foot onto the customer premise. Do you have 50 phones, all pointing to 192.168.1.2 as their registration server and now the IP address of the system has changed? If you were running a TFTP server this may be a simple 15 second find/replace. This form of configuration is often referred to as “Mass Provisioning”, as you can configure a vast number of devices very quickly with very little human interaction (which we all know equates to less errors) with the devices themselves. To make Mass Provisioning even simpler, you can use Option 66 in your router to provide the TFTP address to all of your devices with the DHCP information.
What is Option 66?
Option 66 is a method of providing a bit more provisioning data to your devices. Hopefully you are already familiar with DHCP, but option 66 adds another value sent with DHCP, which can be for example “192.168.1.1” or “http://www.mydata.com/data”. Your phones are all getting a LAN IP from your DHCP server, but with Option 66, they can also receive the LAN IP of your TFTP Server. Option 66 can be configured within most business class routers as a setting. If you want to use it to provide your TFTP servers address, simply put the IP address of the server into the Option 66 field. With this method, your phones will receive a LAN IP, then your TFTP Server IP. After they receive the TFTP Server IP Address they will attempt to contact that server, if a valid configuration file is there (and a running server) it will download this to the phone automagically and provision itself to work with your phone system.
As we can see a TFTP Server is a powerful tool in VoIP Deployments, and often a necessary one.
How to setup and configure a TFTP Server:
- First thing we need to do is prepare our TFTP Server, if you are running Windows you can download one of my favorite and free TFTP Servers, PumpKIN. If you want to to follow along with my instructions, use PumpKIN so you can match up the screen shots I provide. Please make sure you download this software to a PC on the same LAN as your VoIP Device!
- Now that you have Klever Groups free TFTP Server, PumpKIN installed on a PC on the same network as the VoIP Device, its time to configure PumpKIN. First off lets open PumpKIN(if its running you will see a small Orange Pumpkin in your system tray (just click it). If your using a different TFTP Server, these instructions are fairly universal.
- You will see we have a few options here, but before we get started we must decide where devices will look for their configuration files. Please click the Options button.
- First lets set the TFTP File system Root folder, this is where the TFTP Server will tell all devices to go to for their files. As you can see I created a folder, C:tftpboot.
- Now just for convenience, I set Read Request Behavior & Write Request Behavior to “Give all files” & “Take all files”. If you do not make this change you will be prompted to give devices permission every time they request a file, and often devices need quite a few files so it may time out if your response time is too slow.
- Now you need to populate your TFTP File system Root Folder with some data, this may be configuration files, firmware, etc.
- Also make sure the TFTP Server is RUNNING!
- Once you have files in your TFTP Root Folder, and your device is pointing to the TFTP Server with either with Option 66, or by plugging the TFTP Servers LAN IP into the devices TFTP Server field we will begin seeing requests. You may need to reboot the device if you do not see anything in the TFTP Logs.
- You will notice above that there was some files requested and sent, and also some files that were not found. This is a sure sign that communication between the server and device is working at least. This TFTP log is a great tool to use when debugging why a device may not be booting properly. Often devices will write their own logs to the tftpboot directory as well, so keep an eye open for that.
Hopefully this will be a good starting point for those of you unfamiliar with TFTP Servers. Please check back as I have a few follow up articles coming out, showing how to use a TFTP server to configure Polycom Phones, Aastra Phones, Linksys Analog Adapters, and some other VoIP Devices.