IVR - Фиксировать в БД пропущенные звонки

Материал из Oktell
Перейти к: навигация, поиск

Наверх

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

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

Fiksirovatpropushenni.PNG

Необходимо сразу же сделать запись в таблицу о том, что в Главный сценарий попал звонок. Для этого создадим локальную таблицу в разделе Call-центр\Таблицы абонентов с именем Zvonki. Если у вас нет модуля Call-центр, то создайте таблицу используя SQL-менеджер.

Fiksirovatpropushenni2.PNG


Создаем столбцы для дальнейшего заполнения.


Fiksirovatpropushenni3.PNG

В поле phone записываем номер звонившего абонента, Date - текущую дату, Status - состояние звонка(0-попал в IVR, но еще не обработан, 1-вызов был обработан).

Затем в Главном сценарии необходимо выполнить SQL-запрос, который записал бы в таблицу данные о поступившем звонке. Для этого немного изменяем Главный сценарий. Сперва используя компонент "Присвоение" переменной Номер присваиваем значение функции "Номер абонента(CallerID)".


Fiksirovatpropushenni4.PNG


Затем необходимо выполнить SQL-запрос. Для этого используем компонент SQL-запрос.


Fiksirovatpropushenni5.PNG


insert into dbo.Zvonki (phone, Date, Status) 
values (@phone,getdate(),0)
select @id = @@identity


В качестве параметров(Обращение к БД\вкладка "Параметры") входной переменной phone присваиваем значение переменной "номер", а значение выходной переменной id - присваиваем вновь созданной строковой переменной id.


Fiksirovatpropushenni6.PNG


Затем необходимо присвоить значение "1" полю Status, если звонок был обработан. Для этого необходимо после каждого компонента "Переключение на номер", перед компонентом "Стоп" добавить компонент "SQL-запрос", в котором переменной Status будет присвоено значение 1.


Fiksirovatpropushenni7.PNG


update dbo.Zvonki
set Status = 1
where id = @id


В качестве входного параметра id присваиваем значение строковой переменной id.


Fiksirovatpropushenni8.PNG


Таким образом все звонки, которые попали в IVR и обработаны пользователями, будут иметь статус "1", остальные( пропущенные, не обработанные и прочие неуспешные) статус "0". Затем можно будет делать выборку неудачных вызовов по этой таблице. Достаточно вывести все записи со статусом "0".