Описание решения Call Center на базе Oktell




Скачать 183.39 Kb.
Дата09.08.2016
Размер183.39 Kb.


Описание решения

Call Center на базе Oktell

Подготовлено для:



ООО "Альтернатива"

12 августа 2013

Версия 1.0



Права и распространение


Все права интеллектуальной собственности принадлежат:

© Заказчик: ООО "Альтернатива"

© Исполнитель: ООО «Программные технологии»

Распространение копий допускается по согласованию с разработчиками документа. Оригиналы в электронном виде и в виде утвержденных печатных копий находятся под контролем библиотек и архивов разработчиков документа. Передача копий третьим лицам допускается по согласованию с Заказчиком и Исполнителем.


Лист согласования


ФИО

Компания

Должность

Подпись

Дата














































































История изменения документа


Дата

Автор

Версия

Комментарий

12.07.2013

Орлов Дмитрий

1.0

Релиз документа

















































Оглавление


Права и распространение 2

Лист согласования 2

История изменения документа 2

Общие сведения 4

Структурная схема 4

Аппаратно-программное обеспечение системы 4

Сервер 4

Обеспечение клиентов 5

Настройки АТС Oktell 5

Настройки шлюза ТФОП 5

Карта сети 6

Внутренний номерной план 7

Пользователи и роли 8

Логика обработки входящих вызовов 10

Сценарий «Альтернатива главный» 10

Сценарий «Альтернатива IVR рабочее время» 10

Сценарий «Альтернатива IVR нерабочее время» 11

Определение рабочего времени 12

Логика обработки исходящих вызовов 14

Проект колл-центра Oktell для актуализации номеров и контактов 14

Таблицы абонентов 15

Таблица «Абоненты» 15

Таблица «Абоненты для обзвона» 15

Сценарии 16

Сценарий «Дозвон» 16

Сценарий «Актуализация номеров» 16

Задачи 17

Актуализация номеров 17

Прогрессивный обзвон ТС 17

Интеграция с CRM Terrasoft 18

Интеграция клиентской библиотеки телефонии Oktell 18

Таблицы абонентов 18

Вычисление ответственного менеджера 19

Отказоустойчивость и резервное копирование системы 22




Общие сведения


Внедрение колл-центра на базе Oktell в телефонную инфраструктуру обеспечит Заказчика стандартными функциями АТС, а также дополнительными функциями программных IP АТС, такими как получение информации о входящем звонке, управление телефонными вызовами, обращение к записям собственных разговоров, создание конференций и установка нужных режимов переадресации. Возможности колл-центра Oktell также будут доступны для проведения автоматизированных телефонных кампаний. В рамках проекта произведена интеграция с интерфейсом и с базой данных системы CRM Terrasoft.

Структурная схема



Аппаратно-программное обеспечение системы

Сервер


Аппаратное обеспечение

Параметр

Значение

Модель сервера

Виртуальный компьютер VMware

Процессор

Intel Xeon X5650, 2,67 GHz

Память

4 Gb

Дисковая подсистема

VMware Virtual disk 40 Gb

Сеть

Intel(R) PRO/1000 MT (10.9.48.224)

Intel(R) PRO/1000 MT (10.9.49.224)


Программное обеспечение



Программа

Назначение

Windows 7SP1 Ultimate

Операционная система

Oktell (Server and Client)

Программная IP АТС, колл-центр

Microsoft SQL Server 2005 SP4 Express Edition

Хранилище конфигурации и пользовательских данных Oktell


Обеспечение клиентов


Аппаратное обеспечение

Тип клиента

Обеспечение

Компьютер с гарнитурой

Компьютер пользователя с ОС семейства Windows, с установленной клиентской частью АТС Oktell. В качестве звукового интерфейса может использоваться обычная аудио-гарнитура или USB телефон.

IP телефон

Любой IP телефон, поддерживающий протокол SIP, например D-Link DPH-150S, Yealink SIP-T38G

Аналоговый телефон с ATA адаптером

Любой аналоговый телефон совместно с FXS адаптером, поддерживающим протокол SIP, например Linksys SPA-1001

Программное обеспечение



Программа

Назначение

Oktell (Client)

Выполнение, прием телефонных звонков, вход в задачи колл-центра

Terrasoft CRM 3.3.2 с интеграционной библиотекой Oktell

Выполнение, прием телефонных звонков, вход в задачи колл-центра. Интерфейс колл-центра Terrasoft

Настройки АТС Oktell

Настройки шлюза ТФОП


