Урок 18 Голосовое взаимодействие

Материал из Oktell
Перейти к: навигация, поиск
Наверх К предыдущему уроку


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

Введение

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

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. 3. Для маршрутизации в зависимости от Calledid используем компонент "Меню".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Также как и в любом переключении обрабатываем переходы.

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

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

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

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

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


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

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

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

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