Setup Phone with DHCP Option 66
Â
Not all DHCP servers support "Option 66". This is common in typical small office routers. If your router's DHCP server does not support "Option 66" (also sometimes called TFTP option) we recommend using either the PnP service, or the Sangoma redirection service to auto-provision your phones.
This procedure will not work for remote users Â
FreePBX / PBXact Administration
Â
Requires being on FreePBX Distro or PBXact 10.13.66 release or newer
If using FreePBX you will need to make sure your PBX is registered with the FreePBX License server to use Phone Apps or End Point Manager for Sangoma Phones for free.
The following information is assuming that you have already configured extension and User Manager accounts within your FreePBX / PBXact . If you have an un-configured out-of-box server, please start here:Â FreePBX Distro First Steps After Installation
Verify End-Point-Manager IP Address
The End-Point-Manager (EPM) module, inside FreePBX / PBXact, is responsible for auto-provisioning Sangoma Phones. Â In order for EPM to be able to communicate with the phone(s) it must be configured with the same IP address as your FreePBX / PBXact system.
You can verify the IP Address of EPM within the EPM Global Settings:
Log into your PBX GUI.
Under the Settings section, pick EndPoint Manager.
Navigate to the Global Settings section of EPM from the right nav bar.
Define the Internal IP Address or FQDN that phones will connect to when local to the PBX.
Define the External IP Address or FQDN that phones will connect to when not local to the PBX.
Also take note what port you have HTTP Provisioning setup on as that port needs to be accessible for your phone to receive its configrations.
Press the Save Global button.
Verify we have a proper Template setup
In the right nav menu, under Brands, click on Sangoma.
Â
Either click on the New Template button at the top to create a new template, or click on the default-sangoma template name to edit the included default template.
Â
Give the template a Name. For the Destination Address, pick either the Internal or External option. This will pull in the IP address that you entered in the Global Settings section earlier.
Â
Define your Time Zone and if you want Daylight Savings time mode to be enabled.
Â
For Firmware Version, pick Firmware Slot 1 from the drop-down menu. (When you install EPM it will install the latest firmware in slot 1.)  See Firmware Management for more information on updating firmware for your phones in the future.
Â
Define what Provision Server Protocol you want to use to have your phones receive their config files:
TFTPÂ should be used when phones are local to the PBX, as it's easy to use and requires no setup. Â
HTTPÂ should be used for local or remote phones and is easy to use and required no other setup. Â The default HTTP port used for phone configs is port 83 but may be different on your PBX. Â You can view the port that is currently setup for HTTP in the Global Settings section we just went through above.Â
FTP should be used if your phones are remote, as it requires the phone to know the FTP username and password to receive the config file.
If using FTP, you will need to set up an FTP username and password for the PBX. Review the System Admin - FTP Setup wiki for information on setting up a username and password for phones to receive their configuration files via FTP.
Â
Press the Save Template button when done.
Â
There are more options that can be set up in a template that we did not cover in this quick overview. To learn more about each option, click on the links below.
Default Template (Hot Desking)
Configuring Buttons on your Phone
Â
Line Keys Setup
End Point Manager will help you set up the Line keys for your Sangoma Phones, based on the phone family:
Â
Line Key Types
Depending on the phone family type, Line keys can be set up in End Point Manager either for S-Series or P-Series with the following options.
Â
Line Key Types:
BLF- ("Busy Lamp Field") - Monitors another extension or feature code that has state information on your PBX. The state is indicated by the BLF button.
Call Park- Used for one-touch Call Parking.
Conference- Configures a conference button to allow 5-way conference calling.
DTMF- Sends DTMF digits while on a active call, such as having the system dial a feature code while on a active call.
Hold- Places the caller on Hold.
Intercom- Causes the dialed extension to answer using Intercom Calling/Auto Answer instead of ringing.
LDAP- Button to Launch LDAP directory
Line- Sets up a line key. Each phone needs at least one line key.
MultiCast Paging- Starts a page to a specific MultiCast address.
Record- Toggles on-demand call recording. Requires the user to have on-demand recording permissions in the PBX.
Redial- Redials the last number. Â
SpeedDial- Dials the programmed external number. Â
To insert pauses, use a comma.  Each comma adds a 500ms pause when dialing. Â
If you want to create a speed dial that dials a number and then waits for the user to enter more digits on the keypad you would use a + at the end of your speed dial such as *80+ would dial *80 when you press the speed dial button and then wait for you to enter more digits.
Transfer-Transfers a call to a new recipient.
Voicemail- Dials the voicemail system, allowing the user to check voicemail.
XML API- Provides access to the specified Phone App.
Â
Configuring Line Buttons
User Manager Permissions
Verify Groups Permissions are setup with Access to Phone Apps
Navigate in your PBX to the User Management module.
Â
Click on the Groups tab at the top
ÂPress the Edit button
 next to the group you want to edit permissions for.  By default on a new system we create a Group called All Users and when you create extension they should be auto assigned to this group. Â
