Захват DTMF-сигналов во время разговора

Материал из Oktell
Перейти к: навигация, поиск

Наверх

Введение

Задача: Определять во время разговора введенные DTMF-символы на внешней и внутренней линии. В зависимости от линии и введенного на ней символа запускать различные процессы на сервере и клиентском приложении сотрудника. Например, при нажатии на 1 — открыть в браузере сайт oktell.ru, при нажатии на 2 — привязать звонок к задаче Call-центра.

На самом деле Oktell уже имеет похожие возможности в виде служебных номеров флеша и управления конференцией. Набрав во время разговора эти номера, система выполняет определенные действия. Например, нажав служебный номер флеш — система ставит абонента на удержание. Для управления конференцией существуют даже комбинации, которые добавляют или удаляют пользователя из конференции. К сожалению, на момент написания статьи в интерфейсе системы нельзя добавить свой служебный номер для выполнения особых действий.

Однако, проблема решается с помощью самостоятельного перехвата DTMF-сигналов во время разговора. В системе есть возможность с помощью сценариев получить введенные символы как с внешней, так и с внутренней линии. В процессе настройки сценариев вы сами определяете какие действия должна выполнить система при нажатии того или иного символа (или их комбинации). Таким образом, в Oktell можно реализовать неограниченное количество "служебных комбинаций".

Функционал полезен в случаях, когда операторы часто проделывают одни и те же действия: добавить текущий контакт в CRM-систему, открыть карточку клиента в браузере. С помощью определенных символов сотрудник может пометить клиента, чтобы система, к примеру, отправила ему SMS после разговора. Введенные символы на внешней стороне применяются для ввода скрытых данных, например, пароля во время разговора. Это может быть использовано для подтверждения операций в банковской сфере, не сообщая оператору личной информации.


Основная идея

Чтобы перехватывать DTMF-сигналы с любой линии, необходимо в IVR-сценарии после успешного переключения зациклить компонент Ввод значения. В таком случае на линии параллельно с разговором будет работать IVR сценарий, фиксирующий все введенные символы.


Перехват DTMF-001.png


Для внешних линий и внутренних линий (начиная с версии 2.12) введенные DTMF дополнительно записываются в таблице [oktell]..[a_stat_dtmf], если включить соответствующие настройки в разделе Администрирование/Управление базами данных — Сохранять в БД все получаемые по внешним/внутренним линиям DTMF-символы. Для перехвата DTMF из БД потребуется отдельный служебный сценарий, который будет циклично мониторить таблицу на предмет ввода новых символов.


Перехват DTMF-002.png


Главный IVR сценарий

Служебный сценарий дозвона

IVR сценарий входа в конференцию

IVR сценарий перехвата DTMF

Служебный сценарий для открытия сайта

Служебный сценарий для привязки звонка к задаче

IVR сценарий исходящей маршрутизации

Служебный сценарий для получения DTMF из БД

Установка готовых сценариев в систему