РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ОБСЛУЖИВАНИЯ АБОНЕНТОВ СЕТИ IP-ТЕЛЕФОНИИ НА БАЗЕ
ПРОТОКОЛА SIP В.А. Козак
Научный руководитель - д.т.н., профессор Ю.А. Гатчин
Произведен обзор современных систем обслуживания абонентов. Дана краткая характеристика IP УАТС Asterisk и протоколау SIP. Разработан сервер автоматизированного доступа к услугам и клиентские приложения к нему, представлен алгоритм обработки пользовательского вызова.
Введение
Системы обслуживания вызовов - call- и контакт-центры - как технология и специфический сегмент рынка появились в тот момент, когда у компаний возникла необходимость обработки большого объема обращений потребителей. Развитие компьютерных технологий позволило соединить операторские центры с базами данных и информационными системами. Такой подход особенно успешно реализуется в сфере бизнеса, где общение в значительной степени стандартизировано, где каждый контакт может быть отнесен к конкретному типу и зафиксирован для дальнейшего использования. Услуги сетевого contact-центра обеспечивают:
• балансировку нагрузки на основе статистики реального времени и доступности операторов, состояния очередей вызовов, ограничений контролируемых параметров, а также даты (день недели, месяц и т.п.);
• идентификацию вызывающих абонентов contact-центра на уровне сети на основе доступа к БД, ANI, DNIS, что позволяет контекстуально подключать настраиваемые приветствия, обеспечивать выбор услуг и предпочтений, а также использовать самообслуживание в речевом портале;
• парковку звонка на уровне сети с подключением речевого портала, обеспечивая голосовое сопровождение во время ожидания, речевую навигацию с использованием алгоритмов распознавания и синтеза речи;
• интеллектуальную маршрутизацию вызовов на основе данных о звонке (ANI, DNIS), клиентского профиля звонящего (БД заказчика), навыков и профилей операторов contact-центра, выбора в интерактивном меню IVR, а также требуемого уровня обслуживания;
• интеграцию сетевой инфраструктуры заказчика услуг contact-центра с конвергентными сетями оператора [1].
Лидеры рынка систем обслуживания вызовов
Лидерами рынка call-центров на сегодняшний день являются четыре компании -Avaya, Nortel Networks, подразделение компании Alcatel - Genesys и Cisco Systems. Присутствие компаний на рынке представлено в табл. 1.
Avaya Genesys Nortel Mitel Cisco Systems Interactive Intelligence
Кол-во установленных центров 25000 3000 14000 2100 1700 1000
Число работающих операторов 6-8 млн. 1,25 млн. 4 млн. 500 тыс. 35 тыс. 100 тыс.
Таблица 1. Присутствие компаний на рынке Call-центров в 2005 году
Для современной системы характерна работа под управлением производительной серверной операционной системы (Win2003, Sun Solaris, IBM AIX), интеграция с мощной и надежной СУБД и CRM-системой. Необходима реализация различных мультимедийных задач и задач доступа в Web. В табл. 2 представлены характеристики систем ведущих вендоров.
Avaya (Interaction Sever 7.0) Nortel (Symposium Suite, rel. 5) Genesys (Gene-sys 7 Suite) Mitel (6100 Contact Center Solutions v4.5)
Рекомендуемые Sun Solaris, IBM Win2000, час- Win2000 primar- Win2000,
серверы AIX и/или Win- тично ily, Sun Solaris, Win2003
dows Win2003 IBM AIX, Linux
СУБД Oracle, IBM DB2 Sybase SQL-based MS SQL
SQL RDBMS RDBMS, MS SQL Server Server
Типичное ко- 100-200 300 500 50
личество опера-
торов
Максимальное 5200 3300 16000 300-350
количество
операторов
Поддержка PBX Avaya CommMgr (на Linux), Siemens, Nortel, Ericsson, Aspect ACD Nortel PBX Server v7.0 (Genesys), Cisco, Nortel, Avaya и более 20 других Mitel PBX
Поддержка Email есть есть есть есть
Внутренняя Внутренняя Чат может Чат может быть Поддерживает
связь (агент-агент- быть исполь- использован для
супервизор) зован для внутренних переговоров внутренних переговоров
Web-чат есть есть есть есть
Web-поддержка есть есть есть есть
Интеграция с SAP, Siebel, Peo- MS CRM, Собственные MS CRM,
CRM pleSoft, Onyx и Epiphany SAP, PeopleSoft и Siebel продукты, MS CRM, SAP, PeopleSoft, Siebel SAP, ACT, PeopleSoft, Remedy, Heat
Цена ПО на $1377 - $2877 $1270 $1725 (только $805 до $2200
одного опера- голосовой)до при полном
тора $2800 - полный пакет пакете мультимедиа
Таблица 2. Характеристики ведущих call-центров
На рынке платформ для call-центров также активно присутствуют такие телекоммуникационные гиганты, как Ericsson с платформой Next Call Centre, Siemens с решением HiPath ProCenter Standard и другие.
Выбор телекоммуникационной платформы
Рассмотренные выше системы, при всех их достоинствах, достаточно дороги. А поскольку в мире Open Source существует ряд открытых программных коммутаторов (УАТС), то задача разработки на их основе новой системы обслуживания выглядит довольно таки актуально.
Решение мультимедиа задач в разрабатываемой системе отводится IP УАТС. Роль этого компонента в данной системе трудно переоценить. Он является носителем интеллектуальных возможностей телефонной сети, координирует управление обслуживанием вызова, сигнализацию и функции, обеспечивающие установление соединения в одной или нескольких сетях. В первую очередь, коммутатор управляет обслуживанием вызовов, то есть установлением и разрушением соединений. В число функций управления обслуживанием вызова также входят распознавание и обработка цифр номера для определения пункта назначения вызова; а также распознавание момента ответа вызываемой стороны, момента, когда один из абонентов кладет трубку, и регистрация этих действий для начисления платы [2]. IP УАТС координирует обмен сигнальными сообщениями между сетями, то есть поддерживает функции Signaling Gateway. Иначе говоря, это устройство координирует действия, обеспечивающие соединение с логическими объектами в разных сетях и преобразует информацию в сообщениях с тем, чтобы они были понятны на обеих сторонах несхожих сетей. Результаты обзора корпоративных АТС сведены в табл. 3.
IP PBX Платформа Основные протоколы сигнализации Лицензия/ Стоимость Важные допополнитель-ные возможности
Asterisk Linux, BSD, OS X ADSI, SIP, H.323, MGCP, SCCP/Skinny двойная лицензия, в т. ч. GPL Voicemail, IVR, Media Gateway, Call Queuing, факс
CallWeaver Linux, BSD, OS X, Solaris ADSI, SIP, H.323, MGCP, SCCP/Skinny GPL Voicemail, IVR, Media Gateway, Call Queuing поддержка STUN
sipX Linux SIP LGPL Voicemail, Media Gateway, Call Queuing
AlterCall Switch Linux Н.323, SIP 1700 руб/канал Media Gateway, Call Queuing
SGpbx Linux Н.323, SIP 2000 руб/канал Media Gateway, факс, QoS
Таблица 3. Сравнение программных IP УАТС
В качестве коммутатора предполагается использовать Asterisk. Asterisk - это полноценная программная АТС, Open Source проект компании Digium. Она может работать на таких операционных системах, как Linux, BSD и OS X и предоставляет все возможности, которые есть у обычной мини-АТС. Функционирование Asterisk основано на протоколах, которые обеспечивают передачу голоса через сети, основанных на IP протоколе (VOIP), и благодаря этому данная АТС может работать практически с любым оборудованием для IP-телефонии. Asterisk предоставляет функции голосовой почты (Voicemail), конференций, интерактивного голосового меню (IVR), центра обработки вызовов (Call Queuing), поддержку протокола T.38 (факс). Он также имеет поддержку таких сервисов, как перевод вызовов другому абоненту, сервис определения и пере-
дачи вызываемому абоненту номера вызывающего абонента, протоколы ADSI, SIP, H.323, MGCP (только для call manager) и SCCP/Skinny [3].
Проанализировав современные протоколы сигнализации, было решено использовать протокол инициирования сеансов (SIP - Session Initiation Protocol, RFC 3261). SIP является протоколом прикладного уровня и предназначается для организации, модификации и завершения сеансов связи: мультимедийных конференций, телефонных соединений и распределения мультимедийной информации. Пользователи могут принимать участие в существующих сеансах связи, приглашать других пользователей и быть приглашенными ими к новому сеансу связи [1]. На рис. 1 приведен пример возможного построения сети SIP.
Рис. 1. Пример построения сети SIP Разработка сервера автоматизированного доступа к услугам
В состав системы должны войти сервер автоматизированного доступа к услугам (данный компонент, выполняющий бизнес-функции системы, необходимо разработать), производительная и надежная IP УАТС, современная СУБД. Операторское приложение исполняется в виде тонкого клиента.
Перед сервером автоматизированного доступа к услугам ставятся задачи:
• управления коммутатором посредством протоколов телефонной сигнализации;
• взаимодействие с операторскими телефонами;
• взаимодействие с операторами по каналам web;
• выполнение бизнес задач по обслуживанию абонентов;
• управление информацией об абонентах, операторах, администраторах, услугах;
Разрабатываемый сервер представляет из себя 12ББ-приложение. Java 2 Platform, Enterprise Edition (J2EE) определяет стандарт для разработки многоуровневых корпоративных приложений. J2EE упрощает разработку корпоративных приложений за счет использования стандартизованных модульных компонент и обеспечения полного набора сервисов для этих компонент. Многие аспекты работы приложения выполняются автоматически, не прибегая к сложному программированию. Данная технология поддерживается всеми ведущими производителями серверов приложений, что гарантирует переносимость и возможность интеграции с другими системами [4]. В состав сервера входят следующие логические блоки:
• блок управления;
• компонент управления вызовами;
• компоненты EJB;
• Web-компоненты.
Компонент управления - логический центр системы, он ответственен за принятие решений. Концентрируя в себе все остальные части системы, данный компонент обладает всей совокупностью информации о происходящих в системе процессах.
Компонент управления вызовами необходим для взаимодействия системы с другими SIP элементами. Если говорить терминами SIP, этот компонент выполняет функции User Agent и B2BUA. Компонент отвечает за формирование SIP-пакетов и отправку их к коммутатору и операторским телефонам. При поступлении входящего SIP-пакета происходит его обработка и уведомление блока управления о произошедшем в телефонной сети.
Компоненты EJB представляют из себя совокупность нескольких бинов сущности (Enterprice Bean), сессионных бинов (Session Bean) и бинов, управляющих сообщениями (Message Bean). Бин сущности представляет бизнес-объект в постоянной памяти. По сути, это способ надежного хранения информации. А сессионные бины - способ управления этой информацией. Бины, управляющих сообщениями, входят в систему асинхронных сообщений, позволяющую двум или более приложениям обмениваться информацией в форме сообщений [4].
Web-компоненты представлены как ставшими уже привычными страницами JSP и сервлетами, так и приложением, построенным с использованием технологии GWT (Google Web Toolkit). Данная технология позволяет писать AJAX-приложения на языке Java. AJAX (Asynchronous JavaScript and XML - «асинхронный JavaScript и XML») -это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения могут быть сделаны более быстрыми и удобными. После трансляции GWT-приложение превращается в совокупность файлов html, css и javascript, которые при пользовательском запросе отправляются по протоколу HTTP и исполняются браузером [5]. Все рассмотренные компоненты компилируются и собираются в единое Enterprise приложение.
Структура базы данных
Для хранения постоянной информации используется реляционная база данных. Схема базы данных показана на рис. 2. В базе присутствуют таблицы:
• ORGANIZATION - таблица организации, обслуживаемых системой;
• EMPLOYEE - таблица сотрудников организации;
• SERVICE - таблица услуг, предоставляемых организацией;
• employeebean_services_servicebean_employees - таблица для связи многие ко многим между EMPLOYEE и SERVICE;
• USERSESSIONCONTEXT - таблица с информацией о сотрудниках, использующих систему;
• WORKITEM - таблица задач на обслуживание;
• ENDUSER - таблица конечных пользователей (абонентов).
USERSESSIONCONTEXT
PK USERSESSIONCONTEXTID
FK1 CLI ENTSESSION ID DESKTOPIP LOGINTIME CURRENTROLEVALUE EMPLOYEEID
SERVICE
PK SERVICEID
FK1 SERVICENAME PHONENUMBER SERVICEPARAMLIST REFERENCE TYPENAME ORGID
employeebean_services_servicebean_employees
PK,FK1 PK,FK2 SERVICEID EMPLOYEEID
Рис. 2. Структура базы данных Развертывание
Сервер приложений
о в1р
Сервер автоматизированного доступа к услугам
И.
Компонент управления вызовами
^ I I Блок управления
^ I ^ Компоненты Е JB
I Web-компоненты
http
о имв
Сервер баз данных
Схема базы данных
/14 I
Рис. 3. Диаграмма развертывания
Разработанное приложение развертывается на двух логических серверах (желательно установленных на различных физических серверах):
1. сервер баз данных MySQL (использовалась версия 5.0.27);
2. сервер приложений JBoss (использовалась версия 4.2).
На сервер баз данных устанавливается схема базы данных. На сервер приложений устанавливаются «сервер автоматизированного доступа к услугам». Диаграмма развертывания системы приведена на рис. 3.
Алгоритм обработки пользовательского вызова
Главная задача создаваемой системы - обслуживание входящих вызовов. В алгоритме обслуживания вызова, приведенном на рис. 4, есть ряд ключевых моментов:
• по вызываемому номеру телефона определить услугу, в которой нуждается потребитель;
• по вызывающему номеру телефона определить, разрешено ли этому потребителю пользоваться данной услугой;
• определить операторов, способных принять данный вызов;
• принять вызов.
Рис. 4. Алгоритм обслуживания вызова
После принятия вызова оператором в его рабочее окно загружается форма, соответствующая данной услуге. Получив необходимую информацию от пользователя, оператор запускает процесс выполнения заказа.
Упрощенная диаграмма взаимодействия компонентов системы приведена на рис. 5. На диаграмме под пользователем понимается телефонный аппарат абонента; IP УАТС - коммутатор, на котором зарегистрирован обслуживаемый номер; САДУ - разрабатываемый сервер автоматизированного доступа к услугам, оператор - операторский телефон и web-приложение.
С внешним миром система взаимодействует посредством протоколов SIP (передача сигнальной информации), RTP (передача голосовых данных) и HTTP (загрузка web-страниц).
Рис. 5. Упрощенная диаграмма взаимодействия компонентов системы Пользовательский интерфейс
К разрабатываемому интерфейсу были предъявлены следующие требования:
• доступность и простота управления, рассчитанная на непрофессионального пользователя;
• наглядность производимых действий;
• удобство в ориентации.
Кроме того, необходимо обеспечить возможность применения различных пользовательских операционных систем. Проанализировав эти требования, было принято решение в качестве клиентской части системы использовать Web-приложение, исполняющееся в Web-браузере. Такое приложение загружается каждый раз при использовании с Web-сервера. Такой подход гарантирует актуальность клиентской программы, не требует ее инсталляции и конфигурирования для каждой пользовательской ЭВМ. Физически пользовательское приложение представляет собой динамически изменяющуюся страничку HTML (DHTML) со вставками кода JavaScript и блоков стилей CSS.
На рис. 6 представлен внешний вид рабочего окна администратора. Данная консоль позволит администратору управлять всеми необходимыми сущностями системы. В первую очередь к ним относятся организации, услуги и сотрудники.
В верхней части консоли расположен заголовок, содержащий иконку проекта и информацию о текущем пользователе. При нажатии на соответсвующие ссылки имеется воззможность смены роли и выхода из системы.
В левом фрейме расположено меню. При выборе пункта меню раскрывается подменю и загружается соответствующая информация в правый фрейм, как показано для пункта Employee.
Правый фрейм состоит из двух блоков. Верхний содержит список сущностей, тип которых был выбран в меню. В данном случае отображен список сотрудников для данной организации. В списке два сотрудника. Информация о выбранной сущности отображается в нижнем блоке. Так мы можем просмотреть всю необходимую информацию о сотруднике turbine. При желании информация может быть изменена и сохранена.
Q BTS WIC Mozilla Firefox
1 Файл Правка Вид Журнал Закладки Инструменты Справка о
- е 1
| http: //localhost: 8080/wic/?orgname=master | - | | |G]~ | Google
1 Начальная страница iv^L Последние заголовки
BTS 'УО User Name: turbine m„ :t,r edmin in m.,..r I^J
Organization Id Name 1 - 2 of 2
1 tutbme
S ei-vice 2 aaa
Employee
Ad d Employ ее ChanaeServices for Emolovee
Employee Login turbine
Employee First Мате kozak
Employee Last Name vova
Employee Password *******
Confirm Employee Password *******
Employee Phone Number 3010
И root Employee Roles И admin 0 agent
| Готово
Рис. 6. Внешний вид рабочего окна администратора
Внешний вид рабочего окна оператора представлен на рис. 7. Это окно, помимо
заголовка, содержит (снизу вверх):
• таблицу со списком вызовов и задач на обслуживание. Количество строк в таблице можно изменять. Выделенная строка и строка, над которой находится курсор, помечаются цветом;
• набор элементов управления. Включает меню, пункты которого динамически подсвечиваются при возможности совершения соответствующего действия. Помимо меню, имеется фильтр для типов услуг, поле ввода количества строк в таблице вызовов, индикатор количества задач в таблице и кнопка свертывания таблицы;
• фрейм для загрузки HTML-страницы, соответствующей вызову. Страница загружается после принятия вызова.
BTS WIC - Mozilla Firefox BB®
File Edit View History Bookmarks Tools Help
, „ | Г http: //localhost:8080/wic/lndex. html?orgname=master "IM iCh
[Gl Google Web Toolkit -... Administration Home |C] Google Web Toolkit - .,. S Афиша: Петербург /.,. * Metanology - User Login
^^ J User Name; turbine Org Name: master Role: agent in master Logout
sessionld: |CS_ID_null_546_11984Ü workltemld: [23 paramsl: param2: рагатЗ: params4: I =l
g New С all Accept ^ ^End ^ н Hold - Transfer ^ ^Conference Mute Filter: дцТуре v l,.J
* WorklieniTD Date/Time SeniiceName Status Reference
test 23 2007-12-2412:14:23.0 service2 ACCEPTED bcalhost :8080rtest/SeiYiceParamSetter
У test 24 2007-12-2412:15:53.0 service2 OPEN bcalhost:S080rtestiSer™eParamSetter
В
1
1 Done
Рис. 7. Внешний вид рабочего окна оператора
Заключение
В рамках данного проекта развернута сеть IP-телефонии, настроены соответствующие службы и сервера, а также спроектирован и создан сервер автоматизированного доступа к услугам и клиенты к нему. Информация, требующая постоянного хранения, запоминается в реляционной базе данных. Не зависящие от пользовательской платформы клиентские приложения представляют из себя Web-приложения, исполняющиеся в Web-браузере. Все это является залогом быстрого и удобного развертывания системы для практического применения. Удобный и интуитивно понятный графический пользовательский интерфейс позволяет сократить время обучения персонала и повысить его производительность.
Литература
1. Гольфштейн А.Б., Гольфштейн Б.С. SOFTSWITCH. - СПб: БХВ - Санкт-Петербург, 2006. - 368 с.
2. Гольфштейн А.Б., Фрейкман В.А. Call-центры и компьютерная телефония. - СПб: БХВ - Санкт-Петербург, 2002. - 372 с.
3. Мадсен Л., Смит Д., Меггелен Д. Asterisk The Future of Telephony - O'Reilly, 2005. 404 с.
4. Монсон-Хейфел Р. Enterprise JavaBeans, 3-е издание / Пер. с англ. - СПб: Символ-Плюс, 2002. - 672 с.
5. Крейн Д., Паскарелло Э., Джеймс Д. Ajax в действии / Пер. с англ. - М.: ООО «И. Д. Вильямс», 2006. - 640 с.