IP PBX Oktell
Задача:
Оператор набирает номер в ручном режиме. Необходимо после разговора заполнить данные формы.
И так приступаем к реализации...
Нужно определять после какого конкретного звонка отображать карточку. Я решил ввести префикс, например *
Соответственно в сценарии маршрутизации внутренних звонков будем этот префикс анализировать.
Создаем таблицу абонентов в разделе Call-центр.
Назначаем ID как "Идентификатор", phone как "Телефон"
Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о не чуть ниже)
Теперь запускаем SQL Server Management Studio Express. Выполняем запрос:
SELECT [Id]
,[Name]
В получившейся таблице находим нашу задачу и копируем ее ID.
Задача:
Оператор набирает номер в ручном режиме. Необходимо после разговора заполнить данные формы.
И так приступаем к реализации...
Нужно определять после какого конкретного звонка отображать карточку. Я решил ввести префикс, например *
Соответственно в сценарии маршрутизации внутренних звонков будем этот префикс анализировать.
Если есть префикс *, то удаляем его. И переключаем на внешнюю линию. Если переключение произошло, то определяем ID оператора (человека который набирает номер) и делаем запись в таблицу (структура таблицы чуть ниже). Далее дезактивируем и активируем задачу ( для чего и что за задачу-чуть ниже).
Создаем таблицу абонентов в разделе Call-центр.
Сохраняем.
Создаем еще одну таблицу, которая будет заполняться выборкой из таблицы User_tab_clients.
Т.е. выбираем все записи у кого поле status не равен 1
"Прикрепленная таблица БД" нужна для того, что бы в сценарии диалога использовать переменные типа "Поле таблицы"
Назначаем ID как "Идентификатор", phone как "Телефон"
Сохраняем.
Создаем сценарий диалога. В нем получаем имя оператора. Делаем запись в нашу таблицу. И присваиваем служебной переменной "Результат звонка" значение 2. Подробнее тут
Форма диалога выглядит так:
Используемые переменные:
Сохраняем сценарий.
Создаем задачу.
Тип: С запросом у оператора
Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о не чуть ниже)
В качестве таблицы абонентов выбираем вторую нашу таблицу. И ставим галочку "Синхронизировать со списком при каждой активации". Как раз для этого делали дезактивацию и активацию в сценарии маршрутизации внутренних звонков.
Выбираем наш сценарий, как сценарий запроса на дозвон.
Сохраняем и активируем задачу.
Теперь запускаем SQL Server Management Studio Express. Выполняем запрос:
SELECT [Id]
,[Name]
FROM [oktell_settings].[dbo].[A_TaskManager_Tasks]
В получившейся таблице находим нашу задачу и копируем ее ID.
Далее ищем хранимую процедуру A_TaskManager_OperatorsAll_Get_Custom в баз oktell и модифицируем ее.
Текст запроса:
--Задача "Карточка после ручного звонка"
if (@idtask = '42479030-427C-4F7F-9262-87512F5567AD')
begin
select Operator_id as Id from User_tab_clients
where Id = @idabonent
return
end
--Дефолтные величины
Select Id
FROM A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1
end
Где вместо "42479030-427C-4F7F-9262-87512F5567AD" пишем ID вашей задачи.
Нажимаем "Выполнить"
Теперь набираем номер, в нашем случае *89274365636 ( номер вымышлен)
Поговорили. Теперь нажимаем "Завершить" и у нас всплывает наша карточка.
Выбираем целевой или не целевой и нажимаем "Далее"
Вот и всё. Жду вопросов.
Комментариев нет:
Отправить комментарий