Connecting Sangoma Phone to FreePBX or PBXact Indepth
Below is a simple setup guide to get you up and running with a Sangoma Phone.  For full information on using and managing phones with the End Point Manager (EPM) module, review the EndPoint Manager wiki.
Navigating to the End Point Manager Module in your PBX
Sangoma phones are set up and managed from the End Point Manager (EPM) module in your PBX GUI.
Log into your PBX GUI.
Under the Settings section, pick EndPoint Manager.
Global Settings
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 configuration if you are using HTTP provisioning.
Press the Save Global button.
Â
Set Up One or More Templates for your Phone to Use
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 - Provisioning Protocols 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.
Configuring Buttons on your Phone
Once you have created one or more Sangoma Phone templates, you can now define the buttons each phone model should use.
Click on the Models tab at the top under your template that you are editing and pick which model of phones you want to change the buttons on.
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.
From the Type drop down, pick Line.
Set up two or three buttons as line keys.
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
Â
You can optionally change the label name for any button type except Line. The Label is the name that will be shown on your phone screen for that button. Â
When picking the Line type, the label name will be whatever you defined in the Line Label section of the phone Template Settings. The default is to show the extension number of the device. You can change this to show the name instead, or both name and extension number.
You can also drag the button to be in a different spot. Left click on the button and while holding down your left mouse drag the button to a different spot and release it.
In our example we will drag Button 21 up toward the top to make it button 4 on the phone. The button number will not change until you save the model.When done editing, press the Save Model button to save your settings for this model.
If you go back into the model number's button settings, any buttons that you moved earlier will now have the correct numbers.
For example, our Intercom button is now showing correctly as number 4 instead of number 21.
Â
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.
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.
Â
Mapping Extensions to your Template
Now that you have set up one or more templates, you need to map a physical phone to an extension on the PBX and a template in EPM so the system knows what settings to apply to the phone.
Navigate to the Extension Mapping section of EPM in the right nav bar.
Click on the Add Extension button at the top.
This will add a new row to the Extension Mapping page.
Pick an extension from the Extension drop-down menu to set up mapping for it.
Pick the Sangoma brand from the Brand drop-down menu.
Type in the MAC Address of the phone. The MAC Address is printed on a label on the back of the phone, and can also be found by going to Menu → Status → Information on the phone.
In the Template drop-down menu, pick which template you want this phone to use.
Pick the phone model from the Model drop-down menu.
At the bottom of the Extension Mapping section, choose an option and click the Use Selected button. (Note: This menu only appears if the checkbox for at least one extension is checked. The checkbox for your new extension should be checked. Check additional boxes if you would like to apply the selected action to other extensions.)
Â
The three options at the bottom of the template are:
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.
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.
Delete Selected- This will delete the selected extension(s) from the list in Extension Mapping.
Point the Phone to the PBX to Receive its Configuration Settings
You will now need to tell your phone how to reach the PBX for its configuration file.
If your network is capable of option 66 or option 150, you can set up your DHCP to provide the IP address of your PBX for any phone that is looking for a configuration server, which will allow you to skip the steps below.
Important: If you have enabled HTTP/HTTPS/FTP provisioning with authentication at System Admin (PRO), please refer to this wiki for the proper format of the URL string.
Â
You can set the configuration server directly from the phone or by accessing the phone GUI through a local web browser.
Directly from the Phone
Press the Menu button.
Use the arrow buttons to highlight the Setting option, then press the Enter button. Â
Highlight the Advanced Setting option and press the Enter button.
You will then be prompted to enter the password for this device. By default, the password is admin. Use the phone's keypad to enter the password, then press the Enter button.
From here highlight the Auto Provision option and press the Enter button.
Â
You can then use the Switch button to toggle between Upgrade Modes if needed. Be sure TFTP is the selected upgrade mode.
Then arrow down to Config Server. Enter the configuration server. When you are done editing this field, press the Save button.Â
If you are using HTTP for the mode you will need to set the Port Number that your PBX is setup to listen on for HTTP provisioning as shown in the Global Settings section of End Point Manager.
Example would be http://10.10.48.2:84 with 84 being the Port Number
Important: If you have enabled HTTP/HTTPS/FTP provisioning with authentication at System Admin (PRO), please refer to this wiki for the proper format of the URL string.
From the Phone GUI
Enter the IP Address of the device into a local web browser.
When prompted, enter admin as the user name. The password, by default, is also admin. Click the OK button to continue.
From the homepage of the GUI, click on Management from the options at the top. Then click on Auto Provision from the dropdown menu.
 From here, you can toggle the Upgrade Mode buttons and edit the Config Server Path field.
Â
 When you are finished, press the Autoprovision Now button.Â
Â
Â
Â