Урок 27 IVR сценарий вместо отбоя внешней линии

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

Введение

Сценарий вместо отбоя внешней линии - это системный 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 007.png


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

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

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

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