The following content only applies to FreePBX and PBXact platforms

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

How to Setup Sangoma Phone Desktop 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 client.  

  • 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.

  • Sangoma Phone Desktop Client 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 client.

  • 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

    • https://wiki.freepbx.org/display/PPS/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 Sangoma Phone Desktop Client 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. Sangoma Phone Desktop Client 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 "Sangoma Phone Desktop Client 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 "Sangoma Phone Desktop Client 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.

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 client'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)

  • No labels