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

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 16 промежуточных версии этого же участника)
Строка 2: Строка 2:
 
| [[Уроки | Наверх]]
 
| [[Уроки | Наверх]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
 
| [[Урок_17_Маршрутизация_звонка| К предыдущему уроку]]
|  
+
| [[Урок_19_Обработка неудачного соединения| К следующему уроку]]
 
|-
 
|-
 
|}
 
|}
Строка 9: Строка 9:
  
  
В этом уроке мы продолжаем изучение компонентов IVR сценариев.  
+
В этом уроке мы продолжаем изучение компонентов IVR-сценариев.  
 +
 
 +
 
 +
[[Файл:Урок18-011.png|center]]
 +
 
  
 
=== Введение ===  
 
=== Введение ===  
  
На прошлом уроке мы разобрались с тем, как можно маршрутизировать звонок в зависимости от значений переменных. Как вы помните, мы делали сценарий так, что если текущее время не совпадает с графиком работы офиса, отрабатывал компонент "Обрыв связи". Однако нам хотелось бы, ставить звуковое воспроизведение клиенту с просьбой позвонить в рабочее время. Для этого служат компоненты голосового взаимодействия.  
+
Голосовое взаимодействие очень часто используется для автоматического приветствия при звонке, голосового уведомления в сценариях о том или ином действии, в задачах автоматического оповещения клиентов. Голосовое взаимодействие также предполагает запись звукового потока в файл, который затем может использоваться, например, в сервисе "'''Голосовая почта'''".  
  
Oktell может работать со следующими звуковыми файлами:
+
Компоненты работы со звуковым потоком позволяют воспроизводить заранее записанные файлы в телефонную линию, а также производить запись в файл из телефонной линии. И во время воспроизведения и во время записи компоненты позволяют принимать, анализировать и сохранять в переменные последовательность чисел, принимаемые от абонента как DTMF сигналы тонового набора. Особым типом звуковых компонентов является компонент озвучивания числительных в различных форматах, в том числе деньги в рублях, телефонный номер, количество и др.
* WAV, 8 кГц , 16 бит, моно
+
* MP3
+
  
Как правило, для голосовых файлов используются MP3-файлы. Oktell автоматически преобразует их в нужный wav-формат.  
+
'''Oktell''' позволяет работать со следующими звуковыми файлами:
 +
* '''WAV''', 8 кГц , 16 бит, моно
 +
* '''MP3'''
 +
 
 +
Как правило, для голосовых файлов используются '''MP3'''-файлы. '''Oktell''' автоматически преобразует их в нужный '''WAV'''-формат.  
  
 
=== Создание сценария ===  
 
=== Создание сценария ===  
  
'''Задача:''' Компания имеет три внешних номера (88001111111, 88002222222 и 88003333333) и хочет настроить для каждого номера свое звуковое оповещение.  
+
'''Задача:''' Компания имеет три внешних номера ('''88001111111''', '''88002222222''' и '''88003333333''') и хочет настроить для каждого номера свое звуковое приветствие.  
* При звонке на 88001111111 необходимо воспроизвести звуковое приветствие, а затем переключить на секретаря (внутренний номер 203).  
+
* При звонке на '''88001111111''' необходимо воспроизвести звуковое приветствие, а затем переключить на секретаря (внутренний номер '''203''').  
* При звонке на 88002222222 необходимо воспроизвести звуковое приветствие с выбором - нажать 1 соединить с менеджерами (внутренний номер 304), 2 - для связи с куратором проекта (внешний номер 89170000000).  
+
* При звонке на '''88002222222''' необходимо воспроизвести звуковое приветствие с выбором - нажать '''1''' соединить с менеджерами (внутренний номер '''304'''), '''2''' - для связи с куратором проекта (внешний номер '''89170000000''').  
* При звонке на 88003333333 необходимо предоставить клиенту выбор - нажать 1 для связи с менеджерами (внутренний номер 304), 2 - для связи с технической поддержкой (внутренний номер 506) или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер 203).  
+
* При звонке на '''88003333333''' необходимо предоставить клиенту выбор - нажать '''1''' для связи с менеджерами (внутренний номер '''304'''), '''2''' - для связи с технической поддержкой (внутренний номер '''506''') или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер '''203''').  
  
 
'''1.''' Создайте IVR-сценарий "'''Урок 18'''".  
 
