Remote login and provisioning
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.
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.
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.
Go to the link above and enter the following values:
- choose 5 at Version field
- enter your provisioning.ini content at provisioning.ini field
5. User authorization
Run Softphone.Pro. You can see the Login window. After successful authorization Softphone.Pro is ready to use.
After successfull log in to SoftPhone.Pro account user login is saved for autocomplete for login field.
Check the Remember me checkbox to automatically log in to SoftPhone.Pro account.
To change the user, click main menu button and choose Log out. You will see the Login window again.
6. Provisioning server communication errors
You can see the error message on bottom of Login window:
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 |
800 - 815 | Invalid server response format |
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.