Sangoma Softphones - FreePBX & PBXact Desktop App Admin Guide

The following content only applies to Switchvox, FreePBX, and PBXact platforms

Sangoma Softphones - FreePBX & PBXact Desktop App Admin Guide

Table of Contents

How to Setup the Sangoma Phone Desktop App on the PBX

Usage Requirements

PBX OS

  • SNG7 with PBX version 15+.

PBX Modules

Please find below the module list to fulfill the dependency requirement for Sangoma Phone Desktop App.  

  • Sangoma Connect 

    • Sangomartapi 

    • Sysadmin 

    • Phone Apps (Restapps)

    • Firewall v15.0.39 or v16.0.57.1 (not required, recommended minimum version if Firewall module is being used)

    • Framework

There are multiple commercial and open source module dependencies required to support Sangoma soft clients. PBX deployments that have the paid version of Endpoint Manager or Phone Apps licensed for multiple years may require that the module maintenance to be current to ensure that they have the minimum version to support the Sangoma Connect module.

Asterisk

  • 16 latest and up (18+ recommended)

Licensing

Your system will need to have some Sangoma Connect user licenses.  The Admin→SangomaConnect page will list the current number of licensed users on the PBX.

Modules

While installing or updating the required sangomartapi module, the following required modules should also get updated automatically.  Just as a reference, these are the modules that will also need to be up to date, and enabled:

  • contactmanager

  • restapps

  • sangomaconnect

  • sysadmin

  • userman

  • webrtc  

Note:  When installing the sangomartapi module from the command line, you may need to use the "downloadinstall" command if a previous version does not already exist on your system.  In this case, you might be seeing a "Cannot find module" error when using the "install" command.  If you have an existing install of the module, the "update" command should work.

# fwconsole ma downloadinstall sangomartapi

RPMS

A quick way of installing the PJSIPCallIDToChannel RPM is to use the built-in asterisk-version-switch updater. By running 'asterisk-version-switch' and selecting any asterisk version (+16 is recommended) all the required RPMs will be downloaded and installed along with the new Asterisk version. Make sure to run 'yum update' first, to have all the packages up to date.

WARNING! THIS PROCESS WILL DROP ACTIVE CALLS. CONSIDER TAKING AROUND 10 MINUTES FOR THIS PROCESS TO COMPLETE.

The freepbx_asterisk_modules RPM for the running version of asterisk will need to be installed.  With this installed properly, PJSIPCallIDToChannel should be an available asterisk manager command.  Running "manager show commands" should show it if it's installed:

# asterisk -rx "manager show commands"|grep PJSIP

 

PJSIPCallIDToChannel PJSIPNotify Send a NOTIFY to either an endpoi PJSIPQualify Qualify a chan_pjsip endpoint. PJSIPRegister Register an outbound registration PJSIPShowAors Lists PJSIP AORs. PJSIPShowAuths Lists PJSIP Auths. PJSIPShowContacts Lists PJSIP Contacts. PJSIPShowEndpoint Detail listing of an endpoint and PJSIPShowEndpoints Lists PJSIP endpoints. PJSIPShowRegistrationInboundContactStatuses Lists ContactStatuses for PJSIP i PJSIPShowRegistrationsInbound Lists PJSIP inbound registrations PJSIPShowRegistrationsOutbound Lists PJSIP outbound registration PJSIPShowResourceLists Displays settings for configured PJSIPShowSubscriptionsInbound Lists subscriptions. PJSIPShowSubscriptionsOutbound Lists subscriptions. PJSIPUnregister Unregister an outbound registrati

 If PJSIPCallIDToChannel is not listed.  Manually install the rpm.  Asterisk will need to reloaded after the install.  For example:

  • Search for "freepbx_asterisk_modules"