'''1.''' Создайте IVR-сценарий "'''Урок 18'''".  
'''2.''' Для определения по какому номеру позвонил клиент воспользуемся функцией '''Внешний номер (Calledid)'''. Значение функции записывается в переменную '''Calledid'''.
 
'''3.''' Для маршрутизации в зависимости от Calledid используем компонент "Меню".
 
  
<font color="red">ВНИМАНИЕ: Добавьте заранее три компонента Пауза. Это нужно для удобства, так как при добавлении значений вам надо сразу указывать переходы. Добавляемые паузы, по умолчанию, нулевой длительности, поэтому никаких действий в системе не воспроизводят. При желании, вы всегда можете удалить их и переназначить пункты меню.</font>
+
'''2.''' Для определения на какой номер позвонил клиент воспользуемся функцией '''Внешний номер (Calledid)'''. Значение функции записывается в переменную '''Calledid'''.
  
* Аргумент - переменная Calledid
+
[[Файл:Урок18-001.png | center]]
* Значения - добавьте возможные значения параметра Calledid и укажите переходы (например, 88001111111 - Пауза 1 и т.д.)
+
  
4. Если Calledid = 88001111111, необходимо воспроизвести голосовое приветствие, например, "Вас приветствует компания ...". Используем компонент "Воспроизведение". Компонент позволяет использоваться в нескольких режимах:
 
* Файл полностью - проигрывает полностью файл, затем переходит к следующему компоненту. Клиенту можно дать возможность прервать воспроизведение файла с помощью символов прерывания.
 
* Предпрослушивание - проигрывает файл заданное количество секунд (например, первые 10 секунд указанного файла).
 
* Файл + дополнительное время - после окончания файла, переход к следующему компоненту происходит через указанное время. (например через 5 секунд после конца файла). 
 
* Фоновое воспроизведение - позволяет воспроизводить клиенту информацию, не задерживаясь на компоненте "Воспроизведение" в сценарии. Проигрывание файла будет продолжаться вплоть до соединения с сотрудником или до конца сценария. Остановить фоновое воспроизведение звукового файла также можно с помощью режима "остановка фона" (дополнительный компонент).
 
* Генерация DTMF - воспроизводит DTMF сигнал в линию.
 
  
В нашем сценарии будем использовать режим "Файл полностью".
+
'''3.''' Для маршрутизации в зависимости от '''Calledid''' используем компонент "'''Меню'''".  
* Режим - Файл полностью
+
* Файл - выберите файл с записью. Имеется возможность проигрывать файлы, у которых путь содержится в переменной.  
+
  
5. После конца воспроизведения, используем компонент "Переключение на внутренний номер".
+
<font color="red">ВНИМАНИЕ: Добавьте заранее три компонента '''Пауза'''. Это нужно для удобства, так как при добавлении значений вам надо сразу указывать переходы. Добавляемые паузы, по умолчанию, нулевой длительности, поэтому никаких действий в системе не воспроизводят. При желании, вы всегда можете удалить их и переназначить пункты меню.</font>
* Номер - 203
+
* Очередь ожидания - Да. Предполагается высокая вероятность того, что секретарю может поступать несколько звонков одновременно.  
+
После компонента в случае успешного соединения ставим компонент "Стоп", в случае неуспешного "Обрыв связи" (заметим, что можно обрабатывать пропущенный или непринятый звонок множеством способов, которые мы в рамках данного урока опускаем).
+
  
6. Если Calledid = 88002222222, необходимо воспроизвести голосовое приветствие с выбором - нажать 1 соединить с менеджерами (внутренний номер 304), 2 - для связи с куратором проекта (внешний номер 89170000000).
+
* '''Аргумент''' - переменная '''Calledid'''
 +
* '''Значения''' - добавьте возможные значения параметра '''Calledid''' и укажите переходы (например, '''88001111111''' - '''Пауза 1''' и т.д.)
  
Для решения задачи также используется компонент "Воспроизведение", но с указанием символов прерывания "1" и "2". Таким образом если клиент нажимает символ прерывания, воспроизведение заканчивается, а символ прерывания можно затем проанализировать. 
 
  
* Режим: Файл полностью
+
[[Файл:Урок18-002.png | center]]
* Файл - выберите файл с записью
+
* Символы прерывания - "1 2"
+
* Буфер - переменная answer (строковая)
+
* Очистить буфер - Да
+
  
