Сценарий входящей маршрутизации — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 2: Строка 2:
  
 
IVR сценарий входящей маршрутизации(Главный).
 
IVR сценарий входящей маршрутизации(Главный).
Главный или сценарий входящий маршрутизации служит в системе для обработки всех входящих звонков.
+
Главный или сценарий входящей маршрутизации служит в системе для обработки всех входящих звонков.
  
 
Рассмотрим простой пример.
 
Рассмотрим простой пример.
Строка 18: Строка 18:
 
*'''Определение времени и приветствие.'''
 
*'''Определение времени и приветствие.'''
 
   
 
   
После начала коммутации с помощью компонента «поднять трубку», произведем анализ времени поступившего вызова и направим коммутации на соответствующее приветствие.
+
После начала коммутации с помощью компонента «Поднять трубку», произведем анализ времени поступившего вызова и направим коммутации на соответствующее приветствие.
Переходим к компоненту «Сравнение», в качестве аргумента 1 указываем значение функции «текущий час»,которая возвращает целые числовые значения.
+
Переходим к компоненту «Сравнение», в качестве аргумента 1 указываем значение функции «Текущий час», которая возвращает целые числовые значения.
  
 
[[Файл:Main11.png|center]]
 
[[Файл:Main11.png|center]]
  
  
В качестве аргумента 2 указываем числовое,константное значение равное целой части часа,с которого планируется начало работы в офисе, в нашем случае предположим,что офис будет начинать работу с 7.00, поэтому выставляем 7.
+
В качестве аргумента 2 указываем числовое константное значение равное целой части часа, с которого планируется начало работы в офисе. В нашем случае предположим, что офис начинает работу с 7:00, поэтому выставляем 7.
 
Далее переходим к типу сравнения.
 
Далее переходим к типу сравнения.
Нас интересует время,которое больше 7 часов,но поскольку целая часть часа от времени  
+
Нас интересует время, которое больше 7 часов, но поскольку целая часть часа от времени 7:05, например, равна 7, то мы также должны указать, что время должно быть не только больше 7, но и еще быть равным. Поэтому используем тип сравнения больше или равно(>=).
7.05,например, равна 7, то мы также должны указать,что время должно быть не только больше 7,но и еще быть равным. Поэтому используем тип сравнения больше или равно(>=).
+
  
Следующим шагом снова воспользуемся компонентом «сравнение», в котором мы определим конечные часы работы офиса. Настраиваем по аналогии с предыдущем компонентом,только теперь указываем целую часть часа, когда офис закончит работу.
+
Следующим шагом снова воспользуемся компонентом «Сравнение», в котором мы определим конечные часы работы офиса. Настраиваем по аналогии с предыдущем компонентом, только теперь указываем целую часть часа, когда офис закончит работу.
В нашем случае это 20.00.соответственно выставляем 20.
+
В нашем случае это 20:00, соответственно выставляем 20.
  
Теперь рассмотри переходы у обоих компонентов сравнение.
+
Теперь рассмотрим переходы у обоих компонентов сравнение.
В первом случае если текущее время удовлетворяет равенство переходим на второе сравнение, если нет,то это означает что офис не работает, соответственно ставим компонент воспроизведение, где в качестве аудио файла используем ранее записанное сообщение о том, что офис в текущее время не работает.
+
В первом случае, если текущее время удовлетворяет условию, переходим на второе сравнение, если нет, то это означает что офис не работает, соответственно ставим компонент воспроизведение, где в качестве аудиофайла используем ранее записанное сообщение о том, что офис в текущее время не работает.
Во втором сравнении если выражение удовлетворяет равенство обрабатываем «Переход,если правда», и переводим коммутацию на компонент воспроизведение, с заранее записанным приветствием.
+
Во втором сравнении, если выражение удовлетворяет условию, обрабатываем «Переход, если правда», и переводим коммутацию на компонент воспроизведение, с заранее записанным приветствием.
Если же компонент выполняет переход по отрицательной ветке, т.е. «Переход,если ложь» - переводим коммутацию на воспроизведение с сообщением о не рабочем времени.
+
Если же компонент выполняет переход по отрицательной ветке, т.е. «Переход, если ложь» - переводим коммутацию на воспроизведение с сообщением о нерабочем времени.
 
   
 
   
 
[[Файл:Main12.png|center]]
 
[[Файл:Main12.png|center]]
Строка 45: Строка 44:
 