# yum clean all; yum search freepbx_asterisk_modules Loaded plugins: fastestmirror, versionlock Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Cleaning repos: sng-base sng-epel sng-extras sng-pkgs sng-updates sng7-debuginfo sng7-testing Cleaning up list of fastest mirrors Loaded plugins: fastestmirror, versionlock Determining fastest mirrors sng-base | 3.6 kB 00:00:00 sng-epel | 2.9 kB 00:00:00 sng-extras | 2.9 kB 00:00:00 sng-pkgs | 3.4 kB 00:00:00 sng-updates | 2.9 kB 00:00:00 sng7-debuginfo | 3.4 kB 00:00:00 sng7-testing | 3.4 kB 00:00:00 (1/8): sng-base/7-8.2003.3.el7.sangoma/x86_64/group_gz | 153 kB 00:00:00 (2/8): sng-extras/7-8.2003.3.el7.sangoma/x86_64/primary_db | 206 kB 00:00:00 (3/8): sng-pkgs/7-8.2003.3.el7.sangoma/x86_64/primary_db | 1.0 MB 00:00:00 (4/8): sng-base/7-8.2003.3.el7.sangoma/x86_64/primary_db | 6.1 MB 00:00:00 (5/8): sng-epel/7-8.2003.3.el7.sangoma/x86_64/primary_db | 7.3 MB 00:00:00 (6/8): sng-updates/7-8.2003.3.el7.sangoma/x86_64/primary_db | 4.5 MB 00:00:00 (7/8): sng7-debuginfo/primary_db | 38 kB 00:00:01 (8/8): sng7-testing/primary_db | 1.6 MB 00:00:01 ========================================================== N/S matched: freepbx_asterisk_modules =========================================================== asterisk13.21-freepbx_asterisk_modules-debuginfo.x86_64 : Debug information for package asterisk13.21-freepbx_asterisk_modules asterisk16.8-freepbx_asterisk_modules-debuginfo.x86_64 : Debug information for package asterisk16.8-freepbx_asterisk_modules asterisk16cert-freepbx_asterisk_modules-debuginfo.x86_64 : Debug information for package asterisk16cert-freepbx_asterisk_modules asterisk18-freepbx_asterisk_modules-debuginfo.x86_64 : Debug information for package asterisk18-freepbx_asterisk_modules asterisk19.0-freepbx_asterisk_modules-debuginfo.x86_64 : Debug information for package asterisk19.0-freepbx_asterisk_modules asterisk13.21-freepbx_asterisk_modules.x86_64 : Provides additional asterisk modules for freepbx systems asterisk16.8-freepbx_asterisk_modules.x86_64 : Provides additional asterisk modules for freepbx systems asterisk16cert-freepbx_asterisk_modules.x86_64 : Provides additional asterisk modules for freepbx systems asterisk18-freepbx_asterisk_modules.x86_64 : Provides additional asterisk modules for freepbx systems asterisk19.0-freepbx_asterisk_modules.x86_64 : Provides additional asterisk modules for freepbx systems Name and summary matches only, use "search all" for everything.

 

  • Find the rpm name that corresponds to your running major version of asterisk.  Install it.  For example, if you're running Asterisk 16.X :

# yum install asterisk16.8-freepbx_asterisk_modules
  • Fully restart Asterisk.  Calls will be dropped.

# asterisk -rx "core restart now"

Ports

Users will need to be able to access these system ports, which might require port forwarding for remote users.

  • Service (Secure Port Required)

    • This port number will need to be given to users, because they will need to include it with the host address during login

      • This port can be set through Admin→System Admin→Port Management

  • UCP (Secure Port Recommended for remote users)

    • This is required to use the Forgot Password option from the login screen.  The UCP login page will be loaded in a web browser, which has a Forgot Password tool.  The same credentials are used for UCP and the Sangoma Connect Desktop App.

  • Ports 6000-6199 - These should not need to be forwarded since they will only be used internally 

    • This range of ports should not be used for any other options set by the admin.  This is a range we are reserving the right to use for internal purposes.

    • If an admin set things up to use one of these ports before we started enforcing things, it is recommended they choose a different port

    • Ports used on your PBX

  • Firewall Settings

    • For some environments where Sangoma Phone will be used from remote networks, the zone accessibility settings must be set properly for the Service port.

      • These settings are found in Connectivity->Firewall->Services→Extra Services. By default, the service is open only to the Local zone, enable for other zones only as needed.

Asterisk SIP Settings

  • Select a TLS certificate in Settings→Asterisk SIP Settings→SIP Settings[chan_pjsip]. 

  • Make sure the tls, and ws(websocket) transports are enabled in Settings→Asterisk SIP Settings→SIP Settings[chan_pjsip]. Changes here require an Asterisk restart.

  • After those are enabled, set the Default TLS Port Assignment to PjSip, from the General SIP Settings tab

Advanced Settings

  • After the above Asterisk SIP Settings are applied, Enable the mini-HTTP Server, with TLS, and Force the WebSocket Mode to PJSIP.  These options are found in Settings→Advanced Settings.

  • Set the Conference Room App to app_confbridge. conference features will not work unless the Conference Room App set is ConfBridge(app_confbridge).

