Polycom IP500 No Longer Able To Provision From TFTP Server

So the power went out last night, and for the first time in a long time my Polycom IP500 restarted. Then it tried to provision itself with the FreePBX Distro box running 1.813.210.58-1, but was unable to. When it attempts, it immediately give me an unable to connect message. I’ve made a few changes to various settings since I set it up back in Feb, but nothing I can think that would change behavior with TFTP other than apply the distro update scripts.

Here is the output from running ‘tcpdump port tftp’ as the phone attempts to connect:
07:28:03.588402 IP 192.168.0.30.cap > 192.168.0.20.tftp: 19 RRQ “bootrom.ld” octet
07:28:03.683397 IP 192.168.0.30.1027 > 192.168.0.20.tftp: 25 RRQ “0004f201326f.cfg” octet
07:28:03.779770 IP 192.168.0.30.1028 > 192.168.0.20.tftp: 25 RRQ “000000000000.cfg” octet
07:28:14.554885 IP 192.168.0.30.solid-mux > 192.168.0.20.tftp: 30 WRQ “0004f201326f-boot.log” octet

To verify that it wasn’t an issue with the configuration or phone, I copied what was in the /tftpboot folder to a debian server with tftp and it was able to provision with no issues what so ever, so it must be an issue I’m not seeing with the FreePBX distro server.

I have looked through the FreePBX settings and nothing sticks out, however I have noticed when I make a change and hit ‘Update Globals’ under ‘End Point Advanced Settings’ it gives me a message at the top: “Local TFTP Server is not correctly configured”.

Does anyone have suggestions on how to fix this problem? Any help is greatly appreciated!

Is the tftp server running on the FreePBX box?

It might not have started back up.

I’ve booted and rebooted the machine, but I’m unable to explicitly see ‘tftp’ in top. Does it run under xinetd? Sorry, I’ll admit I’m unfamiliar with tftp, xinetd and how exactly CentOS mechanics work. This is the first sort of problem like this I’ve had out of it.

You can check the configuration of tftp server in:

/etc/xinetd.d/tftp

I always add a ‘-v’ to the server_args flag, this outputs tftp debug info to /var/log/messages

To check if xinetd services are started:

service xinetd status

you can also start/stop/restart

I see! Thank you for explaining that.

After restarting it and adding the -v flag to server_args, it appears to be running without any hiccups. Unfortunately, the problem still exists.

This is from ‘messages’ when the telephone requests the config files:
Jul 2 10:51:53 xxxxx in.tftpd[5058]: RRQ from 192.168.0.30 filename bootrom.ld
Jul 2 10:51:53 xxxxx in.tftpd[5059]: RRQ from 192.168.0.30 filename 0004f201326f.cfg
Jul 2 10:51:53 xxxxx in.tftpd[5060]: RRQ from 192.168.0.30 filename 000000000000.cfg
Jul 2 10:52:04 xxxxx in.tftpd[5061]: WRQ from 192.168.0.30 filename 0004f201326f-boot.log

This is what happens when I simply go into tftp via the client and try to ‘get’ a file:
tftp> get test
Error code 0: Permission denied

The ‘messages’ output when this happens:
Jul 2 11:07:04 xxxxx xinetd[5041]: EXIT: tftp status=0 pid=5047 duration=1013(sec)
Jul 2 12:05:16 xxxxx in.tftpd[5239]: RRQ from 192.168.0.100 filename test
Jul 2 12:05:16 xxxxx xinetd[5041]: START: tftp pid=5238 from=192.168.0.100

What are the file permissions of your TFTP directory? Normally this is /tftpboot

rwxrwxr-- on the dir itself and a mix of rwxr-xr-- and rw-r–r- on the contents, but I just now changed the entire dir and it’s contents to 777 to see if it was a permission problem and sure enough… it was…! >_< /facepalm

Now I can properly fix the permissions…Thank you very much!