7. Далее маршрутизируем звонок в зависимости от переменной answer. Используем компонент "Меню".
 
  
8. По ветке "1" - ставим переключение на внутренний номер 304. Также обрабатываем здесь успешные и неуспешные переходы.
+
'''4.''' Если '''Calledid''' = '''88001111111''', необходимо воспроизвести голосовое приветствие, например, "''Вас приветствует компания ...''". Используем компонент "'''Воспроизведение'''". Компонент позволяет использоваться в нескольких режимах:
 +
* '''Файл полностью''' - проигрывает полностью файл, затем переходит к следующему компоненту. Клиенту можно дать возможность прервать воспроизведение файла с помощью символов прерывания.
 +
* '''Предпрослушивание''' - проигрывает файл заданное количество секунд (например, первые 10 секунд указанного файла).
 +
* '''Файл + дополнительное время''' - после окончания файла, переход к следующему компоненту происходит через указанное время. (например через 5 секунд после конца файла). 
 +
* '''Фоновое воспроизведение''' - позволяет воспроизводить клиенту информацию, не задерживаясь на компоненте "Воспроизведение" в сценарии. Проигрывание файла будет продолжаться вплоть до соединения с сотрудником или до конца сценария. Остановить фоновое воспроизведение звукового файла также можно с помощью режима "остановка фона" (дополнительный компонент).
 +
* '''Генерация DTMF''' - воспроизводит '''DTMF''' сигнал в линию.  
  
9. По ветке "2" - ставим переключение на внешний номер. В этом компоненте нужно написать номер и выбрать направления, по которым будет происходить дозвон.  
+
В нашем сценарии будем использовать режим "'''Файл полностью'''".
 +
* '''Режим''' - Файл полностью
 +
* '''Файл''' - выберите файл с записью. Имеется возможность проигрывать файлы, у которых путь содержится в переменной.  
  
* Номер - Укажите внешний номер для переключения, в примере 89170000000.
 
  
<span style="color:red;"> ВНИМАНИЕ: Некоторые провайдеры связи принимают только определенный формат внешнего номера, например через "+7". Уточняйте эти сведения у вашего провайдера связи. </span>
+
[[Файл:Урок18-003.png | center]]
 +
 
 +
 
 +
'''5.''' После конца воспроизведения, используем компонент "'''Переключение на внутренний номер'''".
 +
* '''Номер''' - '''203'''
 +
* '''Очередь ожидания''' - '''Да'''. Предполагается высокая вероятность того, что секретарю может поступать несколько звонков одновременно.
 +
После компонента в случае успешного соединения ставим компонент "'''Стоп'''", в случае неуспешного "'''Обрыв связи'''" (заметим, что можно обрабатывать пропущенный или непринятый звонок множеством способов, которые мы в рамках данного урока опускаем).
 +
 
 +
 
 +
[[Файл:Урок18-004.png | center]]
 +
 
 +
 
 +
'''6.''' Если '''Calledid''' = '''88002222222''', необходимо воспроизвести голосовое приветствие с выбором: '''1''' - соединиться с менеджерами (внутренний номер '''304'''), '''2''' - для связи с куратором проекта (внешний номер '''89170000000''').
 +
 
 +
Для решения задачи также используется компонент "'''Воспроизведение'''", но с указанием символов прерывания "'''1'''" и "'''2'''". Таким образом если клиент нажимает символ прерывания, воспроизведение заканчивается, а символ прерывания можно затем проанализировать. 
 +
 
 +
* '''Режим''': '''Файл полностью'''
 +
* '''Файл''' - выберите файл с записью
 +
* '''Символы прерывания''' - "'''1 2'''"
 +
* '''Буфер''' - переменная '''answer''' (строковая)
 +
* '''Очистить буфер''' - '''Да'''
 +
 
 +
 
 +
[[Файл:Урок18-005.png | center]]
 +
 
 +
 
 +
'''7.''' Далее маршрутизируем звонок в зависимости от переменной '''answer'''. Используйте компонент "'''Меню'''".
 +
 
 +
 
 +
[[Файл:Урок18-006.png | center]]
 +
 
 +
 
 +
'''8.''' По ветке "'''1'''" - ставим переключение на внутренний номер '''304'''. Также необходимо обработать успешные и неуспешные переходы.
 +
 
 +
