Remote login and provisioning

Supported only in Softphone.Pro 3.1

How it works

Use Provisioning for Softphone.Pro user configuration remote control.

If Provisioning is enabled user can see the Login window on Softphone.Pro start. She enters login and password, and then Softphone.Pro sends authorization data to provisioning server. If authorization is successful, provisioning server sends back SoftphonePro.ini configuration file. Softphone.Pro loads settings and saves them to SoftphonePro.ini file on user's computer.

Softphone.Pro user authorization

For security reasons you can hide settings received from provisioning server, for example: SIP credentials or 3-rd party CRM\Helpdesk integration settings. Use the [Restrictions] section in user configuration file on provisioning server for that purpose.

Below you can find the Provisioning configuration example using the test PHP provisioning service.

1. Install test provisioning service

Download and install test provisioning service. The service source code is available at GitHub.

For the provisioning service PHP of 5.6 version and above is required. We have Apache 2 with php7.0 module installed on the server for the test purpose. All the settings are stored in text files, no DB is used.

PHP service contains configuration for single user "example". Set common SIP settings like SIP server in templates/sip_account_common.ini template file and SIP credentials in configs/example.ini template file.

2. Configure user accounts in users.xml file

users.xml file is located in PHP service root directory and contains user accounts. Create user account and define her login and password for Softphone.Pro authorization. You can leave password empty.

<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <login>example</login>
        <password>123</password>
    </user>
</users>

3. Create user configuration files on provisionig server

For each user create [USER].ini configuration file in configs directory on provisioning PHP service, where [USER] - user login. The file has the same parameters as local SoftphonePro.ini configuration file. Use templates for repeating parts of user configurations.

[USER].ini file which Softphone.Pro receives from provisioing server, has higher priority than SoftphonePro.ini file on user computer. Settings from local SoftphonePro.ini will be deleted and replaced with settings from server [USER].ini file.

If [USER].ini has [Restrictions] section, then corresponding settings received from provisioing server will not be visible for user in Settings dialog and will not be saved to SoftphonePro.ini configuration file. If [USER].ini file has no [Restrictions] section, then settings received from provisioing server are visible for user in Settings dialog and will be saved to SoftphonePro.ini file after Softphone.Pro exit.

4. Create provisioning.ini configuration file on user computer

provisioning.ini configuration file contains Softphone.Pro remote configuration settings and must be located in Softphone.Pro application data directory on the user computer:

C:\Users\[WINDOWS-USER]\AppData\Local\SoftphonePro
, where [WINDOWS-USER] - Windows user name.

Create provisioning.ini file with parameters:

[Features]
# 0 or 1
ProvisioningEnabled=1
[Urls]
LoginUrl= [APP_URI]/login.php?login=%LOGIN%&password=%PASSWORD_HASH%

, where ProvisioningEnabled - enables/disables Provisioning mode, LoginUrl - URL address of the provisioing server, which receives from Softphone.Pro user login/password and sends configuration file.

Replace [APP_URI] with your provisioing server address, for example:

 http://example.com/provisioning/login.php?login=%LOGIN%&password=%PASSWORD_HASH%

Softphone.Pro replaces %LOGIN% and %PASSWORD_HASH% variables with Login and MD5 hash of Password that user enters on Login window.

Softphone.Pro supports HTTPS connection to provisioing server if SSL certificate installed on the server is valid and not self-signed.

You can build Softphone.Pro installer with embedded provisioning.ini file. You can use free installer build service for that purpose.
Go to the link above and enter the following values:
  • choose 3 at Version field
  • enter your provisioning.ini content at provisioning.ini field
You can see your personal download link at that form when complete. Copy that download link and send it to your users.

5. Check user authorization

Run Softphone.Pro. You can see the Login window. After successful authorization Softphone.Pro is ready to use.

Softphone.Pro user authorization

6. Provisioning server communication errors

You can see the error message on bottom of Login window:

Authorization error

Error codes and descriptions:

Code Description
500 Invalid request format
600 Incrorrect login or pasword
700 Internal server error
701 Server configuration file is missed for current user
702 Configuration generation error

7. Cofiguration templates

Use configuration templates for repeating settings in [USER].ini files. Templates are located in templates directory of PHP test provisioning service.

Use the following include tag to insert a template content to [USER].ini file:

{% include "template1.ini" %}

For example, there are 3 templates in the PHP test provisionig service: app_settings.ini , restrictions.ini and sip_account_common.ini .

8. Settings restrictions

Use restrictions to hide settings received from provisioing server on Settings window in Softphone.Pro and avoid settings to be saved to SoftphonePro.ini user configuration file.