Выход на городские телефонные сети организован посредством существующих каналов связи, подключенных к офисной АТС АГАТ UX-3410. Связь между АТС Oktell и АТС АГАТ UX-3410 организована при помощи SIP транка (шлюз без регистрации) на 23 канала.

Настройки шлюза со стороны Oktell




Карта сети


Карта сети содержит 1 сервер Oktell, 1 SIP шлюз и клиентские компьютеры с подключенными гарнитурами. Список элементов карты сети офиса сведен в таблицу.

Объект

Имя в сети

Примечание

SIP шлюз

10.9.48.22

SIP шлюз без регистрации на 23 канала

Сервер

Admin-ПК

Сервер Oktell

Компьютер

Админ-ПК

Клиентский компьютер отдела сопровождения

Компьютер

НаташКаЖ-HP

Клиентский компьютер отдела сопровождения

Компьютер

User-sopr1

Клиентский компьютер отдела сопровождения

Компьютер

User-sopr2

Клиентский компьютер отдела сопровождения

Компьютер

Olgasmalaykina

Клиентский компьютер отдела сопровождения

Компьютер

Noyt-HP

Клиентский компьютер отдела сопровождения

Компьютер

User-sopr3

Клиентский компьютер отдела сопровождения

Компьютер

User-op1

Клиентский компьютер отдела продаж

Компьютер

User-op2

Клиентский компьютер отдела продаж

Компьютер

User-op3

Клиентский компьютер отдела продаж

Компьютер

User-op4

Клиентский компьютер отдела продаж

Компьютер

User-op5

Клиентский компьютер отдела продаж

Компьютер

User-op6

Клиентский компьютер отдела продаж

Компьютер

User-op7

Клиентский компьютер отдела продаж

Компьютер

USER-ПК1

Клиентский компьютер колл-центра

Компьютер

USER-ПК

Клиентский компьютер колл-центра

Компьютер

computer-0cf152

Клиентский компьютер колл-центра

Внутренний номерной план


Номера внутри АТС Oktell имеют следующий формат 19XX, то есть 4 цифры и начинаются на 19

Номер

Тип

Описание

1900

Стандартный, групповой

Секретариат

1901

Стандартный

Секретарь1

1902

Стандартный

Секретарь2

1910

Стандартный, групповой

Колл-центр

1911

Стандартный

Актуализатор1

1912

Стандартный

Актуализатор2

1913

Стандартный

Актуализатор3

1920

Стандартный, групповой

Отдел продаж

1921

Стандартный

Менеджер ОП1 (Нач. ОП)

1922

Стандартный

Менеджер ОП 2

1923

Стандартный

Менеджер ОП 3

1924

Стандартный

Менеджер ОП 4

1925

Стандартный

Менеджер ОП 5

1926

Стандартный

Менеджер ОП 6

1927

Стандартный

Менеджер ОП 7

1928

Стандартный

Менеджер ОП 8

1929

Стандартный

Менеджер ОП 9

1930

Стандартный

Менеджер ОП 10

1931

Стандартный

Менеджер ОП 11

1932

Стандартный

Менеджер ОП 12

1933

Стандартный

Менеджер ОП 13

1940

Стандартный, групповой

Отдел сопровождения

1941

Стандартный

Менеджер ОС1 (Нач. ОС)

1942

Стандартный

Менеджер ОС2

1943

Стандартный

Менеджер ОС3

1944

Стандартный

Менеджер ОС4

1945

Стандартный

Менеджер ОС5

1946

Стандартный

Менеджер ОС6

1947

Стандартный

Менеджер ОС7

1948

Стандартный

Менеджер ОС8

1949

Стандартный

Менеджер ОС9

1991

Стандартный

Администратор

1994

Зарезервированный

Признак звонка в компанию Альтернатива

1995

Зарезервированный

Признак звонка в компанию Регион-Пресс


Пользователи и роли


Логин

Роли

Номера

actualizer01

Оператор колл-центра, Пользователь системы

1910, 1911

actualizer02

Оператор колл-центра, Пользователь системы

1910, 1912

actualizer03

Оператор колл-центра, Пользователь системы

1910, 1913

manager01

Пользователь системы

1920, 1921

manager02

Пользователь системы

1920, 1922

manager03

Пользователь системы

1920, 1923

manager04

Пользователь системы

1920, 1924

manager05

Пользователь системы

1920, 1925

manager06

Пользователь системы

1920, 1926

manager07

Пользователь системы

1920, 1927

manager08

Пользователь системы

1920, 1928