Â
We will first see all the users who are apart of this group and can add any missing users to this group from here.
Â
Click on the tab at the top for Phone Apps
Â
From here we can see we have Allow Access to Phone Apps enabled
Â
Click on any specific application tab we can now set permissions on that application. In our example we will select the Conference tabÂ
Â
We will verify that access to the Conference Room is set to yes for this group.
Â
We can also then control what conference rooms the user can see. Â
in our example below we are saying the user has access to their own conference room that is linked to them from the conference room module in your PBX and also we have shared the General Conference Room to all users in this group.
From here go into each tab under Phone Apps and make sure you have your permissions setup correct and press the submit button at the bottom of the page when done.
Verify my users are setup to inherit permissions from the group
By default when a new user is created most permissions for that user are told to be inherited by the group they are apart of. Â We are going to go verify they are all setup correct. Â If a user permission is not setup when they try to use a app on the phone or login to the phone they will get error saying they do not have permissions.
Navigate in your PBX to the User Management module.
Click on the Users tab at the top
Â
 Press the Edit button next to the user you want to edit permissions for.
Click on the Phone Apps tab on the top
Â
For each permission you want to verify it is set to inherit from the group.  If you wanted to override a permission for a user to be different then the group permissions you can do that here by not using the inherit option.
Â
From here go into each tab under Phone Apps and make sure you have your permissions setup correct and press the submit button at the bottom of the page when done.
Configure Your Company's DHCP Server for Option 66
In the case that your voice network will not have IP connectivity to the Internet, you can use the "Option 66" feature built inside your company DHCP server to auto-provision your Sangoma phones. This requires the IT administrator to insert the IP address/FQDN of the FreePBX server into the company router, under the "Option 66" parameter of the DHCP settings. This procedure is required only once. Since no configuration is required on the Sangoma phones, this procedure is beneficial for mass deployments.
Examples of valid URIs, showing the URL with port would be:
http://HTTP Username:HTTP Password@FQDN:84
https://HTTPÂ Username:HTTP Password@FQDN:1443
Note:
http username & password could be found in System Admin > Provisioning Protocols
FQDN: It is the external IP Address of the PBX (that phones will connect to when not local to the PBX) or make sure that your DNS Server resolves your FQDN to the correct IP Address
Ports 84 and 1443 are the default ports selected by System Admin. These can be any other port chosen in System Admin > Port Management
After the phone powers on and retrieves an IP Address from the DHCP server, 'Option 66' will send the location details of the FreePBX server, which is recognized by the phone.Â
D & P series phones
These phones support to the provisioned over SIP. This means that if the DHCP Option 66 config above doesn't work (using the HTTP/HTTPS provisioning URI and port) you may also set it up to contact the server to its SIP listening port, as followed:
sip:proxy@FQDN:5060
Â
Note:
'sip:proxy' it's a static value and it needs to be set like that
FQDN: the external or internal IP address of the server; or the FQDN/Domain Name that resolves to the server's IP address
5060 is the SIP server port. Depending on the configuration and the driver (chan_sip or chan_pjsip) this could be 5061, 5160, or any other custom port configured in Settings → Asterisk SIP Settings **
(**) Phone will use UDP transport as default if not set otherwise. For TCP or TLS transports the opt66 string will need to be set to the correct transport explicitly, as followed:
sip:proxy@FQDN:5061;transport=tcp
or
sip:proxy@FQDN:5161;transport=tls
Â
Logging in with your Phone
Now that we have told our phone how to reach the PBX using a redirect server and we have verified that End Point Manager is setup in our PBX and our users have permissions for Phone Apps we will now log our phone into the PBX.
Your FreePBX / PBXact system must be on firmware version 10.13.66 / 10.13.66-11 or later to take advantage of Zero-Touch auto-provisioning for your Sangoma Phone.
Firmware from this version onward comes with automatic (free-of-charge) access to End-Point-Manager (only for Sangoma phones) and with pre-configured Sangoma Phone templates (which are used to configure your phone)Â
Â
Automatic Configuration process
When the phone contacts your PBX it will communicate with the End-Point-Manager (EPM) module inside.Â
EPM will detect any Sangoma phone that is requesting configuration and if the MAC Address has already been setup in EPM Extension Mapping it will use the configuration for that phone. Â
If the Mac Address has not been mapped to a user or template inside EPM yet it will prompt you with a login screen. Since your PBX will not have any information on the phone at this point, the phone will prompt the user to enter their Extension and voicemail password and EPM will generate a configuration for this phone based on your default template.
Â
When EPM receives the user's Extension and password it will lookup to verify that the user exists (i.e as a valid extension already configured)
If the user does exist, EPM will perform automatic extension mapping and push full user configuration to the phone. The phone will immediately be ready for phone calls
Â
Below is a screenshot of what the phone will display upon initial configuration
Â
Note: The above 220 and 230 are example extensions. Your phone will display the extension number that the user logged in with.
Â
Managing Phone Apps
The following information describes how to modify the phone apps that are displayed on screen.
For new FreePBX / PBXact installations, where the default Sangoma Phone template has not been modified, the phone's display will appear similar to the image below.
( we will discuss the Sangoma Phone template below)As noticed from the image above, no phone apps are assigned to the buttons. Since phone app assignment is customizable we allow the user to customize.
To customize the phone apps to be displayed on phone's screen, we need to modify the default Sangoma Phone template
Log into your PBX GUI.
Under the Settings section, pick EndPoint Manager.
Â
In the right nav menu, under Brands, click on Sangoma
Click on the default-sangoma template name to edit the included default template or any other template that you want to edit.
Click on the 'Models' tab to list the available Phones, then select the phone model.
You will be presented with a view of all available programmable buttons for that phone model.
example from S700Â
The first 2-3 buttons should always be set up as line keys. A line key is what allows you to make or receive a call, so if you want to manage two calls at a time, you need to set up two line keys.
If you wish to add more Line keys, beside the line key number, select the Type drop down,  and choose Line.
For the remaining buttons on your phone, assign whichever phone apps you wish, to each button. Â
To assign a phone app, beside the line key number, select the Type drop-down, and choose XML-API
Example for Line key 5 on S700:Â
Click on the Value drop-down beside the line key and select the phone app you wish to assign to that line key
Â
Once selecting the phone app the line key will be updated with the phone app.
In the below image, the Call Flow phone app was chosen for line key 5Â
Â
Finish selecting the phone app you wish to assign for each button
Once completed, your phone app view would look something like the following image, based on the phone apps chosen
Â
When done editing, press the Save Model button to save your settings for this model.
Â
You now need to update the phone configuration file. Choose an option and click the Apply button. The three options at the bottom of the template are:
Save- This will only save your changes into the PBX database. It will not write out new config files for the phones that are using this template as mapped in the Extension Mapping section of End Point Manager.
Â
Save and Rebuild Config(s)- This will save your changes to the PBX Database and also write out new config files for the phones that are using this template as mapped in the Extension Mapping section of End Point Manager. The phones do not retrieve the updates and will need to be rebooted to get their update.
Â
Save, Rebuild Config(s) and Update Phones- This will save changes into the PBX database, write out new config files for the phones, and also immediately update any phones that are mapped to use this template and currently registered to the PBX. This may cause the phones to reboot in rare instances but while the phone is processing the updated config for 5-10 seconds the buttons will not be usable on the phone.
Â
The Phone apps on the phone's display should now be presented by each button. Below is a screenshot of a phone with some phone apps configured.
Â
For information on how to use each phone app, visit:Â Application Userguides
Â