SangomaConnect Settings

  • Set the PBX's host address in Admin→SangomaConnect→Settings

  • To avoid potential issues, the following is advised:

    • Client users will use this same Address value, along with the PBX's "Service" Secure Port when logging in.  With that in mind, this Address will need to be something that is resolvable from the client user's desktop.

    • A proper Fully Qualified Domain Name is recommended

    • A Secure Port must be enabled for "Service" in Admin→System Admin→Port Management

    • This address should also match what is used as the PBX's HTTPS SSL cert's Common Name

    • In most cases, this address should be what is found in Admin→System Admin→Hostname

  • While an FQDN and valid SSL certificate is recommended, an IP address can be set here as long as a self-signed certificate with the IP address as its common name is used during the HTTPS setup when enabling Secure Ports in Port Management.  

    • Generating a self-signed certificate with an IP for its common name can be done through Admin→Certificate Management 

      • To do this, you will likely need to remove all existing Self-signed certificates by clicking the Delete Self-Signed CA button.  This is because a typical install will have added a Default Self-Signed certificate which is based on a local hostname.  Adding new self-signed certs while that exists will not work as expected.  After deleting the default cert, choose the option to Generate Self-Signed Certificate, and set the pbx ip address as the hostname.

    • This method can lead to issues if not all client users will be logging in with the same IP address set here.  For example, some situations might have users logging in using the PBX's external IP vs internal IP.

Contacts Settings

image-20250227-051241.png
  • Show BLF on Favorite Contacts

    • When enabled, user extensions included in Favorite Contacts will show a Busy Lamp Field indicator when the favorite contact is on a call. 'Enable Favorite Contacts' in Advanced Settings -> Contact Manager Module should be enabled inorder to modify this settings. The users need to reload the Sangoma Phone or login again to see this change in effect.

  • Show Presence Status Icons on Favorite Contacts

    • When enabled Presence Status icons will show next to user extensions in the Favorite Contacts list. 'Enable Favorite Contacts' in Advanced Settings -> Contact Manager Module should be enabled inorder to modify this settings. The users need to reload the Sangoma Phone or login again to see this change in effect. Note: Users may need to set their Presence Status to a value(ex. Available) if it was never set before.

  • Add Dial Prefix

    • When set to 'Yes', the contact file generated for the Sangoma Phone will include the dial prefix against each contact number, if the dial prefix is set for that number.

  • Hide Queues

    • Enable this option to hide queues in the when performing a contacts search.

  • Display Preference

    • Choose between Display Name and First/Last Name to show the contacts in Sangoma Phone Desktop App. The default value is 'Display Name'. If the chosen value is 'Display Name', it will be shown as the First Name and the Last Name will be empty in the generated contact file.

User Setup

SangomaConnect Settings

  • Each Sangoma Phone user will need to be based on an existing PJSip extension.

    • In User Manager, the Sangoma Phone users will need to have "Enable Sangoma Phone Login" option enabled in the SangomaConnect tab of their user settings. 

Language Settings

  • The Desktop App's Login screen will always be in English.

  • After logging in successfully, the client will be translated if the User's Language Setting matches a language supported by the client.  Otherwise, it will default to English.

  • The User's Language Setting can be set through Admin->User Management, by editing a User or Group.

  • The current list of supported languages include:

    • English (United States)

    • English (United Kingdom)

    • French (France)

    • German (Germany)

    • Italian (Italy)

    • Spanish (Spain)

 Favorite Contacts Administration

Admin Configuration

Advanced Settings:

One can enable/disable the Favorite Contacts option from Settings → Advanced Settings. By default Enable Favorite Contacts will be set to NO in systems without Sangoma Connect license and will be set to YES by default in the systems which has Sangoma Connect license. This can be modified manually whenever required.

Contact Manager:

Once Favorite Contacts option from Advanced Settings is set to yes, administrators will be able to create global lists of Favorites that can be assigned to specific user groups/users. This is done through the Contact Manager. In Contact Manager, a new section called Favorites will be found.  

When creating a new list, the admin will be able to set a name and choose which contacts to include in the new list. 

 User Management:

Admins will also need to select the favorites contact list allowed for Users, or Groups through User Management in the Contact Manager tab.

Favorite Contact List - The lists created by the admin from the Contact Manager as shown above will be available here. Choosing a list here is a good way for the admin to assign a consistent list of favorites to users.

User Configuration (UCP)

