Определение момента переключения на сотрудника во время перевода звонка — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 48: Строка 48:
  
 
'''2.''' Компонент "'''Определение линий'''". Сохраняет номер линии абонента А (переключаемого, линия буфера) и линии пользователя Б (переключающего) в соответствующие переменные.
 
'''2.''' Компонент "'''Определение линий'''". Сохраняет номер линии абонента А (переключаемого, линия буфера) и линии пользователя Б (переключающего) в соответствующие переменные.
* Переменной "'''ЛинияБуфера'''" присваивается значение функции "'''Номер линии, ожидающей во Flash-буфере'''".  
+
* Переменной "'''ЛинияБуфера'''" (локальная) присваивается значение функции "'''Номер линии, ожидающей во Flash-буфере'''".  
* Переменной "'''ЛинияПользователя'''" присваивается значение функции "'''Номер линии'''"
+
* Переменной "'''ЛинияПользователя'''" (локальная) присваивается значение функции "'''Номер линии'''"
  
  
'''3. Запуск служебного сценария'''.
+
'''3. Запуск служебного сценария'''. Блок определяет линию сотрудника В, записывает ее в переменную, а затем передает все три найденные линии (А, Б, В) на вход служебного сценария.
 +
 
 +
В зависимости от типа набранного номера отрабатывают те или иные компоненты. Для внешнего номера:
 +
 
 +
Компонент "ВНЕШНИЕ". Если переключают на внешний номер, то необходимо сохранить выбранную линию в переменную.
 +
* Номер - переменная "Номер".
 +
* Тип вызова - Обычный
 +
* Направления - выберите направления для вызова
 +
* Идентификатор выбранной линии - переменная "ЛинияПереключения" (локальная)
 +
* Коммутировать сразу - Нет, прослушивать медиа-поток".
 +
 
 +
 
 +
Компонент "Линия переключения". Определяет номер линии по ее идентификатору и сохраняет его в ту же переменную.
 +
* Действие - Определить
 +
* Тип объекта - Линия
 +
* Ключ линии - переменная "'''ЛинияПереключения'''"
 +
* Функция - Номер линии
 +
* Значение в переменную - переменная "'''ЛинияПереключения'''"
 +
 
 +
Для внутреннего номера:
 +
 
 +
Компонент "ВНУТРЕННИЕ". Остается без изменения.
 +
* Назначение - Внутрь
 +
* Номер - переменная "Номер"
 +
* Тип вызова - Обычный
 +
 
 +
Компонент "Пауза 200мс". Необходим для корректной отработки переключения и записи всех значений в базу данных.
 +
* Время задержки, мс - 200
 +
 
 +
Компонент "Линия переключения (2)". По номеру линии пользователя Б, определяет номер скоммутированной линии.
 +
* Действие - Определить
 +
* Тип объекта - Линия
 +
* Ключ линии - переменная "'''Номер линии'''"
 +
* Функция - Номер скоммутированной линии/конференции
 +
* Значение в переменную - переменная '''ЛинияПереключения'''

Версия 13:13, 23 ноября 2014

Наверх


Введение

Представим ситуацию, когда абонент А просит оператора Б переключить его на другого сотрудника В. Например, клиент, разговаривая с менеджером по продажам, хочет обсудить технический вопрос с инженерами технической поддержки. Менеджер по продажам может переключить абонента сразу напрямую (выполнить Transfer-переключение, неконсультативный перевод) или предварительно предупредить инженера о переводе (консультативный перевод). В каждом из этих случаев стоит задача воспроизвести в коммутацию сообщение "Вы переключены на сотрудника", как только установилось успешное соединение.

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


Реализация сценария

Для определенности введем следующие понятия: А - переключаемый клиент, Б - переключающий оператор, В - пользователь, на которого переводят звонок.

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


Модификация IVR сценария переключения

Модификация сценария заключается в сборе данных о линиях, участвующих в переводе звонка и запуске служебного сценария. Модифицированный сценарий выглядит следующим образом:


Определение момент переключения-002.png


1. Правка входного каскада.


Компонент "Старт 1". Во время Sip-transfer переключения получает номер, на который выполнен перевод звонка. Во время обычного переключения на вход ничего не передается.

  • Параметр запуска - переменная "Номер" (локальная)


Компонент "Режим Flash". Присваивает служебной переменной "(сл) Режим Flash" - число 1. Таким образом, если оператор Б положит трубку во время дозвона до сотрудника В, клиент А заменит его и самостоятельно будет ожидать соединения.


Компонент "Параметр запуска пусто?". Определяет передался ли номер на вход сценария во время SIP-transfer переключения.

  • Аргумент 1 - переменная "Номер"
  • Аргумент 2 - пустая строка
  • Тип сравнения - "="


Компоненты "Номер=CallerID", "Номер пусто?" и все компоненты блока сбора номера (выделен зеленым) не изменяются.

Обратите внимание, что ветка по таймауту компонента "+1 цифра" в сценарии переведена на компонент "Пауза 1".


2. Компонент "Определение линий". Сохраняет номер линии абонента А (переключаемого, линия буфера) и линии пользователя Б (переключающего) в соответствующие переменные.

  • Переменной "ЛинияБуфера" (локальная) присваивается значение функции "Номер линии, ожидающей во Flash-буфере".
  • Переменной "ЛинияПользователя" (локальная) присваивается значение функции "Номер линии"


3. Запуск служебного сценария. Блок определяет линию сотрудника В, записывает ее в переменную, а затем передает все три найденные линии (А, Б, В) на вход служебного сценария.

В зависимости от типа набранного номера отрабатывают те или иные компоненты. Для внешнего номера:

Компонент "ВНЕШНИЕ". Если переключают на внешний номер, то необходимо сохранить выбранную линию в переменную.

  • Номер - переменная "Номер".
  • Тип вызова - Обычный
  • Направления - выберите направления для вызова
  • Идентификатор выбранной линии - переменная "ЛинияПереключения" (локальная)
  • Коммутировать сразу - Нет, прослушивать медиа-поток".


Компонент "Линия переключения". Определяет номер линии по ее идентификатору и сохраняет его в ту же переменную.

  • Действие - Определить
  • Тип объекта - Линия
  • Ключ линии - переменная "ЛинияПереключения"
  • Функция - Номер линии
  • Значение в переменную - переменная "ЛинияПереключения"

Для внутреннего номера:

Компонент "ВНУТРЕННИЕ". Остается без изменения.

  • Назначение - Внутрь
  • Номер - переменная "Номер"
  • Тип вызова - Обычный

Компонент "Пауза 200мс". Необходим для корректной отработки переключения и записи всех значений в базу данных.

  • Время задержки, мс - 200

Компонент "Линия переключения (2)". По номеру линии пользователя Б, определяет номер скоммутированной линии.

  • Действие - Определить
  • Тип объекта - Линия
  • Ключ линии - переменная "Номер линии"
  • Функция - Номер скоммутированной линии/конференции
  • Значение в переменную - переменная ЛинияПереключения