manager09

Пользователь системы

1920, 1929

manager10

Пользователь системы

1920, 1930

manager11

Пользователь системы

1920, 1931

manager12

Пользователь системы

1920, 1932

manager13

Пользователь системы

1920, 1933

support01

Пользователь системы

1940, 1941

support02

Пользователь системы

1940, 1942

support03

Пользователь системы

1940, 1943

support04

Пользователь системы

1940, 1944

support05

Пользователь системы

1940, 1945

support06

Пользователь системы

1940, 1946

support07

Пользователь системы

1940, 1947

support08

Пользователь системы

1940, 1948

support09

Пользователь системы

1940, 1949

secretary01

Пользователь системы

1900, 1901

secretary02

Пользователь системы

1900, 1902

user1

Администратор

1991

Логика обработки входящих вызовов


Логика обработки входящих вызовов организована посредством нескольких сценариев.

Сценарий «Альтернатива главный»


Данный сценарий обрабатывает все входящие вызовы и реализует следующую логику:


Сценарий «Альтернатива IVR рабочее время»


2 сценария с одинаковой логикой обрабатывают входящие вызовы в рабочее время. Разница заключается в различном воспроизводимом тексте.

  1. Альтернатива IVR рабочее время

  2. Альтернатива (РП) IVR рабочее время

Логика:


Сценарий «Альтернатива IVR нерабочее время»


2 сценария с одинаковой логикой обрабатывают входящие вызовы в рабочее время. Разница заключается в различном воспроизводимом тексте.

  1. Альтернатива IVR нерабочее время

  2. Альтернатива (РП) IVR нерабочее время

Логика:


Определение рабочего времени


График рабочего времени и отклонения от графика (праздники, переносы) задаются при помощи встроенного в интерфейс администрирования Oktell (Внимание работает только если браузер по умолчанию IE). Данные записываются в поле, представляющее XML структуру.

Для вычисления рабочего времени, написана функция на SQL сервере Oktell_Settings.dbo.WorkingTime, которая возвращает 0 или 1. На вход подаётся текущее время.



USE [oktell_settings]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE FUNCTION [dbo].[WorkingTime](@DATE datetime)

RETURNS int

AS

BEGIN

DECLARE @WorkingTime int, @Current int;

DECLARE @Index int, @XMLString varchar(1500), @Start char(8), @Stop char(8), @Day char(1);
If (select count(*)from A_HolidaysUser

where Datepart(yy,date) = Datepart(yy,@DATE)

and Datepart(mm,date) = Datepart(mm,@DATE)

and Datepart(dd,date) = Datepart(dd,@DATE)

and type=1)>0 Return(0);
If (select count(*) from A_HolidaysUser

where Datepart(yy,date) = Datepart(yy,@DATE)

and Datepart(mm,date) = Datepart(mm,@DATE)

and Datepart(dd,date) = Datepart(dd,@DATE)

and type=0)>0

select @day=asDayofWeek from A_HolidaysUser

where Datepart(yy,date) = Datepart(yy,@DATE)

and Datepart(mm,date) = Datepart(mm,@DATE)

and Datepart(dd,date) = Datepart(dd,@DATE)

Else Set @day=case when datepart(dw,@DATE)=1 then 7 else datepart(dw,@DATE)-1 end
set @Current=datepart(hh,@Date)*60+datepart(mi,@Date);

SELECT @XMLString=valuestr FROM A_Settings where name='us~~~~o_WorkTime'

Set @Index = 1;

While @Index>0

Begin

Set @Index = CharIndex('Period WeekDay="'+@Day+'"', @XMLString, @Index+1);

Set @Start = SubString(@XMLString,@Index+30,8);

Set @Stop = SubString(@XMLString,@Index+52,8);

Select @WorkingTime =

case when @current>=cast(substring(@Start,1,2) as int)*60+cast(substring(@Start,4,2) as int)

and @current<=cast(substring(@Stop,1,2) as int)*60+cast(substring(@Stop,4,2) as int)

then 1 else 0 end;

If @WorkingTime = 1 Break

If CharIndex('Period WeekDay="'+@Day+'"', @XMLString, @Index+1) = 0 Break;

End

RETURN(@WorkingTime);

END

Логика обработки исходящих вызовов


Исходящие вызовы подчиняются следующей логике:


Проект колл-центра Oktell для актуализации номеров и контактов


Для решения задач актуализации в колл-центре Oktell создан проект «Автообзвон1». Проект решает 2 задачи, представляющие собой исходящие телефонные кампании:

  1. Актуализация телефонных номеров

  2. Актуализация контактов