Рассмотрим свойства компонента подробнее.
 
Рассмотрим свойства компонента подробнее.
  
В качестве аудио файла используем заранее подготовленную запись сообщения: «Введите добавочный номер сотрудника или дождитесь ответа секретаря».
+
В качестве аудиофайла используем заранее подготовленную запись сообщения: «Введите добавочный номер сотрудника или дождитесь ответа секретаря».
  
 
Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент.
 
Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент.
Указываем максимальное время,которое будет дано клиенту.(Для набора символов будет вполне достаточно 5 секунд).
+
Указываем максимальное время, которое будет дано клиенту.(Для набора 3-х символов будет вполне достаточно 5 секунд).
Так же указываем количество символов,которое будет позволено набрать клиенту. Количество символов должно соответствовать длине внутренних номеров компании.
+
Также указываем количество символов, которое будет позволено набрать клиенту. Количество символов должно соответствовать длине внутренних номеров компании.
 
В нашем случае указываем 3.
 
В нашем случае указываем 3.
Ветку «Переход» переводим на компонент «статус объекта»,а ветку «переход,таймаут» переводим на компонент «переключение на номер», с помощью которого будем осуществлять переключение на секретаря.
+
Ветку «Переход» переводим на компонент «Статус объекта», а ветку «Переход, таймаут» переводим на компонент «Переключение на номер», с помощью которого будем осуществлять переключение на секретаря.
  
 
[[Файл:Main13.png|center]]
 
[[Файл:Main13.png|center]]
  
  
Далее с помощью компонента «статус объекта» проверяем свободен ли вызываемый номер.
+
Далее с помощью компонента «Статус объекта» проверяем свободен ли вызываемый номер.
*Действие выставляем — определить.
+
*Действие выставляем — Определить.
 
*Тип объекта — Номер.  
 
*Тип объекта — Номер.  
 
*Далее указываем номер который, будем проверять, для этого выбираем переменную «номер».
 
*Далее указываем номер который, будем проверять, для этого выбираем переменную «номер».
*Функция — наличие свободных абонентов.
+
*Функция — Наличие свободных абонентов.
*Значение в переменную — указываем переменную в которую сохраним результат функции. (Создадим переменную «статус»).
+
*Значение в переменную — указываем переменную, в которую сохраним результат функции. (Создадим переменную «статус»).
*Переход -  на следующий компонент «сравнение».
+
*Переход -  на следующий компонент «Сравнение».
 
[[Файл:Main4.png|center]]
 
[[Файл:Main4.png|center]]
  
  
В следующем компоненте «сравнение» мы проведем анализ результата полученного в статусе объекта.
+
В следующем компоненте «Сравнение» мы проведем анализ результата полученного в статусе объекта.
*Аргумент 1 -  переменная,которую использовали для сохранения статуса номера.
+
*Аргумент 1 -  переменная, которую использовали для сохранения статуса номера.
 
*Аргумент 2 -  указываем числовую константу 0.
 
*Аргумент 2 -  указываем числовую константу 0.
«Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается,когда у номера нет свободных абонентов,т.е. Телефон занят»
+
«Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается, когда у номера нет свободных абонентов, т.е. Телефон занят»
 
*Тип сравнения — равенство.
 
*Тип сравнения — равенство.
 
*Далее обрабатываем переходы.
 
*Далее обрабатываем переходы.
Строка 76: Строка 75:
  
 
Рассмотрим второе голосовое меню.
 
Рассмотрим второе голосовое меню.
В данное голосовое меню абонент попадает,если изначально требуемый ему внутренний номер занят.  
+
В данное голосовое меню абонент попадает, если изначально требуемый ему внутренний номер занят.  
Здесь будет предложено нажать 1,если клиент хочет встать в очередь к изначальному номеру.
+
Здесь будет предложено нажать 1, если клиент хочет встать в очередь к изначальному номеру.
 
Нажать 2, если клиент хочет ввести другой добавочный номер.
 
Нажать 2, если клиент хочет ввести другой добавочный номер.
3,если клиент хочет переключиться на секретаря.
+
3, если клиент хочет переключиться на секретаря.
  
Голосовое меню строиться с помощью компонентов — «воспроизведение с преднабором» и «меню сравнения».
+
Голосовое меню строиться с помощью 2-х компонентов — «Воспроизведение с преднабором» и «Меню сравнения».
Рассмотрим «воспроизведение с преднабором»  
+
Рассмотрим «Воспроизведение с преднабором»  
 
