Provisioning Polycom Phones with DHCP Option 160 in pfSense, Meraki, and Mac OS X Server 10.11 El Capitan
I started installing a new phone system for work. It’s replacing the Comcast phones with a FreePBX server and new Polycom phones. The great thing about this setup is that you can provision a large number quickly as long as you have the system setup correctly beforehand. The only real difficulty was that I was testing the phones at my house that uses pfSense but my work uses a Meraki firewall for DHCP in one location and a Mac OS X Server in another and all three of these have different ways of setting DHCP options. This is how to configure all three systems to send DHCP Option 160 to your phones with the ftp (or tftp/http) address and credentials. This does not explain setting up your FreePBX system or Endpoint Manager. For that I suggest checking out Crosstalk Solutions YouTube series FreePBX 13 Made Easy!
Before getting the phones provisioned you will need to have your FreePBX server working, have already setup your extensions, and mapped the extensions and created phone templates in Endpoint Manager. If you host your FreePBX server with freepbxhosting.com they include Endpoint Manager for free, otherwise I highly recommend spending the $149 to get it if you have more than a few phones to set up!
pfSense has a few quirks but isn’t too difficult.
Meraki is slightly easier to set up.
Mac OS X Server 10.11 El Capitan
Apple makes adding DHCP options as hard as possible. Especially since they announced they are discontinuing their DHCP server and scaling back what the OS X Server can do, I suggest not using it if possible. If however, you are forced to like I was, here are the steps that worked!
First, go to John Lockwood’s blog and download his DHCP Option Code Utility. Unlike the previous two examples, Apple requires you to encode the string value as Base64 in the /etc/bootpd.plist configuration file and John has made a utility to do most of the work for us.
Checking the Phones
Your phones should now get the provisioning address and be able to download the correct configuration the next time they boot up and get an address from the DHCP server. To check if they are getting the correct information from the server on a Polycom VVX 400 (other VVX and IP models are very similar):
I hope this will save you some time if you are setting up phones on one of these systems or similar!