'''9.''' По ветке "'''2'''" - ставим компонент "'''переключение на внешний номер'''". В этом компоненте нужно написать номер и выбрать направления, по которым будет происходить вызов.
 +
 
 +
* '''Номер''' - Укажите внешний номер для переключения, в примере '''89170000000'''.
 +
 
 +
<span style="color:red;"> ВНИМАНИЕ: Некоторые провайдеры связи принимают только определенный формат внешнего номера, например через "'''+7'''". Уточняйте эти сведения у вашего провайдера связи. </span>
 
   
 
   
* Направления - выберите направления или линии, через которые будет происходить дозвон. Есть возможность установить приоритет использования линии.  
+
* '''Направления''' - выберите направления или линии, через которые будет происходить дозвон. Есть возможность установить приоритет использования линии.  
* Время ожидания ответа, с - длительность ожидания. По умолчанию, 40 секунд. В примере, установлено 90 секунд.
+
* '''Время ожидания ответа, с''' - длительность ожидания. По умолчанию, 40 секунд. В примере, установлено 90 секунд.
  
 
<span style="color:red;"> ВНИМАНИЕ: Провайдеры зачастую не разрешают подмену Caller Id. '''Оставляйте поле Caller Id и Caller Name пустым.''' Однако, если провайдер связи может осуществлять подмену Caller Id вы можете передавать любое значение. </span>
 
<span style="color:red;"> ВНИМАНИЕ: Провайдеры зачастую не разрешают подмену Caller Id. '''Оставляйте поле Caller Id и Caller Name пустым.''' Однако, если провайдер связи может осуществлять подмену Caller Id вы можете передавать любое значение. </span>
  
* Коммутировать сразу - рекомедуется установить "Нет, прослушивать медиа-поток".  
+
* '''Коммутировать сразу''' - рекомедуется установить "'''Нет, прослушивать медиа-поток'''".  
  
Также как и в любом переключении обрабатываем переходы.  
+
Также как и в любом переключении назначаем переходы на компоненты "'''Стоп'''" и "'''Обрыв связи'''".  
  
10. Осталось обработать последний случай - Если CalledId = 88003333333 необходимо предоставить клиенту выбор - нажать 1 для связи с менеджерами (внутренний номер 304), 2 - для связи с технической поддержкой (внутренний номер 506) или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер 203).
 
  
Для решения этой задачи используется компонент "Преднабор". Компонент "Преднабор" в отличии от "Воспроизведения файла" позволяет запоминать любые символы, которые ввели во время воспроизведения файла.  
+
[[Файл:Урок18-007.png | center]]
 +
 
 +
 
 +
'''10.''' Осталось обработать последний случай - Если '''CalledId''' = '''88003333333''' необходимо предоставить клиенту выбор - нажать '''1''' для связи с менеджерами (внутренний номер '''304'''), '''2''' - для связи с технической поддержкой (внутренний номер '''506''') или ввести внутренний номер сотрудника для переключения. Если клиент не ввел символ - необходимо переключить его на секретаря (внутренний номер '''203''').
 +
 
 +
Для решения этой задачи используется компонент "'''Преднабор'''". Компонент "'''Преднабор'''" в отличии от "'''Воспроизведения файла'''" позволяет запоминать любые символы, которые ввели во время воспроизведения файла.  
  
 
Выберите следующие свойства у компонента:
 
Выберите следующие свойства у компонента:
  
* Файл - выберите файл с записью.
+
* '''Файл''' - выберите файл с записью.
* Символы прерывания - символы после которых будет закончен ввод символов. Сами символы прерывания не попадут в буфер (переменную). В примере, не указаны.  
+
* '''Символы прерывания''' - символы после которых будет закончен ввод символов. Сами символы прерывания не попадут в буфер (переменную). В примере, не указаны.  
* Переменная - буфер, в который будет сохранена введенная последовательность. Выберите переменную answer.
+
* '''Переменная''' - буфер, в который будет сохранена введенная последовательность. Выберите переменную '''answer'''.
* Очистить буфер - Да. Обозначает, что перед началом работы компонента переменная answer будет очищена. Если выбрать нет, то введенные символы будут добавлены в конец переменной.
+
* '''Очистить буфер''' - Да. Обозначает, что перед началом работы компонента переменная '''answer''' будет очищена. Если выбрать нет, то введенные символы будут добавлены в конец переменной.
* Макс время, с - время для ввода указанного количества символов, в примере 10 секунд.  
+
* '''Макс время, с''' - время для ввода указанного количества символов, в примере '''10''' секунд. Время засекается с набора первого символа.
* Количество символов - ожидаемое количество символов. Если не указано, компонент будет ожидать ввода символа прерывания. В примере, 3 символа (длина внутреннего номера).
+
* '''Количество символов''' - ожидаемое количество символов. Если не указано, компонент будет ожидать ввода символа прерывания. В примере, '''3''' символа (длина внутреннего номера).
  