With "Favorite Contacts" enabled, the user will see a "Favorites" group in their Contacts widget. The user will also see controls to manage their Favorites list by Including and Excluding contacts.  Contacts can also be reordered by dragging and dropping them to a different position on the list. After changes are saved, the will show the Favorites in the Contacts panel.

Chat Administration

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Chat. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.43.2 or v16.0.30.1 (required)

    • Sangomartapi v15.0.32.11  or v16.0.31.9 (required)

    • Sysadmin v15.0.29.1 or v16.0.17 (required)

    • Restapps v15.0.28 or v16.0.24.5 (required)

    • Firewall v15.0.35 or v16.0.53 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.7 or v16.0.20 (required)

Admin Configuration

Sangoma Connect:

Chat can be enabled from the Settings tab in the Sangoma Connect page. By default the chat option is disabled. One can also set the storage space allotted for attachments and the maximum allowed size of each attachment. The default values are 500MB and 10MB respectively.

Call Park Administration

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Chat. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.43.2 or v16.0.30.1 (required)

    • Sangomartapi v15.0.37  or v16.0.31.13 (required)

    • Sysadmin v15.0.29.1 or v16.0.17 (required)

    • Restapps v15.0.29 or v16.0.24.7 (required)

    • Parking Lot v15.0.15.4 or v16.0.4 (required)

    • Firewall v15.0.35 or v16.0.53 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.7 or v16.0.20 (required)

Admin Configuration

Parking Lot

This module is used to configure Parking Lot(s). One can transfer a call to the Parking Lot Extension (70 by default), the call will then be placed into a lot (71-78 by default).

Parking Lot Pro

This module enables the user to configure new parking lots in addition to the default parking lot. This module also allows the user to set the default parking lot for each extension. This can be set from the Other tab in Extensions page.

Conference Calls Administration

About Conference

In addition to showing Merged Call conferences, and Conferences started from Chats, the can show activity and provide some actions for Conference rooms that have been created on the PBX.

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Conference. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.43.2 or v16.0.30.1 (required)

    • Sangomartapi v15.0.32.11  or v16.0.31.9 (required)

    • Sysadmin v15.0.29.1 or v16.0.17 (required)

    • Restapps v15.0.28 or v16.0.24.5 (required)

    • Conferences v15.0.7.11 or v16.0.7 (required)

    • Firewall v15.0.35 or v16.0.53 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.7 or v16.0.20 (required)

Admin Configuration

Conference room can be created from the Conferences page. If the Conference Pro module is enabled, a conference room linked to a user can be created by enabling the Link Conference to this user option in the Conferences tab in User Management → Edit User. The user linked conference rooms are also listed in the Conferences page.

One can set the Admin Pin and the User Pin for a conference. If either pin is set, the user will be asked to enter the pin before joining the conference. The Admin Pin is used to identify the leader of the conference. 

Call Recording Administration

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Chat. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.43.2 or v16.0.30.1 (required)

    • Sangomartapi v15.0.39  or v16.0.33 (required)

    • Sysadmin v15.0.29.1 or v16.0.17 (required)

    • Restapps v15.0.29 or v16.0.24.7 (required)

    • Firewall v15.0.35 or v16.0.53 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.7 or v16.0.20 (required)

Admin Configuration

Call Recordings will only be allowed if the On Demand Recording permission is enabled in the Extension's Advanced settings.

Recordings made in will be accessible from Admin->Reports->Call Recordings, or the Call History widget from a user's UCP, which is the same as recordings made from a Sangoma D/P model desk phone using DPMA apps, or On Demand Recording feature code.

Call Pop Ups Administration

The Call Pop Up Enable/Disable option in Sangomaconnect → Settings → Sangoma Phone Desktop App, under the Calls section. When set to 'yes', the `Enable Call Pop Up` option will be available in Sangoma Phone Desktop app..

There is also an option to remove a particular prefix from the Caller ID Number in the pop up URL. If the set prefix value is found at the beginning of this Caller ID Number, this value will be removed. This feature will be available only if Call Pop Up is enabled.

Untitled.png

In app, Users will see the new options in settings section:

When `Enable Call Pop Up` option set as true, then Sangoma Phone can load a webpage in the OS default browser for all incoming calls.

 Call variables that can be used for the URL are:

  • CALLER_ID_NAME

  • CALLER_ID_NUMBER

  • INCOMING_DID 

Below given the call pop up URL details

Emergency Location Administration

 About Emergency Location