*Аудио файл -  используем заранее подготовленную запись с предложением действий.
 
*Аудио файл -  используем заранее подготовленную запись с предложением действий.
*Полученные от клиента DTMF размещаем в новой перемнной «действие».
+
*Полученные от клиента DTMF размещаем в новой переменной «действие».
*Очищать буфер выставляем — ДА.
+
*Очищать буфер выставляем — Да.
 
*Максимальное время — 5 секунд.
 
*Максимальное время — 5 секунд.
 
*Количество символов 1.
 
*Количество символов 1.
Строка 94: Строка 93:
  
  
Далее рассмотрим компонент меню сравнения.
+
Далее рассмотрим компонент «Меню сравнения».
*Аргумент - указываем переменную действие.
+
*Аргумент - указываем переменную «действие».
 
*В качестве значений:
 
*В качестве значений:
  1 — Переход на переключение на номер,с очередью ожидания.
+
  1 — Переход на переключение на номер с очередью ожидания.
  2 — на воспроизведение с преднабором,где предлагается ввести добавочный номер.
+
  2 — на воспроизведение с преднабором, где предлагается ввести добавочный номер.
  3 — переключение на номер,в котором осуществляем соединение с секретарем.
+
  3 — переключение на номер, в котором осуществляем соединение с секретарем.
 
*Переход,прочее — оставляем пустым.
 
*Переход,прочее — оставляем пустым.
  
Строка 105: Строка 104:
  
  
Подробнее рассмотрим компонент переключение на номер в котором будем осуществлять переключение на указанный клиентом внутренний номер.
+
Подробнее рассмотрим компонент переключение на номер, в котором будем осуществлять переключение на указанный клиентом внутренний номер.
  
 
*Назначение — внутрь.
 
*Назначение — внутрь.
*Номер — используем переменную номер в которую мы сохраняли желаемый клиентом внутренний номер.
+
*Номер — используем переменную номер, в которую мы сохраняли желаемый клиентом внутренний номер.
*Очередь ожидания -  да.
+
*Очередь ожидания -  Да.
 
*Переход  - на компонент «Стоп»
 
*Переход  - на компонент «Стоп»
 
*Остальные настройки оставляем по умолчанию.
 
*Остальные настройки оставляем по умолчанию.
Строка 125: Строка 124:
 
*Остальные ветки переход -  отправляем на компонент «Присвоение».
 
*Остальные ветки переход -  отправляем на компонент «Присвоение».
  
С помощью компонента «присвоение»  переменной «номер» присваиваем значение строковой константы равной номеру секретаря.
+
С помощью компонента «Присвоение» переменной «номер» присваиваем значение строковой константы, равной номеру секретаря.
  
 
Далее осуществляем переход к заключительной категории — окончанию обработки.
 
Далее осуществляем переход к заключительной категории — окончанию обработки.
Строка 136: Строка 135:
 
Рассмотрим свойства данного компонента.
 
Рассмотрим свойства данного компонента.
 
Тип запуска — вложенный.
 
Тип запуска — вложенный.
Сценарий — предполагается использование сценария голосовой почты,которые идет в дистрибутиве комплекса Oktell.
+
Сценарий — предполагается использование сценария голосовой почты, который идет в дистрибутиве комплекса Oktell.
 
Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря.
 
Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря.
 
Возврат управления — нет.
 
Возврат управления — нет.
Строка 143: Строка 142:
  
  
Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту,а затем предложит оставить голосовое сообщение.
+
Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту, а затем предложит оставить голосовое сообщение.
  
Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время,но ни секретарь, ни другой сотрудник не ответили на вызов.
+
Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время, но ни секретарь, ни другой сотрудник не ответили на вызов.
 
Осуществляем переход на компонент «Воспроизведение с преднабором»
 
Осуществляем переход на компонент «Воспроизведение с преднабором»
*Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте,если вы хотите оставить голосовое сообщение нажмите 1».
+
*Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте, если вы хотите оставить голосовое сообщение нажмите 1».
 
*Переменная — выбираем уже созданную переменную действие.
 
*Переменная — выбираем уже созданную переменную действие.
 
*Очистить буфер — да
 
*Очистить буфер — да
 
*Максимальное время — 5 секунд.
 
*Максимальное время — 5 секунд.
 
*Количество символов — 1.
 
