Setup Phone With PnP Service
Requirements for PnP Phone Setup:
Sangoma Phones and FreePBX/PBXact to be on the same network segment
FreePBX / PBXact Sysadmin 13.0.73 and above
The PnP Service provides a simple method to auto-provisioning Sangoma IP Phones, very useful in deployments where network elements are not accessible (i.e. DHCP or internet access).
Upon connectivity to the network, Sangoma IP Phones send out a multicast message onto the network to discover the FreePBX / PBXact provisioning server.
Once the FreePBX / PBXact system receives the multicast message, it responds will full phone configuration.
The PnP Service is enabled by default on all Sangoma IP Phones (as the initial boot process for NEW setup) and on FreePBX/ PBXact systems with Sysadmin 13.0.73 +
If the PnP Service fails to discover FreePBX / PBXact, the Sangoma phone(s) will attempt the next boot procedure. Click Here for Boot Procedure Order
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.
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.
PnP Service
By default, FreePBX / PBXact has PnP Service enabled. Configuration options are accessible from Sysadmin. Below is an example screenshot of the default configuration
If you wish to disable PnP Sservice, select 'Disabled'.
The Description Field is what will be sent to the Sangoma Phone's display if this FreePBX is discovered by the phone on power up. The number is the FreePBX Deployment ID.
This is useful when there are multiple pbx's on the same network so that you will be able to choose which PBX the phone should be provisioned with.
Once Sangoma IP Phones are connected to the network (for the first time) PnP Service will attempt auto-provisioning.
The Phone will display a window similar to the below:
screenshot from Sangoma s500/s700
To provision the phone with the FreePBX listed, select OK, which will automatically provision the phone. Use the UP/DOWN arrow keys to select other FreePBX systems if they appear in the list.
If you do not want PnP to autoprovision the phone, select Ignore, which will force the phone to use the next available method of autoprovisioning.
(You will want to ignore PnP autoprovisioning when the phone is not on the same network as the PBX)
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.
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 S700The 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