Как настроить интеграцию с телефонией Asterisk
Функциональность интеграции с телефонией Asterisk лицензируется как отдельное решение. Необходимо сформировать запрос на получение лицензий, отправить его в службу поддержки, загрузить полученный файл лицензий в систему и распределить лицензии между пользователями.
На заметку
Данные процедуры детальнее рассмотрены в статьях “Лицензирование программного обеспечения” и “Распределение лицензий между пользователями”.
Процедура интеграции выполняется при условии, что все предварительные настройки телефонии Asterisk ранее выполнены администратором телефонии.
Подготовка Asterisk
Для взаимодействия с Asterisk используется интерфейс AMI (Asterisk Manager Interface), при помощи которого происходит подключение к серверу Asterisk, настройка и управление клиентскими программами.
1.Создайте AMI пользователя для Creatio, указав его параметры в файле “manager.conf”, например:
[terrasoft]
secret = terrasoft
deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0
read = system,call,log,verbose,command,agent,user,originate
write = system,call,log,verbose,command,agent,user,originate
На заметку
Значения “deny” и “permit” необходимо изменить на соответствующие адреса.
2.Проверьте активность функции парковки и параметры файла “features.conf”, например:
parkext => 700
parkpos => 701-720
context => parkedcalls
parkingtime => 45
Важно
Значение “parkingtime” определяет максимальное время, которое звонок может находиться в режиме удержания. По истечении этого времени абонент возобновит разговор с оператором. Значение “parkingtime” должно быть достаточным, чтобы избежать раннего возврата звонка оператору.
Основные шаги интеграции
После подготовки телефонии Asterisk к интеграции потребуется выполнить следующие шаги:
•Настроить сервис обмена сообщениями Creatio Messaging Service. Подробнее >>>
•Настроить библиотеку обмена сервисными сообщениями. Подробнее >>>
•Настроить параметры Asterisk. Подробнее >>>
Важно
Если вы настраиваете телефонию для приложения на продуктовой среде, то необходимо разместить сервис обмена сообщениями на отдельном узле, а не на сервере приложения Creatio. Чтобы обеспечить отказоустойчивость телефонии, рекомендуем настроить не менее двух узлов с сервисом обмена сообщениями и балансировщик, который будет перенаправлять пользователей в случае потери связи с одним из узлов.
Настройка сервиса сообщений Creatio Messaging Service
Сервис сообщений позволяет соединить Creatio c телефонией, подключаясь по протоколу AMI к Asterisk и распределяя события о звонках между пользователями Creatio. Некоторые настройки отличаются в зависимости от платформы, на которой развернут сервис телефонии Asterisk — NET Framework или .NET Core.
Настроить creatio messaging service на платформе .NET Framework
1.Обратитесь в службу поддержки Creatio для получения файлов установки сервиса обмена сообщениями. Запустите предоставленный файл Creatio Messaging Service Install.msi на том компьютере, который будет использоваться в качестве сервера обмена сообщениями, и выполните установку.
Важно
На сервере, где устанавливается сервис сообщений Creatio Messaging Service, должен быть установлен .NET Framework версии 4.7.2 или выше.
2.Пропишите в конфигурационном файле “Terrasoft.Messaging.Service.exe.config” следующие параметры для коннектора Asterisk:
<asterisk filePath="" url="Имя_или_адрес_сервера_Asterisk" port="Порт_сервера_Asterisk" userName="Логин Asterisk" secret="Пароль Asterisk" originateContext="Исходящий контекст" parkingLotContext="Контекст парковки" autoPauseOnCommutationStart="true" queueExtensionFormat="Local/{0}@from-queue/n" asyncOriginate="true" sendRingStartedOnRingingState="true" traceQueuesState="false" protocol="Используемый тип протокола – SIP/ либо PJSIP/" packetInfoConfig="Дополнительные параметры пакетов для обработки в конфигурации" />
Детальнее перечень параметров для коннектора Asterisk рассмотрен в следующей таблице.
Наименование параметра | Назначение параметра |
---|---|
FilePath | Параметр предназначен для диагностики системы, позволяет проиграть набор событий из преднастроенного файла сценария. Значение по умолчанию должно быть пустым. |
URL | Параметр для указания IP-адреса сервера Asterisk. |
protocol | Параметр позволяет выбрать тип протокола: SIP или PJSIP. Чтобы узнать, какой тип протокола необходимо использовать, обратитесь к администраторам своей АТС. |
Port | Порт AMI протокола. Значение по умолчанию “5038”. |
OriginateContext | Команда используется для инициации звонка по номеру из Creatio. Параметр содержит название контекста, в котором будет выполнен звонок на номер телефона пользователя. Значение по умолчанию для FreePBX — “from-internal”. |
parkingLotContext | Контекст для инициации звонка на получение паркованной линии. Значение по умолчанию — “originateContext”. |
AutoPauseOnCommutationStart | Настройка предназначена для корректной работы с очередями Asterisk. Если включена, то Creatio будет ставить оператора на паузу во всех очередях после ответа на звонок. Используется для исключения возможности приема второго звонка во время обработки и/или постановки на удержание текущего звонка. |
queueExtensionFormat | Формат определения канала звонка при получении звонков из очереди. При использовании LocalChannel в FreePBX значение по умолчанию — “Local/{0}@from-queue”. |
sendRingStartedOnRingingState | Признак отвечает за корректную обработку получения звонка из очереди. При установленном признаке Creatio будет отображать звонок у пользователя после получения AMI события “NewState” с параметром Ringing. Значение по умолчанию — “включено”. |
traceQueuesState | Настройка предназначена для диагностики состояния оператора в очередях. Используется для отладки, если оператор при обработке звонка в Creatio получает второй звонок из очереди. Информация о состоянии операторов выводится в лог-файл коннектора. Значение по умолчанию — “выключено”. |
Пример настроенной конфигурации:
<asterisk filePath=" "url="10.0.15.185" port="5038"
userName="bpm" secret="bpm" originateContext="from-internal"
parkingLotContext="from-internal" autoPauseOnCommutationStart="true"
queueExtensionFormat="Local/{0}@from-queue/n" asyncOriginate="true"
sendRingStartedOnRingingState="true" traceQueuesState="false"
protocol="SIP/" packetInfoConfig=""/>
Настроить creatio messaging service на платформе .NET Core
Важно
Настройка Messaging Host на платформе .NET Core доступна для Creatio версии 7.16.3 и выше.
1.Установите Docker. Для установки Docker на операционную систему Linux воспользуйтесь инструкцией в документации Docker. Для проверки установленной версии Docker выполните команду docker --version в терминале (консоли) Linux-машины.
2.Установите Docker Сompose. Для установки Docker Compose на операционную систему Linux воспользуйтесь инструкцией в документации Docker. Для проверки установленной версии Docker Compose выполните команду docker-compose --version в терминале (консоли) Linux-машины.
3.Установите и настройте компоненты Docker Compose. Контейнер сервиса сообщений развертывается с помощью утилиты Docker Compose. Скачайте и разархивируйте содержимое архива с конфигурационными файлами и скриптами в произвольный каталог, например, /opt/messaging.host. Скачать архив
На заметку
Конфигурационные файлы содержат все необходимые настройки по умолчанию для сервера на базе Linux.
Структура архива с конфигурационными файлами и скриптами:
/etc/
...\appsettings.json — конфигурация сервиса
...\nlog.config — настройка уровня логирования сервиса
docker-compose.yml — конфигурация утилиты Docker Compose
.env — файл с переменными окружения для запуска компонентов
4.Используя терминал Linux, перейдите в каталог docker-compose распакованного архива, например, /opt/messaging.host/docker-compose.
5.Выполните команду sudo docker-compose pull в терминале. Дождитесь завершения загрузки необходимых образов с компонентами сервиса с Docker Hub.
Важно
Если на сервере запрещен доступ в интернет, то необходимо вручную скачать нужные образы на машину с открытым доступом (см.конфигурационный файл docker-compose.yml), а затем перенести образы в виде файлов на целевую машину с помощью команд sudo docker export и sudo docker import.
6.Пропишите в конфигурационном файле “etc/appsettings.json” следующие параметры для коннектора Asterisk:
{
"url": "Имя_или_адрес_сервера_Asterisk",
"port": "Порт_сервера_Asterisk",
"userName": "Логин Asterisk",
"secret": "Пароль Asterisk",
"originateContext": "Исходящий контекст",
"parkingLotContext": "Контекст парковки",
"autoPauseOnCommutationStart": "true",
"queueExtensionFormat": "Local/{0}@from-queue/n",
"asyncOriginate": "true",
"sendRingStartedOnRingingState": "true",
"traceQueuesState": "false",
"protocol": "Используемый тип протокола – SIP/ либо PJSIP/",
"packetInfoConfig": "Дополнительные параметры пакетов для обработки в конфигурации",
"filePath": ""
}
7.Выполните команду sudo docker-compose up -d для запуска сервиса. Также в текущем каталоге будет создана папка logs.
Детальнее перечень параметров для коннектора Asterisk рассмотрен в следующей таблице.
Наименование параметра | Назначение параметра |
---|---|
FilePath | Параметр предназначен для диагностики системы, позволяет проиграть набор событий из преднастроенного файла сценария. Значение по умолчанию должно быть пустым. |
URL | Параметр для указания IP-адреса сервера Asterisk. |
protocol | Параметр позволяет выбрать тип протокола: SIP или PJSIP. Чтобы узнать, какой тип протокола необходимо использовать, обратитесь к администраторам своей АТС. |
Port | Порт AMI протокола. Значение по умолчанию “5038”. |
OriginateContext | Команда используется для инициации звонка по номеру из Creatio. Параметр содержит название контекста, в котором будет выполнен звонок на номер телефона пользователя. Значение по умолчанию для FreePBX — “from-internal”. |
parkingLotContext | Контекст для инициации звонка на получение паркованной линии. Значение по умолчанию — “originateContext”. |
AutoPauseOnCommutationStart | Настройка предназначена для корректной работы с очередями Asterisk. Если включена, то Creatio будет ставить оператора на паузу во всех очередях после ответа на звонок. Используется для исключения возможности приема второго звонка во время обработки и/или постановки на удержание текущего звонка. |
queueExtensionFormat | Формат определения канала звонка при получении звонков из очереди. При использовании LocalChannel в FreePBX значение по умолчанию — “Local/{0}@from-queue”. |
sendRingStartedOnRingingState | Признак отвечает за корректную обработку получения звонка из очереди. При установленном признаке Creatio будет отображать звонок у пользователя после получения AMI события “NewState” с параметром Ringing. Значение по умолчанию — “включено”. |
traceQueuesState | Настройка предназначена для диагностики состояния оператора в очередях. Используется для отладки, если оператор при обработке звонка в Creatio получает второй звонок из очереди. Информация о состоянии операторов выводится в лог-файл коннектора. Значение по умолчанию — “выключено”. |
Пример настроенной конфигурации:
"asterisk": {
"url": "Имя_или_адрес_сервера_Asterisk",
"port": "Порт_сервера_Asterisk",
"userName": "Логин Asterisk",
"secret": "Пароль Asterisk",
"originateContext": "Исходящий контекст",
"parkingLotContext": "Контекст парковки",
"autoPauseOnCommutationStart": "true",
"queueExtensionFormat": "Local/{0}@from-queue/n",
"asyncOriginate": "true",
"sendRingStartedOnRingingState": "true",
"traceQueuesState": "false",
"protocol": "Используемый тип протокола – SIP/ либо PJSIP/",
"packetInfoConfig": "Дополнительные параметры пакетов для обработки в конфигурации",
"filePath": ""
}
Настройка библиотеки обмена сервисными сообщениями
Выбор и настройка библиотеки обмена сообщениями осуществляется однократно администратором системы. Некоторые настройки отличаются в зависимости от платформы, на которой развернут сервис телефонии Asterisk — NET Framework или .NET Core.
Настроить библиотеку на платформе .NET Framework
1.Откройте дизайнер системы, например, нажав кнопку в правом верхнем углу приложения.
2.В группе [Настройка системы] кликните по ссылке [Системные настройки] (Рис. 1).
3.В системной настройке “Библиотека обмена сообщениями по умолчанию” укажите значение по умолчанию “Библиотека интеграции с телефонией по протоколу Asterisk (AMI)”.
4.В системной настройке “Сервер обмена сообщениями” укажите параметры подключения к сервису системных сообщений. В поле [Значение по умолчанию] укажите сетевой адрес сервера обмена сообщениями в виде: “ws://[сервер]:2013” для сайтов, доступных по протоколу http, или “wss://[сервер]:2013” для сайтов, доступных по протоколу https, где:
•[сервер] — доменное имя сервера, на котором размещена служба обмена сообщениями. Не рекомендуется использование ip-адреса или localhost-значения.
•“2013” — порт, используемый по умолчанию для подключения к сервису сообщений. Номер порта можно изменить в конфигурационном файле “Terrasoft.Messaging.Service.exe.config”. Не рекомендуется использовать значение localhost, поскольку это может привести к ошибке при подключении к серверу телефонии. При использовании wss-соединения убедитесь, что адрес сервера и адрес, на который выдан SSL-сертификат, совпадают.
На заметку
Если ваш сайт доступен по протоколу https и вы используете защищенное подключение (wss) для веб-сокетов, то на сервере обмена сообщениями необходимо установить сертификат безопасности и указать его в конфигурационных файлах сервиса сообщений. Для получения подробной информации о такой настройке обратитесь в службу поддержки Creatio.
Настроить библиотеку на платформе .NET Core
Важно
Настройка Messaging Host на платформе .NET Core доступна для Creatio версии 7.16.3 и выше.
1.Откройте дизайнер системы, например, нажав кнопку в правом верхнем углу приложения.
2.В группе [Настройка системы] кликните по ссылке [Системные настройки] (Рис. 2).
3.В системной настройке “Библиотека обмена сообщениями по умолчанию” укажите значение по умолчанию “Библиотека интеграции с телефонией по протоколу Asterisk (AMI)”.
4.В системной настройке “Сервер обмена сообщениями” укажите параметры подключения к сервису сообщений. В поле [Значение по умолчанию] укажите сетевой адрес сервера обмена сообщениями в виде: “http://[сервер]:2013” для сайтов, доступных по протоколу http, или “https://[сервер]:2014” для сайтов, доступных по протоколу https, где:
•[сервер] — доменное имя сервера, на котором размещен сервис обмена сообщениями. Не рекомендуется использование ip-адреса или localhost-значения.
•“2013 или 2014” — порт, используемый по умолчанию для подключения к сервису сообщений. Номер порта можно изменить в конфигурационном файле “docker-compose.yml”. Не рекомендуется использовать значение localhost, поскольку это может привести к ошибке при подключении к серверу телефонии. При использовании https-соединения убедитесь, что адрес сервера и адрес, на который выдан SSL-сертификат, совпадают.
На заметку
Если ваш сайт доступен по протоколу https и вы используете защищенное подключение для веб-сокетов, то на сервере обмена сообщениями необходимо установить сертификат безопасности и указать его в конфигурации docker-compose. Для получения подробной информации о такой настройке обратитесь в службу поддержки Creatio
Настройка параметров Asterisk выполняется для каждого пользователя Creatio, которому была выделена лицензия на интеграцию с телефонией Asterisk, под его учетной записью. Чтобы выполнить настройку:
1.Откройте страницу профиля пользователя, например, кликнув по ссылке [Профиль] на главной странице приложения.
2.Нажмите кнопку [Настройки параметров Call Centre].
3.На открывшейся странице заполните следующие поля:
a.[Отключить интеграцию с Contact Centre] — установленный признак позволяет отключить интеграцию Creatio с телефонией. Кнопка выполнения звонка перестанет отображаться на коммуникационной панели приложения.
b.[Номер] — номер линии пользователя в Asterisk. По умолчанию совпадает с номером телефона. Например, для отслеживания пользовательской линии SIP/305 необходимо указать значение “305”, а для отслеживания линии SIP/office — “office”.
Важно
Для каждого пользователя используется отдельная линия. Не рекомендуется указывать одну линию для нескольких пользователей, поскольку это может привести к ошибкам интеграции.
c.[Контекст исходящего звонка] — укажите контекст исходящего звонка, если для данного пользователя он должен быть отличным от общесистемного, указанного в файле “Terrasoft.Messaging.Service.exe.config”.
d.[Включить режим отладки] — установленный признак позволяет отображать диагностическую информацию в консоли браузера. Может использоваться при возникновении проблем в телефонии и обращении клиента в службу поддержки.
4.Нажмите [Сохранить].
5.Обновите страницу вашего браузера, чтобы внесенные изменения вступили в силу.
Смотрите также
•Лицензирование программного обеспечения
•Распределение лицензий между пользователями
•Как настроить защищенное соединение WSS для сервиса телефонии
•Часто задаваемые вопросы по работе с телефонией в Creatio
•Интеграция с телефонией Asterisk (документация по разработке)