Урок 27 IVR сценарий вместо отбоя внешней линии — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 13 промежуточных версии этого же участника)
Строка 10: Строка 10:
 
==Введение==
 
==Введение==
  
'''Сценарий вместо отбоя''' - это системный IVR сценарий, который запускается исключительно на внешней линии после того, как оппозитная сторона положит трубку. В обычной ситуации, если сценарий не назначен, клиент на внешней линии услышал бы короткие гудки. Назначенный IVR сценарий вместо отбоя позволяет воспроизвести клиенту дополнительную информацию, попросить оценить разговор с оператором и даже перевести на другого пользователя.  
+
'''Сценарий вместо отбоя внешней линии''' - это системный IVR сценарий, который запускается исключительно на внешней линии после того, как оппозитная сторона положит трубку. В обычной ситуации, если сценарий был бы не назначен, клиент на внешней линии услышал бы короткие гудки. Назначенный IVR сценарий вместо отбоя позволяет воспроизвести клиенту дополнительную информацию, попросить оценить разговор с оператором и даже перевести на другого пользователя.  
  
Сценарий вместо отбоя также можно запустить на внешней линии, если осуществить на линии "''мягкий сброс''" с помощью компонента '''Статус объекта'''. Иногда это требуется для вывода абонента из очереди ожидания и его особой обработки.  
+
Сценарий вместо отбоя также можно запустить на внешней линии, если выполнить на ней функцию "''мягкий сброс''" с помощью компонента '''Статус объекта'''. В таком случае текущий IVR сценарий на линии абонента будет прерван и управление передастся сценарию вместо отбоя. Иногда это требуется для вывода абонента из очереди ожидания и его особой обработки.
 +
 
 +
 
 +
[[Файл:Урок27 008.png|center]]
 +
 
 +
 
 +
Следует отметить, что сценарий запустится только если последней коммутацией был разговор с оператором и именно оператор первым положил трубку. Сценарий вместо отбоя не запустится, например, после окончания главного IVR сценария или после неудачного перевода звонка, потому как переключение тоже происходило в рамках IVR сценария. Запуск не произойдет также после окончания конференции.
  
  
 
==Пример сценария вместо отбоя==  
 
==Пример сценария вместо отбоя==  
  
В качестве примера рассмотрим задачу оценки ответа оператора после его разговора с клиентом. После того, как оператор положит трубку, необходимо попросить клиента оценить работу оператора по пятибалльной шкале (от 1 до 5) и записать значение в базу данных. В случае, если клиент оценил качество разговора на 1 или 2 балла, соединить с отделом качества.  
+
В качестве примера рассмотрим задачу оценки ответа оператора после его разговора с клиентом.  
 +
 
 +
'''Задача:''' После того, как оператор положит трубку, необходимо попросить клиента оценить работу оператора по пятибалльной шкале (от 1 до 5) и записать значение в базу данных. В случае, если клиент оценил качество разговора на 1 или 2 балла, соединить с отделом качества.  
  
  
Строка 27: Строка 35:
 
* '''calldate''' — дата звонка. Тип Nvarchar (auto)
 
* '''calldate''' — дата звонка. Тип Nvarchar (auto)
 
* '''rating''' — оценка разговора. Тип Nvarchar (auto)
 
* '''rating''' — оценка разговора. Тип Nvarchar (auto)
 +
 +
 +
<center>[[Файл:Урок27 000.png|500px]][[Файл:Урок27 001.png|500px]]</center>
 +
  
 
Если у вас нет лицензии Call-центра, создайте таблицу через SQL Server Management Studio. Для этого выполните запрос:
 
Если у вас нет лицензии Call-центра, создайте таблицу через SQL Server Management Studio. Для этого выполните запрос:
Строка 52: Строка 64:
  
 
Сценарий выглядит следующим образом:
 
Сценарий выглядит следующим образом:
 +
 +
 +
[[Файл:Урок27 002.png|center]]
  
  
 
Компонент "'''CallerId'''". Присваивает переменной '''phone''' (строковая) значение функции "''Номер абонента (CallerId)''".  
 
Компонент "'''CallerId'''". Присваивает переменной '''phone''' (строковая) значение функции "''Номер абонента (CallerId)''".  
 +
 +
Следует отметить, что функция вернет CallerId только в случае входящего звонка. Если же изначально клиенту звонил пользователь Oktell, то СallerId следует передавать как сессионную переменную, определяя ее в соответствующих сценариях, например сценарии исходящей маршрутизации.
  
  
Строка 70: Строка 87:
 
