Обратный звонок с мобильного в ответ на пропущенный от Oktell
Задача: Клиенты крупных компаний часто могут обнаружить пропущенный звонок с городского номера и при попытке перезвонить попадают на голосовое меню. Становится совершенно непонятно, кто звонил и какой выбрать пункт меню. Предлагается ввести следующий пункт в меню "Если вы получили пропущенный, нажмите 5" и при выборе - клиент соединяется с оператором, который совершал ему звонок.
Решение задачи вкратце состоит из следующих этапов:
- При звонке клиента, находится и анализируется информация по его последней коммутации.
- Если обнаруживается, что это был неудачный исходящий звонок, клиенту предлагается соединиться с оператором, который совершал звонок.
ВНИМАНИЕ: Если вы не используете сценарий автодозвона, вы можете пропустить следующие два пункта. Это связано с тем, что в базе данных Oktell не хранится информация по неудачным исходящим звонкам с использованием сервиса автодозвона.
Создание таблицы учета неудачных исходящих по автодозвону
В базе данных oktell для решения задачи используются следующие таблицы:
- таблица [oktell].[dbo].[A_Stat_Connections_1x1]. В ней можно найти все удачные исходящие звонки.
- таблица [oktell].[dbo].[A_Stat_FailedCalls]. В ней можно найти все неудачные исходящие звонки, набранные в ручном режиме.
Этих данных недостаточно для определения последнего звонка к клиенту, так как операторы могут использовать сервис автодозвона на своем рабочем месте. В этом случае надо отдельно записывать все неудачные соединения по автодозвону в отдельную таблицу.
Для хранения информации по всем неудачным исходящих автодозвонам создана таблица "FailedCalls_ACM" со следующими полями:
- Id - номер записи в списке. Тип Int, создается автоматически.
- number -набираемый телефон клиента. Тип Nvarchar (auto).
- calldate - дата звонка. Тип Datetime.
- operator - внутренний номер пользователя внутри АТС. Тип Nvarchar (auto).
Модификация сценария автодозвона
В сценарий автодозвона необходимо добавить SQL-запрос с добавлением записи о неудачном исходящем звонке в таблицу FailedCalls_ACM:
Компонент SQL-запрос "INSERT FailedCalls_ACM" ставится по всем неудачным веткам от компонента "Дозвон" и использует следующий текст запроса:
insert into FailedCalls_ACM (number,calldate) values (@number, getdate())
где
- number - переменная Номер (строковая). Переменная Номер передается в сценарий как параметр запуска.
Если у вас более сложный сценарий, SQL-запрос добавления данных в таблицу надо поставить по неудачным веткам после каждого компонента "Дозвон"
Модификация главного сценария
Запрос для создания таблицы FailedCalls_ACM:
USE [oktell] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[FailedCalls_ACM]( [Id] [int] IDENTITY(1,1) NOT NULL, [number] [nvarchar](2000) NULL, [calldate] [datetime] 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