Creatio development guide
PDF
Документация по разработке
Описание платформы
Это документация Creatio версии 7.12.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-2019.

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

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