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

Webitel

Glossary Item Box

Общие положения

Интеграция Webitel реализована на клиенте в виде отдельных модулей bpm’online. Состав модулей, входящих в интеграцию:

Пакет WebitelCore — модули, содержащие низкоуровневые взаимодействия с АТС Webitel с использованием модуля Verto, а также СTI-панели на странице приложения bpm`online.

Пакет WebitelCollaborations — реализация базовых интерфейсов для работы с Webitel в bpm’online. Содержит модуль WebitelCtiProvider, реализующий класс WebitelCtiProvider, коннектор к Webitel, страницу настройки параметров подключения, справочник для редактирования пользователей Webitel непосредственно в bpm’online, необходимые привязки данных.

Подробно с архитектурой платформы Webitel можно ознакомиться в документации.

Взаимодействие компонентов

Класс WebitelCtiProvider (наследник класса Terrasoft.BaseCtiProvider) реализует необходимое взаимодействие между CtiModel и низкоуровневым глобальным объектом Webitel (модуль WebitelCore.WebitelModule.js) (рис. 1).

Рис. 1. Схема взаимодействия компонентов при интеграции Webitel с bpm'online

 

Интеграция осуществляется следующим образом. Если пользователь установил системную настройку библиотеки интеграции Webitel, CtiProviderInitializer загружает модуль WebitelCtiProvider. Далее вызывается метод init в WebitelCtiProvider, который осуществляет логин пользователя в сессию телефонии (метод LogInMsgServer сервиса MsgUtilService.svc). Если логин был успешным, вызывается метод connect, который проверяет, что еще нет существующего подключения (свойство this.isConnected имеет значение false и this.webitel — пустое). После этого connect запрашивает настройки подключения к Webitel, которые хранятся в системных настройках webitelConnectionString и webitelWebrtcConnectionString (рис. 2).

Рис. 2. — Загрузка провайдера WebitelCtiProvider и подключения СTI-панели

scr_webitel_events_01.png

После получения системных настроек происходит получение настроек пользователя из справочника [Пользователи Webitel], используя метод GetUserConnection клиентского сервиса WUserConnectionService. После получения пользовательских настроек загружается модуль WebitelModule и WebitelVerto, если в настройках пользователя установлен признак [Use web phone]. Затем вызывается метод onConnected, в котором создается глобальный объект Webitel, где свойства заполняются настройками подключения. Происходит подписка на события объекта Webitel и вызывается метод connect, который осуществляет подключение по WebSocket, авторизацию в АТС Webitel и остальные низкоуровневые операции по подключению. При возникновении события onConnect подключение считается успешным, и у пользователя появляется возможность работать со звонками. Во время работы коннектора WebitelCtiProvider реагирует на события объекта Webitel, обрабатывает их и, при необходимости, генерирует события коннектора, описанные в классе Terrasoft.BaseCtiProvider. Для управления звонками WebitelCtiProvider реализует абстрактные методы класса Terrasoft.BaseCtiProvider, используя методы объекта Webitel

Примеры взаимодействия CtiPanel, CtiModel и WebitelCtiProvider

Исходящий звонок оператора абоненту с установкой звонка на удержание абонентом, снятия с удержания абонентом и завершения звонка оператором (рис. 3). 

Рис. 3. — Последовательность возникновения событий при звонке

scr_webitel_events_02.png

Список портов Webitel

  • 871 — порт WebSocket для подключения к серверу Webitel и получения событий.
  • 5060 и 5080 — сигнальные порты для подключениz SIP-телефонов и провайдеров телефонии.
  • 5066 — порт для подключения Web-телефона, сигнальный порт WebRTC.
  • 4004 — порт для получения записей разговоров.

События Webitel

Табл. 1. — События WebitelCtiProvider

Событие Описание
onNewCall Событие начала нового звонка.
onAcceptCall Событие поднятия трубки.
onHoldCall Событие удержания звонка.
onUnholdCall Событие снятия звонка с удержания.
onDtmfCall Событие тонового набора.
onBridgeCall Событие соединения с каналом.
onUuidCall Событие смены UUID звонка.
onHangupCall Событие завершения звонка.
onNewWebRTCCall Событие новой WebRTC-сессии.

 

© Terrasoft 2002-2016.

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

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