TFTP question

  • Hi guys,

    Using 2.1.5-RELEASE (amd64)

    I have  FreePBX sever at

    FreePBX is running a TFTP server for Polycom phones.

    I want the pfSense DHCP to inform Polycom phones of the TFTP server location when they boot (option 66 or something)

    Googling around and searching the forum informed me two steps were required :

    1. System > Advanced > Firewall and NAT > Choose the interfaces where you want TFTP proxy helper to be enabled : LAN

    2. Services > DHCP server > TFTP server :

    Done that, applied.

    Still won't work.

    Am I missing something ?

  • How do you know it isn't working?  Dumb question, but why do your phones need to know where a TFTP server is?  Don't they normally pull their manifests from whichever head end they've been programmed with?

  • No FTP :)


    Basically when the phone (Polycom IP331) boots, it will get IP from DHCP and then instructions say to configure your DHCP server it discloses the TFPT server address (which is your FreePBX server).

    Then the Polycom phone will get its firmware, boot config and extension config from that.

    (On the FreePBX side there is a module called OSS End Point Manager which will recognize the phone by its MAC address and will give it the appropriate config file).

    If you don't specify it in the DHCP you just have to manually add the TFPT server manually on the phone.

    But when you've got several phones, this is quite painful… Plug them, wait forever for them to boot and catch them during the 10 secondes where you can specify a TFTP server, or you've got to restart them...

    Whereas if you can proceed as I was referring to, you just plug the phone then everything is set up automatically when it is ready, and you can go on with your live.

    So, more specifically, I want to do that so I don't have to manually input the PBX server address.

  • I've got a Polycom IP335 sitting on my desk.  It gets a dynamic address and then pulls its manifest from a WAN address.  I didn't have to program any TFTP servers or anything like that, but then my configuration is different from yours.

    I believe that the TFTP proxy is used when you're trying to bridge the WAN/LAN gap, when your phones are on LA but your PBX is on WAN.  If all your phones are on LAN as well as your FreePBX, then I don't think you need it.  Perhaps you could sniff that DHCP traffic and then verify that its offering up your TFTP server as expected.  Try to isolate the problem to the phones or the router.

  • Thanks for your reply and sorry for the confusion.

    I just found a way to make it work.

    I don't use the default TFTP protocol but instead HTTP

    I'm not sure about the implications of that so if that's not a good idea please let me know why.

    Anyway I just thought I'd post for someone looking to do the same thing as me.

    Step 1 : FreePBX > End Point Configuration Manager > Advanced Settings > Settings
    Change TFTP to HTTP

    Step 2 : pfSense > Services > DHCP server > Additional BOOTP/DHCP Options
    Add option 66 with TEXT : http://XXX/provisioning/p.php/

    Where XXX is your FreePBX server IP.

    Now you can even format completely a Polycom phone and it will boot by itself, then find the provisioning server using DHCP, download firmware, configure and VOILÀ.

    That's what I was aiming for… you can completely wipe out a Polycom phone, including the firmware, and plug it in your LAN and everything will work by itself.

  • I had a similar issue with FreePBX using the OSS End Point Device Manager. The above HTTP option worked OK with my newer Cisco VOIP phones but didn't work with some older Linksys VOIP phones. I had to revert the FreePBX back to TFTP provisioning and change the pfsense DHCP option 66 to:
    Number - 66
    Type - Text
    Value - ipaddress or dnsname

Log in to reply