* Аргумент 2 - пустое поле
 
* Аргумент 2 - пустое поле
 
* Тип сравнения - "="
 
* Тип сравнения - "="
* Переход, если правда - если пользователь ничего не ввел переходим на компонент "Обрыв связи".
+
* Переход, если правда - если пользователь ничего не ввел переходим на компонент "Обрыв связи 1".
 
* Переход, если ложь - если пользователь ввел один из предустановленных символов, переходим на компонент "Ввод данных в БД"
 
* Переход, если ложь - если пользователь ввел один из предустановленных символов, переходим на компонент "Ввод данных в БД"
 +
 +
 +
[[Файл:Урок27 003.png|center]]
  
  
Строка 81: Строка 101:
 
*@phone - переменная phone  
 
*@phone - переменная phone  
 
*@rating - переменная rating
 
*@rating - переменная rating
 +
 +
 +
[[Файл:Урок27 004.png|center]]
  
  
Строка 89: Строка 112:
  
  
Компонент "'''Спасибо за ваш звонок'''". Благодарит клиента за звонок
+
Компонент "'''Спасибо за ваш звонок'''". Благодарит клиента за звонок и завершает соединение.
 
* Режим - файл полностью
 
* Режим - файл полностью
 
* Файл - выбран заранее подготовленный файл "''Спасибо за ваш звонок''".  
 
* Файл - выбран заранее подготовленный файл "''Спасибо за ваш звонок''".  
 +
 +
 +
[[Файл:Урок27 005.png|center]]
  
  
Строка 105: Строка 131:
  
  
 +
[[Файл:Урок27 006.png|center]]
  