Данный раздел описывает ресурсы этого проекта.

Таблицы абонентов

Таблица «Абоненты»


Представляет собой запрос к таблице БД Terrasoft. Текст запроса:

Select

ID_int,

OfficialAccountName as 'Название',

Communication1 as 'Средство связи 1',

Communication2 as 'Средство связи 2',

Communication3 as 'Средство связи 3',

Communication4 as 'Средство связи 4',

Communication5 as 'Средство связи 5',

IsActual as 'Дозвон'

from tbl_Account where ID

in (select AccountID from tbl_AccountInGroup as AinG where 'Обзвон' = (SELECT TOP 1 Name from tbl_AccountGroup where ID = AinG.GroupID))

and IsActual !=1
Поля «Средство связи 1» - «Средство связи 5» объявлены как «Телефон»

Поле «ID_int» объявлено как идентификатор

Поля «Название» и «Дозвон» объявлены как информационные поля

Таблица «Абоненты для обзвона»


Представляет собой запрос к таблице БД Terrasoft. Текст запроса:

Select

ID_int,

OfficialAccountName as 'Название',

Communication1 as 'Средство связи 1',

Communication2 as 'Средство связи 2',

Communication3 as 'Средство связи 3',

Communication4 as 'Средство связи 4',

Communication5 as 'Средство связи 5',

IsActual as 'Дозвон'

from tbl_Account where ID

in (select AccountID from tbl_AccountInGroup as AinG where 'Обзвон' = (SELECT TOP 1 Name from tbl_AccountGroup where ID = AinG.GroupID))

and IsActual = 1
Поля «Средство связи 1» - «Средство связи 5» объявлены как «Телефон»

Поле «ID_int» объявлено как идентификатор

Поля «Название» и «Дозвон» объявлены как информационные поля

Сценарии

Сценарий «Дозвон»


Сценарий «Дозвон» используется для набора номеров в задачах проекта. Логика сценария:


Сценарий «Актуализация номеров»


Сценарий «Актуализация номеров» представляет собой IVR сценарий и используется в задаче «Актуализация номеров» для выставления флага «Дозвон» при удачной попытке дозвона. В случае удачной попытке дозвона, выполняется SQL скрипт на сервере БД Terrasoft. Текст скрипта:

Update tbl_Account set IsActual=1 where ID_int = @ID

Переменная @ID вычисляется чуть раньше в данном сценарии и представляет собой идентификатор текущей записи таблицы абонентов.





Задачи

Актуализация номеров


Параметры задачи описаны в таблице:

Параметры




Направление

Исходящая

Тип

IVR

Сценарий IVR

Актуализация номеров

Расписание

Пн-Пт, 9:00-18:00

Остановить задачу

После выполнения всех абонентов

Ресурсы




Внешние линии

13001sip-13004sip

Абоненты




Таблица абонентов

Абоненты

Метод работы с таблицей

Загрузка в память и синхронизация

Дополнительно




Служебный сценарий набора номеров абонента

Дозвон


Прогрессивный обзвон ТС


Параметры задачи описаны в таблице:

Параметры




Направление

Исходящая

Тип

Прогрессивный обзвон

Расписание

Пн-Пт, 8:30-12:00, 13:00-17:30

Остановить задачу

Никогда не останавливать задачу

Ресурсы




Внешние линии

13021sip-13023sip

Операторы

actualizer01, actualizer02, actualizer03

Абоненты




Таблица абонентов

Абоненты для обзвона

Метод работы с таблицей

Загрузка в память и синхронизация

Лояльность к абонентам

Средняя лояльность

Дополнительно




Служебный сценарий набора номеров абонента

Дозвон

Интеграция с CRM Terrasoft

Интеграция клиентской библиотеки телефонии Oktell


Для входа в АТС Oktell и колл-центр Oktell из клиентского приложения Terrasoft CRM используется интеграционная библиотека Oktell.ClientComLib.dll

Чтобы зарегистрировать данную библиотеку на рабочей станции с Terrasoft CRM, на данную рабочую станцию необходимо установить клиентскую часть Oktell и выполнить следующую команду от имени администратора



C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe "C:\Program Files\Oktell\Client\Oktell.ClientComLib.dll"

После этого в CRM Terrasoft появится возможность осуществить вход в АТС и колл-центр


Таблицы абонентов


