Интеграция с Naumen Contact Center на стороне браузера

Интеграция с Naumen Contact Center (NCС) реализована на основе протокола WebSocket. SMP для обмена информацией с NCС использует локальный WebSocket API Naumen Softphone.

Пользователь использует SMP как основную систему, NCC запущен в отдельном окне.

Описание интеграции

Входящие звонки

  • Поступает входящий звонок.

    На отдельной вкладке браузера открывается карточка входящего звонка.

    В карточке указывается время начала звонка, номер телефона звонящего, номер телефона принимающего звонок, идентификатор звонка в системе NCC.

  • Пользователь поднимает трубку.

    В карточку входящего звонка записывается время начала разговора.

  • Звонок завершается (по инициативе любой стороны, обрыв соединения c WSS).

    В карточку входящего звонка записывается время окончания звонка, полученное от NCС.

    Спустя несколько секунд (задержка появления записи на сервере NCC) звонок переводится в статус "Завершен".

Исходящие звонки

  • Пользователь инициирует звонок, используя пользовательский элемент управления или кнопку вызова виджета.

    На отдельной вкладке браузера открывается карточка исходящего звонка.

    В карточке указывается время начала звонка, номер телефона звонящего, номер телефона принимающего звонок, идентификатор звонка в системе NCC.

  • Абонент ответил на звонок.

    В карточку звонка записывается время начала разговора.

  • Звонок завершается (по инициативе любой стороны, обрыв соединения c WSS).

    В карточку звонка записывается время окончания звонка, полученное от NCС.

    Спустя несколько секунд (задержка появления записи на сервере NCC) звонок переводится в статус "Завершен".

Если звонок отклонен, оповещение о звонке мигает на вкладке, пока не будет осуществлен переход на вкладку.

Если открыта вкладка SMP, а сессия пользователя просрочена, то при регистрации звонка откроется дублирующая вкладка.

Базовые настройки интеграции со стороны SMP

Чтобы настроить интеграцию, выполните следующие действия:

  1. Получите архив с javascript файлами для интеграции в службы поддержки NAUMEN.
  2. Распакуйте архив с Javascript файлами в каталог с конфигурационными файлами приложения.

    Путь к каталогу указан в параметре -Dext.prop.dir виртуальной машины Java (nausd4/conf):

  3. Выполните в консоли метод api.js.reload().

  4. Перезагрузите страницу приложения (интерфейс оператора) с очисткой кэша.
  5. Добавить класс объектов и типы объектов для хранения информации о звонках.

    Объект входящий звонок создается в системе при поступлении входящего звонка.

    Объект исходящий звонок создается в системе при инициации исходящего звонка.

Пример настройки класса для хранения информации о звонках

Для корректной интеграции необходимо использовать указанные коды класса и типов объекта, атрибутов объекта и статусов жизненного цикла!
Названия класса и типов, атрибутов и статусов жизненного цикла приведены для примера.

Параметры класса для хранения информации о звонках:

  • название "Взаимодействие"
  • код "interaction";
  • правило формирования атрибута "Название" (title): ${creationDate} - ${serviceCall} - ${state};
  • с жизненным циклом;
  • типы:

    • "Входящий звонок" (incomingCall);
    • "Исходящий звонок" (outgoinCсall).

Атрибуты класса "interaction":

  • "Внешний идентификатор" (idHolder), тип "Строка" — идентификатор звонка в системе NCC.
  • "Кому (текст)" (toText), тип "Текст", редактируемый — номер телефона принимающего звонок.
  • "От (текст)" (fromText), тип "Текст", редактируемый — номер телефона звонящего.
  • "Время начала" (startTime), тип "Дата/время" — время начала звонка (открытия карточка звонка.
  • "Время начала разговора" (callStartTime), тип "Дата/время".
  • "Время окончания" (endTime), тип "Дата/время" — время завершения звонка.

Жизненный цикл:

  • "Инициирован" (registered);
  • "Завершен" (callCompleted).

Дополнительные настройки интеграции со стороны SMP

В рамках интеграции с NCС можно выполнить следующие настройки:

Пользовательский элемент управления для инициации звонка

Настройка пользовательского элемента управления, например, для инициации исходящего звонка в карточке запроса или карточке сотрудника:

  • кнопка Позвонить на панели действий в карточке сотрудника;
  • ссылка позвонить рядом с номером контактного телефона в блоке с контактными данными в карточке сотрудника;
  • ссылка "позвонить" рядом с номером контактного телефона в блоке с контактными данными в карточке запроса.

В системе создается пользовательский элемент управления. Действие с объектом, инициируемое при нажатии на данный элемент, определяется пользовательским сценарием (скриптом).

Пример. При нажатию на кнопку создается исходящий звонок на номер, указанный в атрибуте 'mobilePhoneNumber' текущего объекта.

Copy
def PHONE_NUMBER = subject.mobilePhoneNumber;
def JS_TO_EXECUTE = "window.top.ncc.call('$PHONE_NUMBER')";
result.executeJavaScript(JS_TO_EXECUTE).reload(false);

Действие по событиям с объектом "звонок"

Настройка скриптового действия по событиям с объектом входящий и (или) исходящий звонок:

  • Скрипт при добавлении звонка записывает в его карточку дополнительные данные (ссылки на объекты, имена клиентов, компаний и т.д.).
  • Скрипт скачивает запись разговора с сервера NCC при переводе звонка в статус "Завершен" (callCompleted)".
  • Скрипт заполняет атрибут "Воспроизведение" (htmlPlayer), в котором становится доступно прослушивание записи разговора. В браузерах Microsoft Edge и Internet Explorer 11 не проигрываются записи разговора в формате .ogg.

В системе создается действие по событию. Действие с объектом определяется пользовательским сценарием (скриптом):

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

Настройка интеграции со стороны NCC

Получение информации о событиях NCC

Чтобы SMP получала информацию о событиях от NCC, необходимо разрешить использование WebSocket API на стороне NCC для пользователей, которые используют интеграцию.

По умолчанию WebSocket API выключен для всех пользователей.

Подробное описание приводится в документации NCC.

Получение записи разговоров

Чтобы SMP получала записи телефонных разговоров, файловый сервер NCC (naufileservice) должен быть доступен с сервера SMP.

Время, через которое запись разговора доступна на файловом сервере NCC, зависит от нагрузки на сервер.

Для скачивания записи необходима учетная запись пользователя с правами супервизора.

Подробное описание системы ролей NCC приводится в документации NCC.