В компоненте "воспроизведение с преднабором" указываем файл, в котором говорится "оцените нашего сотрудника от 1 до 5", а также указываем переменную, в которую будет сохраняться оценка. Количество символов указываем 1.
 
  
[[Файл:вместоотбоя2.PNG | center]]
 
  
Присвоим переменной '''phone''' номер телефона клиента (caller id), а переменной '''datetime''' (тип дата/время) текущую дату.
+
'''Скачать сценарий:''' [http://wiki.oktell.ru/images/c/c2/%D0%A3%D1%80%D0%BE%D0%BA27.oscr Урок27.oscr] (''собран на версии 2.12.0.150423'')  
  
Заметим, что в таком случае сaller id вернет нам номер клиента только когда он будет звонить нам (пройдет через сценарий входящей маршрутизации). Если клиенту звонит пользователь oktell, то в таком случае надо пользоваться функцией called id. Лучше всего в таком случае, передавать внешний номер, как глобальную переменную (значение номера присваивается в соответствующих сценариях)
 
  
[[Файл:вместоотбоя3.PNG | center]]
+
==Запуск сценария для определенных клиентов==
  
Далее используется sql запрос.  
+
Поскольку в системе используется единый сценарий вместо отбоя для всех внешних линий, в нем следует установить специальные фильтры (например, по сессионным переменным) для различения абонентов, требующих разную обработку. Например, если вам необходимо просить абонента оценить разговор только после его разговора с оператором технической поддержки. Для решения такой задачи создайте сессионную переменную <span style="color:blue">flag</span> и присвойте ей значение 1 после нужного переключения. Такой же флаг следует установить и в сценарии переключения, на случай если другие пользователи, например менеджеры, переключили абонента на специалиста технической поддержки.
  
insert into answers (phone, datetime, answer)values (@phone, @datetime, @answer)
 
  
[[Файл:вместоотбоя4.PNG | center]]
+
[[Файл:Урок27 009.png|center]]
 +
 
 +
 
 +
В сценарии вместо отбоя создайте эту же сессионную переменную и в самом начале сравните ее значение с 1. В таком случае по ветке "Правда", вы отфильтруете только тех абонентов, кто общался с оператором технической поддержки. Учитывая, что само значение переменной <span style="color:blue">flag</span> может быть абсолютно любым, вы можете реализовать неограниченное число способов обработки клиента в сценарии вместо отбоя внешней линии.
 +
 
 +
 
 +
[[Файл:Урок27 010.png|center]]
  
[[Файл:вместоотбоя5.PNG | center]]
 
  
Далее информацию можно проанализировать, вычислить средний балл и т.д.
 
  
 
==Назначение сценария==
 
==Назначение сценария==
  
Сценарий вместо отбоя внешней линии необходимо включить в общих настройках - сценарии атс
+
Сценарий вместо отбоя назначается в модуле ''Администрирование/Общие настройки'' на вкладке "'''Сценарии АТС'''". Для того, чтобы назначить сценарий выберите его в выпадающем списке напротив соответствующей строки и поставьте крестик для его активации, затем сохраните настройки. Выбранный сценарий в списке обозначается серым цветом.
  
[[Файл:Вместоотбоя6.PNG | center]]
 
  
В сценарий вместо отбоя внешней линии можно добавить звукозапись пожелания, отзыв клиента. Так как это IVR сценарий, значит он может устанавливать коммутацию и соединять с пользователями системы. Например, если клиент поставил неудовлетворительную оценку 2, можно соединить его автоматически с сотрудником отдела контроля качества.
+
[[Файл:Урок27 007.png | center|700px]]
  
  
'''Поздравляем!''' Теперь вы знаете как построить систему контроля качества. Можете переходить к следующему уроку.
+
 
 +
'''Поздравляем!''' Теперь вы знаете как построить систему контроля качества с помощью сценария вместо отбоя. Можете переходить к следующему уроку.
  
 
'''Техническая документация:''' [[Сценарии АТС]]
 
'''Техническая документация:''' [[Сценарии АТС]]
 +
  
 
== Вопросы и задания ==
 
== Вопросы и задания ==
 +
* Зачем нужен сценарий вместо отбоя? Какие существуют способы запуска данного сценария?
 +
* Реализуйте разные алгоритмы контроля качества для отдела технической поддержки и отдела продаж. Если клиент говорил с оператором технической поддержки, попросите оценить качество консультации. Если же разговор был с менеджером по продажам, предложите оставить заявку на презентацию продукта.
 +
* Доработайте данный сценарий. Если клиент поставил плохую оценку, предложите ему оставить голосовое пожелание для компании. Используйте сценарий голосовой почты.
 +
* Настройте главный сценарий таким образом, чтобы дать возможность клиенту выйти из очереди ожидания и записью его номера телефона для перезвона. Для реализации такой схемы, используйте сценарий фонового-медиа взаимодействия. Находясь в очереди ожидания, клиент может нажать указанный символ, например 1, после чего на его линии будет выполнен мягкий сброс. В сценарии вместо отбоя сообщить абоненту, что ему перезвонят и завершить соединение.
 +
* Реализуйте функционал супервизору перехватывать любой звонок из очереди. Воспользуйтесь статьей [http://wiki.oktell.ru/Перехват_звонков_из_очереди Перехват звонков из очереди]
  
  

Текущая версия на 10:11, 6 мая 2015

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

Введение

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

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


Урок27 008.png


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


Пример сценария вместо отбоя

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

Задача: После того, как оператор положит трубку, необходимо попросить клиента оценить работу оператора по пятибалльной шкале (от 1 до 5) и записать значение в базу данных. В случае, если клиент оценил качество разговора на 1 или 2 балла, соединить с отделом качества.


Создание таблицы для хранения оценок

Для записи оценок создайте таблицу CallRating в базе данных со следующими полями:

  • Id - номер записи в таблице. Тип Int, добавляется автоматически, если создавать таблицу через модуль "Таблицы абонентов"
  • phone — номер абонента. Тип Nvarchar (auto)
  • calldate — дата звонка. Тип Nvarchar (auto)
  • rating — оценка разговора. Тип Nvarchar (auto)


Урок27 000.pngУрок27 001.png


Если у вас нет лицензии Call-центра, создайте таблицу через SQL Server Management Studio. Для этого выполните запрос:

USE [oktell]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CallRating](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[phone] [nvarchar](2000) NULL,
	[calldate] [nvarchar](2000) NULL,
	[rating] [nvarchar](2000) NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO


Реализация сценария

Сценарий выглядит следующим образом:


Урок27 002.png


Компонент "CallerId". Присваивает переменной phone (строковая) значение функции "Номер абонента (CallerId)".

Следует отметить, что функция вернет CallerId только в случае входящего звонка. Если же изначально клиенту звонил пользователь Oktell, то СallerId следует передавать как сессионную переменную, определяя ее в соответствующих сценариях, например сценарии исходящей маршрутизации.


Компонент "Оцените разговор". Воспроизводит абоненту звуковой файл с просьбой оценить разговор. Используется обычное воспроизведение с символами прерывания, а не воспроизведение с преднабором. Это сделано во избежание ввода некорректных значений оценки, например 6, 7 и т.д. Если бы в сценарии мы использовали воспроизведение с преднабором, нам бы пришлось далее анализировать введенный символ на корректность, а это усложняет логику. Обычное воспроизведение файла с установленными символами прерывания может принимать только указанные цифры, а значит некорректных значений быть не может.

  • Режим — Файл + дополнительное время. Данный режим предоставляет дополнительное время для ввода оценки после окончания воспроизведения.
  • Файл — выбран заранее подготовленный файл "Пожалуйста, оцените нашего сотрудника по шкале от 1 до 5".
  • Дополнительное время, сек - 10
  • Символы прерывания - 1, 2, 3, 4, 5
  • Буфер для DTMF - переменная rating (строковая)
  • Очистить буфер - Да


Компонент "Оценка пустая?". Проверяет, введена ли оценка абонентом.

  • Аргумент 1 - переменная rating
  • Аргумент 2 - пустое поле
  • Тип сравнения - "="
  • Переход, если правда - если пользователь ничего не ввел переходим на компонент "Обрыв связи 1".
  • Переход, если ложь - если пользователь ввел один из предустановленных символов, переходим на компонент "Ввод данных в БД"


Урок27 003.png


Компонент "Ввод данных в БД". Записывает в базу данных номер абонента, текущую дату и введенную оценку. Используется следующий запрос:

insert into CallRating (phone, calldate, rating)
values (@phone, getdate(), @rating)

где

  • @phone - переменная phone
  • @rating - переменная rating


Урок27 004.png


Компонент "Анализ оценки". Проверяет введенную оценку, если оценка неудовлетворительна (1 или 2) переключает абонента на отдел качества.

  • Аргумент - переменная rating
  • Значения - по значениям "1" и "2" переход на компонент "Уведомление о переключении".
  • Переход, прочее - на компонент "Спасибо за ваш звонок".


Компонент "Спасибо за ваш звонок". Благодарит клиента за звонок и завершает соединение.

  • Режим - файл полностью
  • Файл - выбран заранее подготовленный файл "Спасибо за ваш звонок".


Урок27 005.png


Компонент "Уведомление о переключении". Сообщает клиенту о соединении с отделом качества.

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


Компонент "На отдел качества". Переключает абонента на сотрудников отдела качества.

  • Назначение - внутрь
  • Номер - 200
  • Тип вызова - обычный


Урок27 006.png


Скачать сценарий: Урок27.oscr (собран на версии 2.12.0.150423)


Запуск сценария для определенных клиентов

Поскольку в системе используется единый сценарий вместо отбоя для всех внешних линий, в нем следует установить специальные фильтры (например, по сессионным переменным) для различения абонентов, требующих разную обработку. Например, если вам необходимо просить абонента оценить разговор только после его разговора с оператором технической поддержки. Для решения такой задачи создайте сессионную переменную flag и присвойте ей значение 1 после нужного переключения. Такой же флаг следует установить и в сценарии переключения, на случай если другие пользователи, например менеджеры, переключили абонента на специалиста технической поддержки.


Урок27 009.png


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


Урок27 010.png


Назначение сценария

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


Урок27 007.png


Поздравляем! Теперь вы знаете как построить систему контроля качества с помощью сценария вместо отбоя. Можете переходить к следующему уроку.

Техническая документация: Сценарии АТС


Вопросы и задания

  • Зачем нужен сценарий вместо отбоя? Какие существуют способы запуска данного сценария?
  • Реализуйте разные алгоритмы контроля качества для отдела технической поддержки и отдела продаж. Если клиент говорил с оператором технической поддержки, попросите оценить качество консультации. Если же разговор был с менеджером по продажам, предложите оставить заявку на презентацию продукта.
  • Доработайте данный сценарий. Если клиент поставил плохую оценку, предложите ему оставить голосовое пожелание для компании. Используйте сценарий голосовой почты.
  • Настройте главный сценарий таким образом, чтобы дать возможность клиенту выйти из очереди ожидания и записью его номера телефона для перезвона. Для реализации такой схемы, используйте сценарий фонового-медиа взаимодействия. Находясь в очереди ожидания, клиент может нажать указанный символ, например 1, после чего на его линии будет выполнен мягкий сброс. В сценарии вместо отбоя сообщить абоненту, что ему перезвонят и завершить соединение.
  • Реализуйте функционал супервизору перехватывать любой звонок из очереди. Воспользуйтесь статьей Перехват звонков из очереди


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