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

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

Системные сценарии

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

Приведем самые основные системные сценарии, которые почти всегда присутствуют в любой системе:

  • IVR сценарий входящей маршрутизации (или Главный сценарий) - отвечает за обработку любого входящего звонка;
  • IVR сценарий исходящей маршрутизации - позволяет совершать исходящие вызовы пользователям Oktell;
  • IVR сценарий переключения - требуется для совершения перевода звонка другому пользователю;
  • IVR сценарий вместо отбоя внешней линии - позволяет дополнительно обработать звонок, после того как оператор положил трубку;
  • Служебный сценарий набора внешних/быстрых номеров - запускается для выбора линии, по которой пойдет звонок на быстрые или групповые номера, содержащие внутри внешний номер;
  • Служебный сценарий обработки контента - производит постобработку вызова, когда внешняя линия уже положила трубку.

В системе существуют и другие сценарии, но они используются в редких случаях. Все системные сценарии назначаются в модуле Администрирование/Общие настройки, далее выбираются на вкладке Системные настройки в группе "Сценарии АТС".


Урок24-001.png


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

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

ВНИМАНИЕ: Это важный момент, ведь вызов от внутреннего пользователя не попадет в главный сценарий,

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

  1. Определение времени и приветствие. На этом этапе проверяется рабочее время, воспроизводится файл приветствия.
  2. Распределение звонка на внутренние номера. Здесь звонок маршрутизируется на операторские группы, используется очередь ожидания.
  3. Окончание обработки - последний блок, нужен для записи служебных переменных, для обработки неудачного соединения, включения голосовой почты или заказа на встречный звонок.

Рассмотрим стандартный главный сценарий, который включен изначально в дистрибутив Oktell. Сценарий выглядит следующим образом


Main1.png


Блок: Определение времени и приветствие

После начала коммутации произведем анализ времени поступившего вызова и направим коммутации на соответствующее приветствие.

Компонент "Начинаем работать?". Определяет начался ли рабочий день компании. В сценарии предполагается, что офис работает с 7:00 до 20:00.

  • Аргумент 1 - функция "Текущий час"
  • Аргумент 2 - число "7", целая часть часа, с которого планируется начало работы в офисе.
  • Тип сравнения - ">=". Нас интересует время, которое больше 7 часов, но поскольку целая часть часа от времени 7:05, например, равна 7, то мы также должны указать, что время должно быть не только больше 7, но и еще быть равным. Поэтому используем тип сравнения больше или равно(>=).


Main11.png


Компонент "Текущий час>=20". В случае если рабочий день начался, этот компонент определяет конечные часы рабочего дня.

  • Аргумент 1 - функция "Текущий час"
  • Аргумент 2 - число "20", целая часть часа, когда офис закончит работу.
  • Тип сравнения - ">=".


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

  • Режим: Файл полностью
  • Файл: выбран файл "ваш вызов не может быть обслужен.wav"

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

  • Режим - Файл полностью
  • Файл - выбран файл "Добрый день.wav"


Main12.png


Блок: Распределение звонка на внутренние номера

Компонент "Ввод добавочного номера". Позволяет клиенту ввести внутренний номер сотрудника для соединения.

  • Файл - выбран аудиофайл "введите номер или дождитесь.wav"
  • Переменная - переменная "номер" (строковая), в которую будем записывать то, что будет набирать позвонивший к нам клиент.
  • Макс.время, с - 5. Это время, которое будет дано клиенту на набор указанного числа символов.
  • Количество символов - 3. Именно столько символов, будет позволено набрать клиенту. Количество должно соответствовать длине внутренних номеров компании.


Main13.png


Компонент "Проверяем статус введенного номера". Если абонент ввел символы (ветка Переход от предыдущего компонента), проверяем свободен ли вызываемый номер.

  • Действие — Определить
  • Тип объекта — Номер
  • Номер - переменная "номер", в которой содержатся введенные символы клиента
  • Функция — Наличие свободных абонентов
  • Значение в переменную — переменная "наличие свободных" (строковая). В переменной будет сохранен результат функции.


Main4.png


