Вход по логину и удаленное управление настройками (provisioning)
Поддерживается в версии Softphone.Pro 3.1 и выше
Принцип работы
Используйте Provisioning для централизованного управления пользовательскими настройками Softphone.Pro.
При включенном режиме Provisioning после запуска Softphone.Pro, появляется окно авторизации. В этом окне пользователь вводит свой логин и пароль. Softphone.Pro отправляет данные для авторизации на provisioning-сервер. Если авторизация прошла успешно, то provisioning-сервер возвращает Softphone.Pro файл конфигурации SoftphonePro.ini. Softphone.Pro загружает настройки и сохраняет их на локальном компьютере пользователя в файл SoftphonePro.ini.
Для обеспечения повышенной безопасности вы можете скрыть от пользователя настройки, полученные от provisioning-сервера, например: реквизиты для подключения к SIP серверу или настройки интеграции с внешней CRM\Helpdesk системой. Для этого используйте в конфигурационном файле, который возвращает provisioning-сервер, специальный раздел [Restrictions].
Далее рассмотрим пример настройки режима Provisioning в паре с тестовым provisioning-сервером, реализованным на PHP.
1. Установите тестовый provisioning-сервер
Скачайте и установите тестовый provisioning-сервер. Код сервера доступен на GitHub.
В набор PHP скриптов тестового provisionig-сервера входит пример конфигурации с одним пользователем example. Для корректной работы примера укажите общие для всех пользователей SIP настройки в шаблоне templates/sip_account_common.ini и реквизиты для авторизации в configs/example.ini.
2. Настройте учетные записи пользователей в users.xml
Файл users.xml находится в корневой директории серверного PHP приложения и хранит учетные записи пользователей. Создайте учетную запись, укажите логин и пароль пользователя для авторизации в Softphone.Pro. Пароль может быть пустым.
<?xml version="1.0" encoding="UTF-8"?> <users> <user> <login>example</login> <password>123</password> </user> </users>
3. Создайте конфигурационные файлы для пользователей на provisioning-сервере
В папке configs серверного PHP приложения для каждого пользователя создайте конфигурационный файл [USER].ini, где [USER] - логин пользователя. Файл повторяет настройки пользовательского конфигурационного файла SoftphonePro.ini. Используйте шаблоны для повторяющихся настроек у пользователей.
Файл [USER].ini, который Softphone.Pro получает от provisioing-сервера, имеет более высокий приоритет чем файл SoftphonePro.ini, который хранится на компьютере пользователя. Настройки в SoftphonePro.ini автоматически удаляются и всегда заменяются на настройки из [USER].ini.
Если в файле [USER].ini есть раздел [Restrictions], то соответствующие настройки, полученные от provisioing-сервера, не видны пользователю в окне Настройки и не сохраняются в файл SoftphonePro.ini. Если в файле [USER].ini нет раздела [Restrictions], то полученные от provisioing-сервера настройки будут видны пользователю в окне Настройки и автоматически сохранятся в файл SoftphonePro.ini после выхода из приложения.
4. Создайте конфигурационный файл provisioning.ini на компьютере пользователя
Конфигурационный файл provisioning.ini содержит параметры удаленного управления настройками Softphone.Pro и должен находиться на локальном компьютере пользователя в папке с данными приложения Softphone.Pro:
C:\Users\[WINDOWS-USER]\AppData\Local\SoftphonePro, где [WINDOWS-USER] - имя пользователя Windows.
Создайте файл provisioning.ini с параметрами:
[Features] # 0 or 1 ProvisioningEnabled=1 [Urls] LoginUrl= [APP_URI]/login.php?login=%LOGIN%&password=%PASSWORD_HASH%
, где ProvisioningEnabled
- параметр включения/выключения режима Provisioning, LoginUrl
- URL-адрес provisioing-сервера, который принимает от Softphone.Pro логин/пароль пользователя и отправляет конфигурационный файл.
Замените [APP_URI] на адрес provisioing-сервера, например:
http://example.com/provisioning/login.php?login=%LOGIN%&password=%PASSWORD_HASH%
Вместо переменных %LOGIN%
и %PASSWORD_HASH%
Softphone.Pro автоматически подставляет значения, которые пользователь указывает в окне авторизации: значение поля Логин и MD5 хэш от значения поля Пароль.
Softphone.Pro поддерживает взаимодействие с provisioing-сервером по протоколу HTTPS. Для этого на provisioing-сервере должен быть установлен SSL сертификат, выданный авторизованным центром сертификации.
Перейдите по ссылке и укажите в полях формы:
- в поле Версия - 5
- в поле provisioning.ini вставьте содержимое конфигурационного файла provisioning.ini.
5. Авторизация пользователя
Запустите SoftPhone.Pro. Появится диалоговое окно для входа в аккаунт. После успешной авторизации откроется главное окно Softphone.Pro.
После успешной авторизации в SoftPhone.Pro логин пользователя сохраняется для автоматического заполнения.
Для автоматического входа в аккаунт SoftPhone.Pro введите данные для авторизации и установите галочку Запомнить меня.
Для смены пользователя нажмите Выйти из аккаунта в главном меню SoftPhone.Pro. Откроется диалоговое окно для входа в аккаунт Softphone.Pro.
6. Возможные ошибки при взаимодействии с provisioning-сервером
Если в результате взаимодействия Softphone.Pro и provisioing-сервера произошла ошибка, то она отобразится внизу окна авторизации.
Возможные ошибки:
Код | Описание |
---|---|
500 | Некорректный формат запроса |
600 | Неправильный логин или пароль |
700 | Внутренняя ошибка сервиса |
701 | Отсутствует конфигурация для данного пользователя |
702 | Ошибка генерации конфигурации |
800 - 815 | Некорректный формат ответа сервера |
7. Шаблоны настроек конфигурации
Используйте шаблоны для повторяющихся настроек в файле [USER].ini. Шаблоны хранятся в папке templates тестового provisioing-сервера.
Чтобы вставить шаблон в файл конфигурации пользователя [USER].ini, используйте:
{% include "template1.ini" %}
Например, в тестовом provisioing-сервере в конфигурации пользователя example используется три шаблона: app_settings.ini , restrictions.ini и sip_account_common.ini .
8. Ограничения настроек (restrictions)
Используйте ограничения (restriction), чтобы скрыть полученные от provisioning-сервера настройки из окна Настройки в Softphone.Pro и не сохранять их в пользовательском файле SoftphonePro.ini.