*Количество символов — 1.
*Переход — компонент «сравнение»
+
*Переход — компонент «Сравнение»
*Переход,таймаут - «компонент воспроизведение».
+
*Переход, таймаут - компонент «Воспроизведение».
 
   
 
   
 
[[Файл:Main9.png|center]]
 
[[Файл:Main9.png|center]]
  
  
Таким образом если клиент захочет оставить голосовое сообщение,он нажмет 1 и коммутация перейдет на компонент сравнение,где содержимое переменной «Действие» будет сравниваться с константой 1.
+
Таким образом если клиент захочет оставить голосовое сообщение, он нажмет 1 и коммутация перейдет на компонент сравнение, где содержимое переменной «Действие» будет сравниваться с константой 1.
Переход по правде произойдет на компонент «Запуск сценария»,который описан выше, соответственно произойдет переход в сценарий записи голосовой почты.
+
Переход по правде произойдет на компонент «Запуск сценария», который описан выше, соответственно произойдет переход в сценарий записи голосовой почты.
Переход по ветке ложь перейдет на компонент «воспроизведение»,в котором используем заранее подготовленное голосовое сообщение - «Спасибо за звонок», после чего разрываем коммутацию с помощью компонента «Обрыв связи».
+
Переход по ветке ложь перейдет на компонент «Воспроизведение», в котором используем заранее подготовленное голосовое сообщение - «Спасибо за звонок», после чего разрываем коммутацию с помощью компонента «Обрыв связи».
  
 
[[Файл:Main10.png|center]]
 
[[Файл:Main10.png|center]]

Версия 10:17, 30 декабря 2012

Наверх

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

Рассмотрим простой пример.

Main1.png


Данный сценарий можно разделить на 3 раздела. 1. Определение времени работы офиса и приветствие. 2. Распределение звонка на внутренние номера 3. Окончание обработки.

Рассмотрим все разделы по порядку.

  • Определение времени и приветствие.

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

Main11.png


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

Следующим шагом снова воспользуемся компонентом «Сравнение», в котором мы определим конечные часы работы офиса. Настраиваем по аналогии с предыдущем компонентом, только теперь указываем целую часть часа, когда офис закончит работу. В нашем случае это 20:00, соответственно выставляем 20.

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

Main12.png


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

Возьмем компонент «Воспроизведение с преднабором».

Рассмотрим свойства компонента подробнее.

В качестве аудиофайла используем заранее подготовленную запись сообщения: «Введите добавочный номер сотрудника или дождитесь ответа секретаря».

Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент. Указываем максимальное время, которое будет дано клиенту.(Для набора 3-х символов будет вполне достаточно 5 секунд). Также указываем количество символов, которое будет позволено набрать клиенту. Количество символов должно соответствовать длине внутренних номеров компании. В нашем случае указываем 3. Ветку «Переход» переводим на компонент «Статус объекта», а ветку «Переход, таймаут» переводим на компонент «Переключение на номер», с помощью которого будем осуществлять переключение на секретаря.

Main13.png


Далее с помощью компонента «Статус объекта» проверяем свободен ли вызываемый номер.

  • Действие выставляем — Определить.
  • Тип объекта — Номер.
  • Далее указываем номер который, будем проверять, для этого выбираем переменную «номер».
  • Функция — Наличие свободных абонентов.
  • Значение в переменную — указываем переменную, в которую сохраним результат функции. (Создадим переменную «статус»).
  • Переход - на следующий компонент «Сравнение».
Main4.png


В следующем компоненте «Сравнение» мы проведем анализ результата полученного в статусе объекта.

  • Аргумент 1 - переменная, которую использовали для сохранения статуса номера.
  • Аргумент 2 - указываем числовую константу 0.

«Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается, когда у номера нет свободных абонентов, т.е. Телефон занят»

  • Тип сравнения — равенство.
  • Далее обрабатываем переходы.
  • Переход, если правда - ведем на компонент «Воспроизведение с преднабором», где предложим абоненту несколько вариантов действий.
  • Переход,если ложь — на непосредственное соединение с требуемым пользователем.

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

Голосовое меню строиться с помощью 2-х компонентов — «Воспроизведение с преднабором» и «Меню сравнения». Рассмотрим «Воспроизведение с преднабором»

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


Далее рассмотрим компонент «Меню сравнения».

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


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

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


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

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

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

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

  • Окончание обработки.

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

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

Main8.png


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

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

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


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

Main10.png