The Emergency Location feature enables a user to hide the real CID number shown at the receiving end and instead use a custom DID number based on the chosen Location when an emergency number is dialed from the Desktop App.

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Emergency Location. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.48 or v16.0.35 (required)

    • Sangomartapi v15.0.45  or v16.0.39 (required)

    • Sysadmin v15.0.29.10 or v16.0.25 (required)

    • Restapps v15.0.37 or v16.0.31 (required)

    • Firewall v15.0.42 or v16.0.57.3 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.11 or v16.0.21.14 (required)

Admin Configuration

Emergency Locations can be added from the Sangoma Phone Desktop App tab in Sangoma Connect → Settings. Admin can add/update/delete the locations from here. The location can't be deleted if it's already used by a Desktop App user. 

External Contacts Requirements

About External Contacts

The External Contacts (aka Private Contacts) are those contacts that are added by the user through Sangoma Connect Desktop App, UCP or any other device with a user login. These contacts can only be modified by the created user.

Usage Requirements

PBX Modules

Please find below minimum module versions to fulfill the dependency requirement for Emergency Location. Most of them might be available in the EDGE.

  • Sangoma Connect v15.0.48 or v16.0.35 (required)

    • Sangomartapi v15.0.45  or v16.0.39 (required)

    • Sysadmin v15.0.29.10 or v16.0.25 (required)

    • Restapps v15.0.37 or v16.0.31 (required)

    • Firewall v15.0.42 or v16.0.57.3 (not required, recommended minimum version if Firewall module is being used)

    • Framework v15.0.23.11 or v16.0.21.14 (required)

Originate hard phone calls from Desktop App Administration

Once the feature is enabled, the user can originate calls from their hard phone.

Browse to Admin → SangomaConnect → Settings tab and enable "making calls with"

This will enable the feature for all Desktop App users. Each user can then browse to their Sangoma Phone settings and choose "Desk Phone" from the Making Calls with dropdown selector.

The Desktop App will indicate when this feature is enabled 

Client Queue Administration

Queues feature allows the user to use the queues and monitor the calls from the desktop app. It also provides additional options to control the calls and agents if the user has call control permissions.

Admin Configuration

HTTPS Setup:

HTTPS setup is mandatory for queues to work. It can be set up from the System Admin page. The detailed wiki on how to configure HTTPS on FreePBX is available at this link.

Queue Configuration:

Queues can be configured from the Applications → Queues page. One can add/edit/remove the queues from here with different queue configurations.

Queue Permissions:

The queue permission settings for the are available under User Management → Edit User → Sangoma Talk → Sangoma Phone Desktop App. Here one can select a queue and set permission for it.

img1.PNG

These permissions determine the level of access the user has against each queue.

  • Detailed View: See queue stats for all members, and members' status in the Queues tab in Sangoma Phone Desktop App.

  • Queue Call Control: Queue Call Control is a set of tools to manage queue calls. It includes capabilities to log out dynamic agents, control call priorities in the call waiting queue (options include Normal and Move to Top), answer calls from the call waiting list and assign call to a particular agent in the queue.

Desktop App External connection requirements

 1. Enable Sangoma Connect Service

To activate the Sangoma Connect service on the PBX, the PBX must be able to connect to the following IP address and port.

katanafpbx.schmoozecom.com tcp 443 connect.sangoma.com tcp 443 sng7.com tcp 80

2. Sangoma Desktop App

The clients must be able to establish a connection with the RTAPI port (Service) of the PBX.

Client Call Activity Administration

The Call Activity feature allows a desktop user to view the call activity of other users based on the call activity group permissions. Depending on the permissions, the user will also be allowed to interfere in a call.

Admin Configuration

Advanced Settings:

Enable the creation of Call Activity Groups using User Management Module → Enable Call Activity Groups option. By default the number of users in each group is set to 30. You can modify it using the User Management Module → Call Activity Groups Max User Limit option. It can go up to 50.

1.PNG

 Call Activity Groups:

Once the Enable Call Activity Groups option is set to yes, the User Management UI will show a new tab Call Activity Groups. Here you can add/edit/delete Call Activity Groups.

2.PNG

Call Activity Permission:

Once the Enable Call Activity Groups are created, the Call Activity permissions can be set for individual users in User Management → Edit User → Sangoma Talk → Sangoma Phone Desktop App.

3.PNG

Following are the Call Activity permissions available:

  • View: Grant permissions for call view

  • Monitor: Grant permissions for call monitoring and enables a user to perform the Call Monitoring actions in Sangoma Phone Desktop App.