среда, 23 ноября 2011 г.

FREE Oktell GSM to SIP

Новость месяца!

Внимание. С 21 ноября 2011 года продукт Oktell SIP-GSM Gateway распространяется бесплатно.
Для взаимодействия программы с GSM-сетями необходима установка в USB-порт компьютера GSM-модема с поддержкой голосовых функций.



Подробнее об Oktell SIP-GSM Gateway тут

Скачать можно тут

вторник, 1 ноября 2011 г.

Call-центр\IP PBX Oktell: Закрепление абонентов за операторами при исходящей задаче.

IP PBX Oktell

Задача:
Нужна исходящая задача, в которой каждый абонент закреплен за конкретным оператором.

Создаем проект:



Создаем таблицу абонентов:




Добавляем столбцы и даем им ОБЯЗАТЕЛЬНЫЕ назначения:


Импортируем данные из таблицы Excel:




Структура Excel имеет следующий вид:



В результате:



Теперь у нас есть таблица абонентов,  в которой за номером закреплены определенные ID. Теперь эти ID нужно сопоставить со списком операторов.

Получаем список наших операторов:

Select id,name
from A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1



Вставляем все в Excel. Даем название столбцам и каждому оператору даем определенный ID (Operator ID):



Создаем таблицу в Oktell'е и импортируем данные об операторах.





Создаем задачу и  задаем ей необходимые свойства. Рассмотрим вкладки "Ресурсы" и "Абоненты"


Выбираем всех операторов, независимо от того, будут ли они участвовать задаче.
Выбираем вариант обхода операторов "Пользовательская процедура" ( о не чуть ниже)



В качестве таблицы абонентов выбираем нашу таблицу.



Теперь запускаем SQL Server Management Studio Express. Выполняем запрос:

SELECT [Id]
            ,[Name]

FROM [oktell_settings].[dbo].[A_TaskManager_Tasks]


В получившейся таблице находим нашу задачу и копируем ее ID.



Далее ищем хранимую процедуру A_TaskManager_OperatorsAll_Get_Custom в баз oktell и модифицируем ее.




Текст запроса:



-- Задача "С закреплением абонента за оператором"

if (@idtask = 'F6A349EA-F430-4FA7-9664-D17DF9870347')
    begin
       select GUID as Id
       from Operators
           inner join tab_clients on [ID оператора]=[Operator ID]
      where tab_clients.id =@idabonent
      return
end

--Дефолтные величины
Select Id
FROM A_Users u
Inner join A_UserParams up on u.Id = up.Iduser
Where IsOperator = 1
end





Где вместо "F6A349EA-F430-4FA7-9664-D17DF9870347" пишем ID вашей задачи.

Нажимаем "Выполнить"

Теперь запускаем задачу:

И видим, что звонок абоненту 87777777777 распределяется на оператора "Медведев Виктор Сергеевич"