При такой конфигурации компонента если вы введете три символа, то произойдет переход к следующему компоненту. Если вы введете всего 1 символ (1 или 2), то компонент спустя 10 секунд перейдет по ветке таймаут, и вы сможете проанализировать введенную последовательность.
+
При такой конфигурации компонента если вы введете три символа, то произойдет переход к следующему компоненту. Если вы введете всего 1 символ (1 или 2), то компонент спустя 10 секунд перейдет по ветке '''таймаут''', и вы сможете проанализировать введенную последовательность.
  
  
11. Анализируем введенную последовательность. В компоненте "Меню" вводим следущие возможные значения:
+
[[Файл:Урок18-008.png | center]]
* Пустая строка - если клиент не нажал ни одного символа. В этом случае переключаем на секретаря (203)
+
* 1 - соединяем с менеджерами (304)
+
* 2 - соединяем с технической поддержкой (506)
+
  
Также в меню проводим переход по прочим значениям (CTRL + правая кнопка мыши). Это может обозначать, что клиент ввел все три символа внутреннего номера. В этом случае, номер на который надо переключить содержит нужный номер и в компоненте "Переключение" в поле "Номер" указываем переменную answer.
 
  
<span style="color:red;"> ВНИМАНИЕ: по умолчанию, если не указать в сценарии явный переход от неудачного переключения, считается, что компонент переходит на компонент "Обрыв связи".
+
'''11.''' Анализируем введенную последовательность. В компоненте "'''Меню'''" вводим следущие возможные значения:
 +
* '''Пустая строка''' - если клиент не нажал ни одного символа. В этом случае переключаем на секретаря ('''203''')
 +
* '''1''' - соединяем с менеджерами ('''304''')
 +
* '''2''' - соединяем с технической поддержкой ('''506''')
 +
 
 +
 
 +
[[Файл:Урок18-009.png | center]]
 +
 
 +
 
 +
Также в меню проводим переход по прочим значениям (CTRL + правая кнопка мыши). Это может обозначать, что клиент ввел все три символа внутреннего номера. В этом случае, номер на который надо переключить содержит нужный номер и в компоненте "'''Переключение'''" в поле "'''Номер'''" указываем переменную '''answer'''.
 +
 
 +
<span style="color:red;"> ВНИМАНИЕ: по умолчанию, если не указать в сценарии явный переход от неудачного переключения, считается, что компонент переходит на компонент "'''Обрыв связи'''".
 +
 
 +
 
 +
[[Файл:Урок18-010.png | center]]
 +
 
 +
 
 +
'''Скачать сценарий:''' [http://wiki.oktell.ru/images/f/f0/%D0%A3%D1%80%D0%BE%D0%BA18.zip Урок18.zip]
 +
 
 +
'''Поздравляем!''' Вы научились использовать компоненты воспроизведения файлов в IVR-сценариях. Можете переходить к следующему уроку.
 +
 
 +
'''Техническая документация:''' [[Общие компоненты сценариев]] и [[Компоненты сценариев IVR]]
 +
 
 +
===Вопросы и задания===
 +
 
 +
* Если при соединении с сотрудником, он оказался занят или недоступен, воспроизведите сообщение клиенту "Извините, сотрудник занят, переключаю на секретаря" и произведите переключение на соответствующий номер.
 +
 
 +
* Реализуйте воспроизведение файла, указанного в переменной.
 +
 
 +
* На этом же принципе реализуйте аудио-плеер в IVR сценарии. Предварительно создайте папку с 5-10 музыкальными файлами. При нажатии на "2" аудио-плеер должен начинать воспроизводить следующую мелодию.
 +
 
 +
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Уроки | Наверх]]
 +
| [[Урок_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" аудио-плеер должен начинать воспроизводить следующую мелодию.
Наверх К предыдущему уроку К следующему уроку