Компонент "Номер занят?". Анализирует полученный результат и определяет свободен ли номер.

  • Аргумент 1 - переменная "наличие свободных", которую использовали для сохранения статуса номера.
  • Аргумент 2 - указываем числовую константу 0. Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается, когда у номера нет свободных абонентов, т.е. Телефон занят»
  • Тип сравнения - "=".
  • Переход, если правда - означает, что телефон занят. В этом случае ведем клиента на компонент "Запрос действия 1", где предложим абоненту несколько вариантов действий.
  • Переход,если ложь — на непосредственное соединение с требуемым пользователем.


Теперь рассмотрим второе голосовое меню. В данное голосовое меню абонент попадает, если изначально занят требуемый ему внутренний номер. Здесь будет предложено:

  • Нажать 1, если клиент хочет встать в очередь к изначальному номеру
  • Нажать 2, если клиент хочет ввести другой добавочный номер
  • Нажать 3, если клиент хочет переключиться на секретаря

Голосовое меню строиться с помощью 2-х компонентов — "Запрос действия 1" и "Меню выбора действия". Рассмотрим компоненты подробнее.

Компонент "Запрос действия 1". Предлагает клиенту выбрать действие, которое он хочет выполнить.

  • Файл - выбираем файл "телефон занят.wav", заранее подготовленную запись с предложением действий.
  • Переменная - переменная "действие" (строковая). Таким образом мы получаем все введенные клиентом DTMF-символы.
  • Очистить буфер — Да.
  • Макс. время, с — 5 секунд.
  • Количество символов — 1.
  • Переход - переводим на компонент меню сравнения.
  • Переход таймаут — оставляем пустым,либо переводим на обрыв связи. Данную ситуацию тоже можно обработать каким-либо способом на ваше усмотрение.
Main5.png


Далее рассмотрим компонент "Меню выбора действия".

  • Аргумент - указываем переменную "действие".
  • Значения:
1 — компонент "Переключение на сотрудника". Переход на переключение на номер с очередью ожидания.
2 — Компонент "Ввод добавочного номера". Переключение на номер, в котором осуществляем соединение с секретарем.
3 — компонент "На секретаря". На воспроизведение с преднабором, где предлагается ввести добавочный номер.
  • Переход,прочее — оставляем пустым. Таким образом, если клиент введет символ отличный от 1,2 или 3, то его звонок прервется.
Main6.png


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

  • Назначение — внутрь.
  • Номер — используем переменную номер, в которую мы сохраняли желаемый клиентом внутренний номер.
  • Очередь ожидания - Да.
  • Переход - на компонент «Стоп». Обратите внимание, что используется компонент Стоп, а не Разрыв связи.
  • Остальные настройки оставляем по умолчанию.
Main7.png


Далее рассмотрим Переключение на номер, в котором будем производить вызов секретаря.

  • Направление — внутрь.
  • Номер — указываем переменную с номером секретаря.
  • Тип вызова — обычный.
  • Очередь ожидания — да.
  • Время ожидания ответа — 40(время которое будет звонить телефон у пользователя)
  • Переход — стоп. Обратите внимание, что используется компонент Стоп, а не Разрыв связи.
  • Остальные ветки переход - отправляем на компонент «Присвоение».

С помощью компонента «Присвоение» переменной «номер» присваиваем значение строковой константы, равной номеру секретаря.

Далее осуществляем переход к заключительной категории — окончанию обработки.


Блок: Окончание обработки

В данном разделе рассмотрим каким образом будет завершаться коммутация с клиентом,если не один пользователь не ответил или если звонок пришел в не рабочее время.

Вернемся к первому разделу. После воспроизведения клиенту сообщения о том, что офис сейчас не работает, осуществляем переход на компонент «Запуск сценария». Рассмотрим свойства данного компонента. Тип запуска — вложенный. Сценарий — предполагается использование сценария голосовой почты, который идет в дистрибутиве комплекса Oktell. Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря. Возврат управления — нет.

Main8.png


Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту, а затем предложит оставить голосовое сообщение.

Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время, но ни секретарь, ни другой сотрудник не ответили на вызов. Осуществляем переход на компонент «Воспроизведение с преднабором»

  • Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте, если вы хотите оставить голосовое сообщение нажмите 1».
  • Переменная — выбираем уже созданную переменную действие.
  • Очистить буфер — да
  • Максимальное время — 5 секунд.
  • Количество символов — 1.
  • Переход — компонент «Сравнение»
  • Переход, таймаут - компонент «Воспроизведение».
Main9.png


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

Main10.png


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