Studio Creatio
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Как настроить интеграцию с телефонией 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.Откройте дизайнер системы, например, нажав кнопку btn_system_designer00001.png в правом верхнем углу приложения.

2.В группе [Настройка системы] кликните по ссылке [Системные настройки] (Рис. 1).

Рис. 1 — Переход в раздел [Системные настройки]

scr_chapter_telephony_setup_link_system_settings00002.png 

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.Откройте дизайнер системы, например, нажав кнопку btn_system_designer00003.png в правом верхнем углу приложения.

2.В группе [Настройка системы] кликните по ссылке [Системные настройки] (Рис. 2).

Рис. 2 — Переход в раздел [Системные настройки]

scr_chapter_telephony_setup_link_system_settings00004.png 

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

Настройка параметров 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 (документация по разработке)

Был ли данный материал полезен?

Как можно улучшить эту статью?