Для минимизации рутинных операций по импорту и экспорту таблиц абонентов из CRM Terrasoft, выполнена следующая интеграция – таблицы абонентов представляют собой прямые запросы в базу данных Terrasoft. Запросы осуществляются посредством интерфейса программирования приложений ActiveX Data Objects (ADO). Стока подключения для данной реализации:

Server=10.9.49.222;Database=TS;User Id=Supervisor;Password=;

На сервере Oktell каждые 5 минут выполняется служебный сценарий, который нужен для того чтобы определить была ли обновлена папка с абонентами для обзвона и если да, то выполнить перезапуск задач проекта. Логика сценария представляет собой следующую схему:




Вычисление ответственного менеджера


Для вычисления ответственного менеджера реализованы 2 функции в базе данных Terrasoft

dbo.NormNumber используется чтобы оставить в номере только цифры



USE [TS]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO
CREATE FUNCTION [dbo].[NormNumber](@OrgNumber varchar(50))

RETURNS varchar(50)

AS

BEGIN

DECLARE @NormNumber varchar(50), @Count int, @c int, @l int

Set @NormNumber = ''

Set @Count = 0

Set @l = Len(@OrgNumber)

While @Count <= @l

Begin

set @c = ascii(substring(@OrgNumber, @Count, 1))

if @c between 48 and 57

Set @NormNumber = @NormNumber + CHAR(@c)

Set @Count = @Count + 1

End

RETURN(@NormNumber)

END
dbo.GetManagerNumber1 используется для получения внутреннего номера Oktell и мобильного номера ответственного за клиента менеджера. Условия: номер Oktell менеджера должен быть прописан в поле Communication5 таблицы tbl_Contact, мобильный номер должен быть прописан в поле Communication2 таблицы tbl_Contact.
USE [TS]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE FUNCTION [dbo].[GetManagerNumber1] (@CallerID varchar(20))

RETURNS @Result table (

[OktNum] varchar(3),

[MobNum] varchar(20)

)

AS

BEGIN

IF(SELECT Count(*)

FROM tbl_Contact

where Right(dbo.NormNumber(Communication1), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication2), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication3), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication4), 6) like Right(@CallerID, 6))>0

Begin

Insert into @Result

SELECT Communication5 as OktNum,Communication2 as MobNum

FROM tbl_Contact

where ID in (

SELECT OwnerID

FROM tbl_Contact

where Right(dbo.NormNumber(Communication1), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication2), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication3), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(Communication4), 6) like Right(@CallerID, 6))

RETURN

End



IF (SELECT Count(*)

FROM tbl_Contact INNER JOIN tbl_Account

ON tbl_Contact.ID = tbl_Account.OwnerID

where Right(dbo.NormNumber(tbl_Account.Communication1), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication2), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication3), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication4), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication5), 6) like Right(@CallerID, 6))>0

Begin

Insert into @Result

SELECT Communication5 as OktNum,Communication2 as MobNum

FROM tbl_Contact

where ID in (

SELECT tbl_Account.OwnerID

FROM tbl_Contact INNER JOIN tbl_Account

ON tbl_Contact.ID = tbl_Account.OwnerID

where Right(dbo.NormNumber(tbl_Account.Communication1), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication2), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication3), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication4), 6) like Right(@CallerID, 6)

or Right(dbo.NormNumber(tbl_Account.Communication5), 6) like Right(@CallerID, 6))

RETURN

End

Insert into @Result

Values ('','')

RETURN

END

Отказоустойчивость и резервное копирование системы


В данном разделе документации представлены рекомендации по отказоустойчивости программной АТС Oktell.

Поскольку сервис телефонии, как правило, является критичным для бизнеса, необходимо озаботиться сохранностью данных и минимизацией времени восстановления после сбоя.



Сервис Oktell ежедневно в 2:00 выполняет резервное копирование всех своих баз данных и сценариев в папку C:\Program Files\oktell\Server\Backup. Кроме того выполняется резервное копирование файлов при обновлении версии в папку C:\Program Files\oktell\Server\SavedOldVersions. Но хранение резервных копий и данных на одном и том же жёстком диске не очень хорошая практика, поскольку при выходе из строя жёсткого диска теряются и полезные данные, и архивные копии. Поэтому предлагается сделать регулярную задачу в планировщике Windows, которая будет копировать папку C:\Program Files\oktell\Server\Backup на сетевой диск и назначить эту задачу на 4:00.

Для минимизации времени восстановления после сбоя предлагается также делать еженедельный снимок машины, на которой установлен Oktell, например, с помощью Acronis True Image.


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница