Сценарий входящей маршрутизации — различия между версиями
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[ | + | [[Установка_Oktell|Наверх]] |
IVR сценарий входящей маршрутизации(Главный). | IVR сценарий входящей маршрутизации(Главный). | ||
− | Главный или сценарий | + | Главный или сценарий входящей маршрутизации служит в системе для обработки всех входящих звонков. |
Рассмотрим простой пример. | Рассмотрим простой пример. | ||
Строка 18: | Строка 18: | ||
*'''Определение времени и приветствие.''' | *'''Определение времени и приветствие.''' | ||
− | После начала коммутации с помощью компонента | + | После начала коммутации с помощью компонента «Поднять трубку», произведем анализ времени поступившего вызова и направим коммутации на соответствующее приветствие. |
− | Переходим к компоненту «Сравнение», в качестве аргумента 1 указываем значение функции | + | Переходим к компоненту «Сравнение», в качестве аргумента 1 указываем значение функции «Текущий час», которая возвращает целые числовые значения. |
[[Файл:Main11.png|center]] | [[Файл:Main11.png|center]] | ||
− | В качестве аргумента 2 указываем числовое | + | В качестве аргумента 2 указываем числовое константное значение равное целой части часа, с которого планируется начало работы в офисе. В нашем случае предположим, что офис начинает работу с 7:00, поэтому выставляем 7. |
Далее переходим к типу сравнения. | Далее переходим к типу сравнения. | ||
− | Нас интересует время,которое больше 7 часов,но поскольку целая часть часа от времени | + | Нас интересует время, которое больше 7 часов, но поскольку целая часть часа от времени 7:05, например, равна 7, то мы также должны указать, что время должно быть не только больше 7, но и еще быть равным. Поэтому используем тип сравнения больше или равно(>=). |
− | 7 | + | |
− | Следующим шагом снова воспользуемся компонентом | + | Следующим шагом снова воспользуемся компонентом «Сравнение», в котором мы определим конечные часы работы офиса. Настраиваем по аналогии с предыдущем компонентом, только теперь указываем целую часть часа, когда офис закончит работу. |
− | В нашем случае это 20 | + | В нашем случае это 20:00, соответственно выставляем 20. |
− | Теперь | + | |
− | В первом случае если текущее время удовлетворяет | + | Теперь рассмотрим переходы у обоих компонентов сравнение. |
− | Во втором сравнении если выражение удовлетворяет | + | В первом случае, если текущее время удовлетворяет условию, переходим на второе сравнение, если нет, то это означает что офис не работает, соответственно ставим компонент воспроизведение, где в качестве аудиофайла используем ранее записанное сообщение о том, что офис в текущее время не работает. |
− | Если же компонент | + | Во втором сравнении, если выражение удовлетворяет условию, обрабатываем «Переход, если правда», и переводим коммутацию на компонент воспроизведение, с заранее записанным приветствием. |
+ | Если же компонент выполняет переход по отрицательной ветке, т.е. «Переход, если ложь» - переводим коммутацию на воспроизведение с сообщением о нерабочем времени. | ||
[[Файл:Main12.png|center]] | [[Файл:Main12.png|center]] | ||
− | + | *'''Распределение звонка на внутренние номера''' | |
Возьмем компонент «Воспроизведение с преднабором». | Возьмем компонент «Воспроизведение с преднабором». | ||
+ | |||
Рассмотрим свойства компонента подробнее. | Рассмотрим свойства компонента подробнее. | ||
− | В качестве | + | |
+ | В качестве аудиофайла используем заранее подготовленную запись сообщения: «Введите добавочный номер сотрудника или дождитесь ответа секретаря». | ||
+ | |||
Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент. | Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент. | ||
− | Указываем максимальное время,которое будет дано клиенту.(Для набора | + | Указываем максимальное время, которое будет дано клиенту.(Для набора 3-х символов будет вполне достаточно 5 секунд). |
− | + | Также указываем количество символов, которое будет позволено набрать клиенту. Количество символов должно соответствовать длине внутренних номеров компании. | |
В нашем случае указываем 3. | В нашем случае указываем 3. | ||
− | Ветку «Переход» переводим на компонент | + | Ветку «Переход» переводим на компонент «Статус объекта», а ветку «Переход, таймаут» переводим на компонент «Переключение на номер», с помощью которого будем осуществлять переключение на секретаря. |
[[Файл:Main13.png|center]] | [[Файл:Main13.png|center]] | ||
− | Далее с помощью компонента | + | Далее с помощью компонента «Статус объекта» проверяем свободен ли вызываемый номер. |
− | Действие выставляем — | + | *Действие выставляем — Определить. |
− | Тип объекта — Номер. | + | *Тип объекта — Номер. |
− | Далее указываем номер который, будем проверять, для этого выбираем переменную «номер». | + | *Далее указываем номер который, будем проверять, для этого выбираем переменную «номер». |
− | Функция — | + | *Функция — Наличие свободных абонентов. |
− | Значение в переменную — указываем переменную в которую сохраним результат функции. (Создадим переменную «статус»). | + | *Значение в переменную — указываем переменную, в которую сохраним результат функции. (Создадим переменную «статус»). |
− | Переход - на следующий компонент | + | *Переход - на следующий компонент «Сравнение». |
[[Файл:Main4.png|center]] | [[Файл:Main4.png|center]] | ||
− | В следующем компоненте | + | В следующем компоненте «Сравнение» мы проведем анализ результата полученного в статусе объекта. |
− | Аргумент 1 - переменная,которую использовали для сохранения статуса номера. | + | *Аргумент 1 - переменная, которую использовали для сохранения статуса номера. |
− | Аргумент 2 - указываем числовую константу 0. | + | *Аргумент 2 - указываем числовую константу 0. |
− | «Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается,когда у номера нет свободных абонентов,т.е. Телефон занят» | + | «Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается, когда у номера нет свободных абонентов, т.е. Телефон занят» |
− | Тип сравнения — равенство. | + | *Тип сравнения — равенство. |
− | Далее обрабатываем переходы. | + | *Далее обрабатываем переходы. |
− | Переход, если правда - ведем на компонент «Воспроизведение с преднабором», где предложим абоненту несколько вариантов действий. | + | *Переход, если правда - ведем на компонент «Воспроизведение с преднабором», где предложим абоненту несколько вариантов действий. |
− | Переход,если ложь — на непосредственное соединение с требуемым пользователем. | + | *Переход,если ложь — на непосредственное соединение с требуемым пользователем. |
Рассмотрим второе голосовое меню. | Рассмотрим второе голосовое меню. | ||
− | В данное голосовое меню абонент попадает,если изначально требуемый ему внутренний номер занят. | + | В данное голосовое меню абонент попадает, если изначально требуемый ему внутренний номер занят. |
− | Здесь будет предложено нажать 1,если клиент хочет встать в очередь к изначальному номеру. | + | Здесь будет предложено нажать 1, если клиент хочет встать в очередь к изначальному номеру. |
Нажать 2, если клиент хочет ввести другой добавочный номер. | Нажать 2, если клиент хочет ввести другой добавочный номер. | ||
− | 3,если клиент хочет переключиться на секретаря. | + | 3, если клиент хочет переключиться на секретаря. |
− | Голосовое меню строиться с помощью | + | Голосовое меню строиться с помощью 2-х компонентов — «Воспроизведение с преднабором» и «Меню сравнения». |
− | Рассмотрим | + | Рассмотрим «Воспроизведение с преднабором» |
− | + | *Аудио файл - используем заранее подготовленную запись с предложением действий. | |
− | Полученные от клиента DTMF размещаем в новой | + | *Полученные от клиента DTMF размещаем в новой переменной «действие». |
− | Очищать буфер выставляем — | + | *Очищать буфер выставляем — Да. |
− | Максимальное время — 5 секунд. | + | *Максимальное время — 5 секунд. |
− | Количество символов 1. | + | *Количество символов 1. |
− | Переход - переводим на компонент меню сравнения. | + | *Переход - переводим на компонент меню сравнения. |
− | Переход таймаут — оставляем пустым,либо переводим на обрыв связи. | + | *Переход таймаут — оставляем пустым,либо переводим на обрыв связи. |
[[Файл:Main5.png|center]] | [[Файл:Main5.png|center]] | ||
− | Далее рассмотрим компонент | + | Далее рассмотрим компонент «Меню сравнения». |
− | Аргумент - указываем переменную | + | *Аргумент - указываем переменную «действие». |
− | В качестве значений: | + | *В качестве значений: |
− | 1 — Переход на переключение на номер | + | 1 — Переход на переключение на номер с очередью ожидания. |
− | 2 — на воспроизведение с преднабором,где предлагается ввести добавочный номер. | + | 2 — на воспроизведение с преднабором, где предлагается ввести добавочный номер. |
− | 3 — переключение на номер,в котором осуществляем соединение с секретарем. | + | 3 — переключение на номер, в котором осуществляем соединение с секретарем. |
− | Переход,прочее — оставляем пустым. | + | *Переход,прочее — оставляем пустым. |
[[Файл:Main6.png|center]] | [[Файл:Main6.png|center]] | ||
− | Подробнее рассмотрим компонент переключение на номер в | + | Подробнее рассмотрим компонент переключение на номер, в котором будем осуществлять переключение на указанный клиентом внутренний номер. |
− | Назначение — внутрь. | + | *Назначение — внутрь. |
− | Номер — используем переменную номер в которую мы сохраняли желаемый клиентом внутренний номер. | + | *Номер — используем переменную номер, в которую мы сохраняли желаемый клиентом внутренний номер. |
− | Очередь ожидания - | + | *Очередь ожидания - Да. |
− | Переход - на компонент «Стоп» | + | *Переход - на компонент «Стоп». <span style="color:red;"> Обратите внимание, что используется компонент '''Стоп''', а не '''Разрыв связи.''' </span> |
− | Остальные настройки оставляем по умолчанию. | + | *Остальные настройки оставляем по умолчанию. |
[[Файл:Main7.png|center]] | [[Файл:Main7.png|center]] | ||
Строка 112: | Строка 116: | ||
Далее рассмотрим Переключение на номер, в котором будем производить вызов секретаря. | Далее рассмотрим Переключение на номер, в котором будем производить вызов секретаря. | ||
− | Направление — внутрь. | + | *Направление — внутрь. |
− | Номер — указываем переменную с номером секретаря. | + | *Номер — указываем переменную с номером секретаря. |
− | Тип вызова — обычный. | + | *Тип вызова — обычный. |
− | Очередь ожидания — да. | + | *Очередь ожидания — да. |
− | Время ожидания ответа — 40(время которое будет звонить телефон у пользователя) | + | *Время ожидания ответа — 40(время которое будет звонить телефон у пользователя) |
− | Переход — стоп. | + | *Переход — стоп. <span style="color:red;"> Обратите внимание, что используется компонент '''Стоп''', а не '''Разрыв связи.''' </span> |
− | Остальные ветки переход - отправляем на компонент «Присвоение». | + | *Остальные ветки переход - отправляем на компонент «Присвоение». |
− | С помощью компонента | + | С помощью компонента «Присвоение» переменной «номер» присваиваем значение строковой константы, равной номеру секретаря. |
Далее осуществляем переход к заключительной категории — окончанию обработки. | Далее осуществляем переход к заключительной категории — окончанию обработки. | ||
− | + | *'''Окончание обработки.''' | |
В данном разделе рассмотрим каким образом будет завершаться коммутация с клиентом,если не один пользователь не ответил или если звонок пришел в не рабочее время. | В данном разделе рассмотрим каким образом будет завершаться коммутация с клиентом,если не один пользователь не ответил или если звонок пришел в не рабочее время. | ||
Строка 131: | Строка 135: | ||
Рассмотрим свойства данного компонента. | Рассмотрим свойства данного компонента. | ||
Тип запуска — вложенный. | Тип запуска — вложенный. | ||
− | Сценарий — предполагается использование сценария голосовой почты, | + | Сценарий — предполагается использование сценария голосовой почты, который идет в дистрибутиве комплекса Oktell. |
Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря. | Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря. | ||
Возврат управления — нет. | Возврат управления — нет. | ||
Строка 138: | Строка 142: | ||
− | Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту,а затем предложит оставить голосовое сообщение. | + | Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту, а затем предложит оставить голосовое сообщение. |
− | Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время,но ни секретарь, ни другой сотрудник не ответили на вызов. | + | Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время, но ни секретарь, ни другой сотрудник не ответили на вызов. |
Осуществляем переход на компонент «Воспроизведение с преднабором» | Осуществляем переход на компонент «Воспроизведение с преднабором» | ||
− | Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте,если вы хотите оставить голосовое сообщение нажмите 1». | + | *Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте, если вы хотите оставить голосовое сообщение нажмите 1». |
− | Переменная — выбираем уже созданную переменную действие. | + | *Переменная — выбираем уже созданную переменную действие. |
− | Очистить буфер — да | + | *Очистить буфер — да |
− | Максимальное время — 5 секунд. | + | *Максимальное время — 5 секунд. |
− | Количество символов — 1. | + | *Количество символов — 1. |
− | Переход — компонент | + | *Переход — компонент «Сравнение» |
− | Переход,таймаут - | + | *Переход, таймаут - компонент «Воспроизведение». |
[[Файл:Main9.png|center]] | [[Файл:Main9.png|center]] | ||
− | Таким образом если клиент захочет оставить голосовое сообщение,он нажмет 1 и коммутация перейдет на компонент сравнение,где содержимое переменной «Действие» будет сравниваться с константой 1. | + | Таким образом если клиент захочет оставить голосовое сообщение, он нажмет 1 и коммутация перейдет на компонент сравнение, где содержимое переменной «Действие» будет сравниваться с константой 1. |
− | Переход по правде произойдет на компонент «Запуск сценария»,который описан выше, соответственно произойдет переход в сценарий записи голосовой почты. | + | Переход по правде произойдет на компонент «Запуск сценария», который описан выше, соответственно произойдет переход в сценарий записи голосовой почты. |
− | Переход по ветке ложь перейдет на компонент | + | Переход по ветке ложь перейдет на компонент «Воспроизведение», в котором используем заранее подготовленное голосовое сообщение - «Спасибо за звонок», после чего разрываем коммутацию с помощью компонента «Обрыв связи». |
[[Файл:Main10.png|center]] | [[Файл:Main10.png|center]] |
Текущая версия на 09:46, 17 декабря 2013
IVR сценарий входящей маршрутизации(Главный). Главный или сценарий входящей маршрутизации служит в системе для обработки всех входящих звонков.
Рассмотрим простой пример.
Данный сценарий можно разделить на 3 раздела.
1. Определение времени работы офиса и приветствие.
2. Распределение звонка на внутренние номера
3. Окончание обработки.
Рассмотрим все разделы по порядку.
- Определение времени и приветствие.
После начала коммутации с помощью компонента «Поднять трубку», произведем анализ времени поступившего вызова и направим коммутации на соответствующее приветствие. Переходим к компоненту «Сравнение», в качестве аргумента 1 указываем значение функции «Текущий час», которая возвращает целые числовые значения.
В качестве аргумента 2 указываем числовое константное значение равное целой части часа, с которого планируется начало работы в офисе. В нашем случае предположим, что офис начинает работу с 7:00, поэтому выставляем 7.
Далее переходим к типу сравнения.
Нас интересует время, которое больше 7 часов, но поскольку целая часть часа от времени 7:05, например, равна 7, то мы также должны указать, что время должно быть не только больше 7, но и еще быть равным. Поэтому используем тип сравнения больше или равно(>=).
Следующим шагом снова воспользуемся компонентом «Сравнение», в котором мы определим конечные часы работы офиса. Настраиваем по аналогии с предыдущем компонентом, только теперь указываем целую часть часа, когда офис закончит работу. В нашем случае это 20:00, соответственно выставляем 20.
Теперь рассмотрим переходы у обоих компонентов сравнение. В первом случае, если текущее время удовлетворяет условию, переходим на второе сравнение, если нет, то это означает что офис не работает, соответственно ставим компонент воспроизведение, где в качестве аудиофайла используем ранее записанное сообщение о том, что офис в текущее время не работает. Во втором сравнении, если выражение удовлетворяет условию, обрабатываем «Переход, если правда», и переводим коммутацию на компонент воспроизведение, с заранее записанным приветствием. Если же компонент выполняет переход по отрицательной ветке, т.е. «Переход, если ложь» - переводим коммутацию на воспроизведение с сообщением о нерабочем времени.
- Распределение звонка на внутренние номера
Возьмем компонент «Воспроизведение с преднабором».
Рассмотрим свойства компонента подробнее.
В качестве аудиофайла используем заранее подготовленную запись сообщения: «Введите добавочный номер сотрудника или дождитесь ответа секретаря».
Далее указываем переменную(назовем ее номер), в которую будем записывать то, что будет набирать позвонивший к нам клиент. Указываем максимальное время, которое будет дано клиенту.(Для набора 3-х символов будет вполне достаточно 5 секунд). Также указываем количество символов, которое будет позволено набрать клиенту. Количество символов должно соответствовать длине внутренних номеров компании. В нашем случае указываем 3. Ветку «Переход» переводим на компонент «Статус объекта», а ветку «Переход, таймаут» переводим на компонент «Переключение на номер», с помощью которого будем осуществлять переключение на секретаря.
Далее с помощью компонента «Статус объекта» проверяем свободен ли вызываемый номер.
- Действие выставляем — Определить.
- Тип объекта — Номер.
- Далее указываем номер который, будем проверять, для этого выбираем переменную «номер».
- Функция — Наличие свободных абонентов.
- Значение в переменную — указываем переменную, в которую сохраним результат функции. (Создадим переменную «статус»).
- Переход - на следующий компонент «Сравнение».
В следующем компоненте «Сравнение» мы проведем анализ результата полученного в статусе объекта.
- Аргумент 1 - переменная, которую использовали для сохранения статуса номера.
- Аргумент 2 - указываем числовую константу 0.
«Если обратиться к описанию компонентов, можно увидеть, что статус 0 возвращается, когда у номера нет свободных абонентов, т.е. Телефон занят»
- Тип сравнения — равенство.
- Далее обрабатываем переходы.
- Переход, если правда - ведем на компонент «Воспроизведение с преднабором», где предложим абоненту несколько вариантов действий.
- Переход,если ложь — на непосредственное соединение с требуемым пользователем.
Рассмотрим второе голосовое меню. В данное голосовое меню абонент попадает, если изначально требуемый ему внутренний номер занят. Здесь будет предложено нажать 1, если клиент хочет встать в очередь к изначальному номеру. Нажать 2, если клиент хочет ввести другой добавочный номер. 3, если клиент хочет переключиться на секретаря.
Голосовое меню строиться с помощью 2-х компонентов — «Воспроизведение с преднабором» и «Меню сравнения». Рассмотрим «Воспроизведение с преднабором»
- Аудио файл - используем заранее подготовленную запись с предложением действий.
- Полученные от клиента DTMF размещаем в новой переменной «действие».
- Очищать буфер выставляем — Да.
- Максимальное время — 5 секунд.
- Количество символов 1.
- Переход - переводим на компонент меню сравнения.
- Переход таймаут — оставляем пустым,либо переводим на обрыв связи.
Далее рассмотрим компонент «Меню сравнения».
- Аргумент - указываем переменную «действие».
- В качестве значений:
1 — Переход на переключение на номер с очередью ожидания. 2 — на воспроизведение с преднабором, где предлагается ввести добавочный номер. 3 — переключение на номер, в котором осуществляем соединение с секретарем.
- Переход,прочее — оставляем пустым.
Подробнее рассмотрим компонент переключение на номер, в котором будем осуществлять переключение на указанный клиентом внутренний номер.
- Назначение — внутрь.
- Номер — используем переменную номер, в которую мы сохраняли желаемый клиентом внутренний номер.
- Очередь ожидания - Да.
- Переход - на компонент «Стоп». Обратите внимание, что используется компонент Стоп, а не Разрыв связи.
- Остальные настройки оставляем по умолчанию.
Далее рассмотрим Переключение на номер, в котором будем производить вызов секретаря.
- Направление — внутрь.
- Номер — указываем переменную с номером секретаря.
- Тип вызова — обычный.
- Очередь ожидания — да.
- Время ожидания ответа — 40(время которое будет звонить телефон у пользователя)
- Переход — стоп. Обратите внимание, что используется компонент Стоп, а не Разрыв связи.
- Остальные ветки переход - отправляем на компонент «Присвоение».
С помощью компонента «Присвоение» переменной «номер» присваиваем значение строковой константы, равной номеру секретаря.
Далее осуществляем переход к заключительной категории — окончанию обработки.
- Окончание обработки.
В данном разделе рассмотрим каким образом будет завершаться коммутация с клиентом,если не один пользователь не ответил или если звонок пришел в не рабочее время.
Вернемся к первому разделу. После воспроизведения клиенту сообщения о том, что офис сейчас не работает, осуществляем переход на компонент «Запуск сценария». Рассмотрим свойства данного компонента. Тип запуска — вложенный. Сценарий — предполагается использование сценария голосовой почты, который идет в дистрибутиве комплекса Oktell. Параметры запуска — указываем переменную «номер», в которую записали внутренний номер сотрудника,либо номер секретаря. Возврат управления — нет.
Таким образом, если звонок придет вне рабочего времени, система сообщит об этом клиенту, а затем предложит оставить голосовое сообщение.
Вторым этапом рассмотрим ситуацию когда звонок пришел в рабочее время, но ни секретарь, ни другой сотрудник не ответили на вызов. Осуществляем переход на компонент «Воспроизведение с преднабором»
- Файл — выбираем заранее подготовленную запись сообщения с текстом: «К сожалению оператора нет на месте, если вы хотите оставить голосовое сообщение нажмите 1».
- Переменная — выбираем уже созданную переменную действие.
- Очистить буфер — да
- Максимальное время — 5 секунд.
- Количество символов — 1.
- Переход — компонент «Сравнение»
- Переход, таймаут - компонент «Воспроизведение».
Таким образом если клиент захочет оставить голосовое сообщение, он нажмет 1 и коммутация перейдет на компонент сравнение, где содержимое переменной «Действие» будет сравниваться с константой 1.
Переход по правде произойдет на компонент «Запуск сценария», который описан выше, соответственно произойдет переход в сценарий записи голосовой почты.
Переход по ветке ложь перейдет на компонент «Воспроизведение», в котором используем заранее подготовленное голосовое сообщение - «Спасибо за звонок», после чего разрываем коммутацию с помощью компонента «Обрыв связи».