Урок 18 Голосовое взаимодействие — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 5 промежуточных версии этого же участника)
Строка 2: Строка 2:
 
| [[Уроки | Наверх]]
 
| [[Уроки | Наверх]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
|  
+
| [[Урок_19_Обработка неудачного соединения| К следующему уроку]]
 
|-
 
|-
 
|}
 
|}
Строка 90: Строка 90:
  
  
'''7.''' Далее маршрутизируем звонок в зависимости от переменной '''answer'''. Используем компонент "'''Меню'''".  
+
'''7.''' Далее маршрутизируем звонок в зависимости от переменной '''answer'''. Используйте компонент "'''Меню'''".  
  
  
Строка 96: Строка 96:
  
  
'''8.''' По ветке "'''1'''" - ставим переключение на внутренний номер '''304'''. Также обрабатываем здесь успешные и неуспешные переходы.
+
'''8.''' По ветке "'''1'''" - ставим переключение на внутренний номер '''304'''. Также необходимо обработать успешные и неуспешные переходы.
  
 
'''9.''' По ветке "'''2'''" - ставим компонент "'''переключение на внешний номер'''". В этом компоненте нужно написать номер и выбрать направления, по которым будет происходить вызов.  
 
'''9.''' По ветке "'''2'''" - ставим компонент "'''переключение на внешний номер'''". В этом компоненте нужно написать номер и выбрать направления, по которым будет происходить вызов.  
Строка 111: Строка 111:
 
* '''Коммутировать сразу''' - рекомедуется установить "'''Нет, прослушивать медиа-поток'''".  
 
* '''Коммутировать сразу''' - рекомедуется установить "'''Нет, прослушивать медиа-поток'''".  
  
Также как и в любом переключении обрабатываем переходы.  
+
Также как и в любом переключении назначаем переходы на компоненты "'''Стоп'''" и "'''Обрыв связи'''".  
  
  
Строка 126: Строка 126:
 
* '''Символы прерывания''' - символы после которых будет закончен ввод символов. Сами символы прерывания не попадут в буфер (переменную). В примере, не указаны.  
 
* '''Символы прерывания''' - символы после которых будет закончен ввод символов. Сами символы прерывания не попадут в буфер (переменную). В примере, не указаны.  
 
* '''Переменная''' - буфер, в который будет сохранена введенная последовательность. Выберите переменную '''answer'''.
 
* '''Переменная''' - буфер, в который будет сохранена введенная последовательность. Выберите переменную '''answer'''.
* '''Очистить буфер''' - Да. Обозначает, что перед началом работы компонента переменная answer будет очищена. Если выбрать нет, то введенные символы будут добавлены в конец переменной.
+
* '''Очистить буфер''' - Да. Обозначает, что перед началом работы компонента переменная '''answer''' будет очищена. Если выбрать нет, то введенные символы будут добавлены в конец переменной.
* '''Макс время, с''' - время для ввода указанного количества символов, в примере '''10''' секунд.  
+
* '''Макс время, с''' - время для ввода указанного количества символов, в примере '''10''' секунд. Время засекается с набора первого символа.
 
* '''Количество символов''' - ожидаемое количество символов. Если не указано, компонент будет ожидать ввода символа прерывания. В примере, '''3''' символа (длина внутреннего номера).
 
* '''Количество символов''' - ожидаемое количество символов. Если не указано, компонент будет ожидать ввода символа прерывания. В примере, '''3''' символа (длина внутреннего номера).
  
При такой конфигурации компонента если вы введете три символа, то произойдет переход к следующему компоненту. Если вы введете всего 1 символ (1 или 2), то компонент спустя 10 секунд перейдет по ветке таймаут, и вы сможете проанализировать введенную последовательность.
+
При такой конфигурации компонента если вы введете три символа, то произойдет переход к следующему компоненту. Если вы введете всего 1 символ (1 или 2), то компонент спустя 10 секунд перейдет по ветке '''таймаут''', и вы сможете проанализировать введенную последовательность.
  
  
Строка 170: Строка 170:
 
| [[Уроки | Наверх]]
 
| [[Уроки | Наверх]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
|  
+
| [[Урок_19_Обработка неудачного соединения| К следующему уроку]]
 
|-
 
|-
 
|}
 
|}

Текущая версия на 11:12, 7 мая 2015

Наверх К предыдущему уроку К следующему уроку


В этом уроке мы продолжаем изучение компонентов IVR-сценариев.


Урок18-011.png


Введение

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

Компоненты работы со звуковым потоком позволяют воспроизводить заранее записанные файлы в телефонную линию, а также производить запись в файл из телефонной линии. И во время воспроизведения и во время записи компоненты позволяют принимать, анализировать и сохранять в переменные последовательность чисел, принимаемые от абонента как DTMF сигналы тонового набора. Особым типом звуковых компонентов является компонент озвучивания числительных в различных форматах, в том числе деньги в рублях, телефонный номер, количество и др.

Oktell позволяет работать со следующими звуковыми файлами:

  • WAV, 8 кГц , 16 бит, моно
  • MP3

Как правило, для голосовых файлов используются MP3-файлы. Oktell автоматически преобразует их в нужный WAV-формат.

Создание сценария

Задача: Компания имеет три внешних номера (88001111111, 88002222222 и 88003333333) и хочет настроить для каждого номера свое звуковое приветствие.

  • При звонке на 88001111111 необходимо воспроизвести звуковое приветствие, а затем переключить на секретаря (внутренний номер 203).
  • При звонке на 88002222222 необходимо воспроизвести звуковое приветствие с выбором - нажать 1 соединить с менеджерами (внутренний номер 304), 2 - для связи с куратором проекта (внешний номер 89170000000).
  • При звонке на 88003333333 необходимо предоставить клиенту выбор - нажать 1 для связи с менеджерами (внутренний номер 304), 2 - для связи с технической поддержкой (внутренний номер 506) или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер 203).

1. Создайте IVR-сценарий "Урок 18".

2. Для определения на какой номер позвонил клиент воспользуемся функцией Внешний номер (Calledid). Значение функции записывается в переменную Calledid.

Урок18-001.png


3. Для маршрутизации в зависимости от Calledid используем компонент "Меню".

ВНИМАНИЕ: Добавьте заранее три компонента Пауза. Это нужно для удобства, так как при добавлении значений вам надо сразу указывать переходы. Добавляемые паузы, по умолчанию, нулевой длительности, поэтому никаких действий в системе не воспроизводят. При желании, вы всегда можете удалить их и переназначить пункты меню.

  • Аргумент - переменная Calledid
  • Значения - добавьте возможные значения параметра Calledid и укажите переходы (например, 88001111111 - Пауза 1 и т.д.)


Урок18-002.png


4. Если Calledid = 88001111111, необходимо воспроизвести голосовое приветствие, например, "Вас приветствует компания ...". Используем компонент "Воспроизведение". Компонент позволяет использоваться в нескольких режимах:

  • Файл полностью - проигрывает полностью файл, затем переходит к следующему компоненту. Клиенту можно дать возможность прервать воспроизведение файла с помощью символов прерывания.
  • Предпрослушивание - проигрывает файл заданное количество секунд (например, первые 10 секунд указанного файла).
  • Файл + дополнительное время - после окончания файла, переход к следующему компоненту происходит через указанное время. (например через 5 секунд после конца файла).
  • Фоновое воспроизведение - позволяет воспроизводить клиенту информацию, не задерживаясь на компоненте "Воспроизведение" в сценарии. Проигрывание файла будет продолжаться вплоть до соединения с сотрудником или до конца сценария. Остановить фоновое воспроизведение звукового файла также можно с помощью режима "остановка фона" (дополнительный компонент).
  • Генерация DTMF - воспроизводит DTMF сигнал в линию.

В нашем сценарии будем использовать режим "Файл полностью".

  • Режим - Файл полностью
  • Файл - выберите файл с записью. Имеется возможность проигрывать файлы, у которых путь содержится в переменной.


Урок18-003.png


5. После конца воспроизведения, используем компонент "Переключение на внутренний номер".

  • Номер - 203
  • Очередь ожидания - Да. Предполагается высокая вероятность того, что секретарю может поступать несколько звонков одновременно.

После компонента в случае успешного соединения ставим компонент "Стоп", в случае неуспешного "Обрыв связи" (заметим, что можно обрабатывать пропущенный или непринятый звонок множеством способов, которые мы в рамках данного урока опускаем).


Урок18-004.png


6. Если Calledid = 88002222222, необходимо воспроизвести голосовое приветствие с выбором: 1 - соединиться с менеджерами (внутренний номер 304), 2 - для связи с куратором проекта (внешний номер 89170000000).

Для решения задачи также используется компонент "Воспроизведение", но с указанием символов прерывания "1" и "2". Таким образом если клиент нажимает символ прерывания, воспроизведение заканчивается, а символ прерывания можно затем проанализировать.

  • Режим: Файл полностью
  • Файл - выберите файл с записью
  • Символы прерывания - "1 2"
  • Буфер - переменная answer (строковая)
  • Очистить буфер - Да


Урок18-005.png


7. Далее маршрутизируем звонок в зависимости от переменной answer. Используйте компонент "Меню".


Урок18-006.png


8. По ветке "1" - ставим переключение на внутренний номер 304. Также необходимо обработать успешные и неуспешные переходы.

9. По ветке "2" - ставим компонент "переключение на внешний номер". В этом компоненте нужно написать номер и выбрать направления, по которым будет происходить вызов.

  • Номер - Укажите внешний номер для переключения, в примере 89170000000.

ВНИМАНИЕ: Некоторые провайдеры связи принимают только определенный формат внешнего номера, например через "+7". Уточняйте эти сведения у вашего провайдера связи.

  • Направления - выберите направления или линии, через которые будет происходить дозвон. Есть возможность установить приоритет использования линии.
  • Время ожидания ответа, с - длительность ожидания. По умолчанию, 40 секунд. В примере, установлено 90 секунд.

ВНИМАНИЕ: Провайдеры зачастую не разрешают подмену Caller Id. Оставляйте поле Caller Id и Caller Name пустым. Однако, если провайдер связи может осуществлять подмену Caller Id вы можете передавать любое значение.

  • Коммутировать сразу - рекомедуется установить "Нет, прослушивать медиа-поток".

Также как и в любом переключении назначаем переходы на компоненты "Стоп" и "Обрыв связи".


Урок18-007.png


10. Осталось обработать последний случай - Если CalledId = 88003333333 необходимо предоставить клиенту выбор - нажать 1 для связи с менеджерами (внутренний номер 304), 2 - для связи с технической поддержкой (внутренний номер 506) или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер 203).

Для решения этой задачи используется компонент "Преднабор". Компонент "Преднабор" в отличии от "Воспроизведения файла" позволяет запоминать любые символы, которые ввели во время воспроизведения файла.

Выберите следующие свойства у компонента:

  • Файл - выберите файл с записью.
  • Символы прерывания - символы после которых будет закончен ввод символов. Сами символы прерывания не попадут в буфер (переменную). В примере, не указаны.
  • Переменная - буфер, в который будет сохранена введенная последовательность. Выберите переменную answer.
  • Очистить буфер - Да. Обозначает, что перед началом работы компонента переменная answer будет очищена. Если выбрать нет, то введенные символы будут добавлены в конец переменной.
  • Макс время, с - время для ввода указанного количества символов, в примере 10 секунд. Время засекается с набора первого символа.
  • Количество символов - ожидаемое количество символов. Если не указано, компонент будет ожидать ввода символа прерывания. В примере, 3 символа (длина внутреннего номера).

При такой конфигурации компонента если вы введете три символа, то произойдет переход к следующему компоненту. Если вы введете всего 1 символ (1 или 2), то компонент спустя 10 секунд перейдет по ветке таймаут, и вы сможете проанализировать введенную последовательность.


Урок18-008.png


11. Анализируем введенную последовательность. В компоненте "Меню" вводим следущие возможные значения:

  • Пустая строка - если клиент не нажал ни одного символа. В этом случае переключаем на секретаря (203)
  • 1 - соединяем с менеджерами (304)
  • 2 - соединяем с технической поддержкой (506)


Урок18-009.png


Также в меню проводим переход по прочим значениям (CTRL + правая кнопка мыши). Это может обозначать, что клиент ввел все три символа внутреннего номера. В этом случае, номер на который надо переключить содержит нужный номер и в компоненте "Переключение" в поле "Номер" указываем переменную answer.

ВНИМАНИЕ: по умолчанию, если не указать в сценарии явный переход от неудачного переключения, считается, что компонент переходит на компонент "Обрыв связи".


Урок18-010.png


Скачать сценарий: Урок18.zip

Поздравляем! Вы научились использовать компоненты воспроизведения файлов в IVR-сценариях. Можете переходить к следующему уроку.

Техническая документация: Общие компоненты сценариев и Компоненты сценариев IVR

Вопросы и задания

  • Если при соединении с сотрудником, он оказался занят или недоступен, воспроизведите сообщение клиенту "Извините, сотрудник занят, переключаю на секретаря" и произведите переключение на соответствующий номер.
  • Реализуйте воспроизведение файла, указанного в переменной.
  • На этом же принципе реализуйте аудио-плеер в IVR сценарии. Предварительно создайте папку с 5-10 музыкальными файлами. При нажатии на "2" аудио-плеер должен начинать воспроизводить следующую мелодию.
Наверх К предыдущему уроку К следующему уроку