БЛОК ФОНОВОЙ ОБРАБОТКИ СЕРВИСА, АГЕНТСКАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ ВЫЗОВОМ В ТАКОЙ СИСТЕМЕ
BACKGROUND SERVICE PROCESS UNIT, AGENT SYSTEM AND CALL CONTROL METHOD IN SAID SYSTEM

Область техники
Некоторые варианты осуществления настоящего изобретения относятся к сетевым коммуникациями и к прикладной технологии колл-центров, а именно, к блоку фоновой обработки сервиса, агентской системе и к способу управления вызовами в такой системе.
Уровень техники
С быстрым развитием глобальных сетей, Интернет на основе протокола IP постепенно становится необходимым повседневным инструментом для работы и жизни, при этом, как наиболее важный инструмент для доступа к информации в Интернете, пользователи повсеместно используют браузеры.
Браузер представляет собой легко доступное программное обеспечение с базовым набором функций, и, как правило, имеет преимущества, заключающиеся в упрощенном развертывании и высокой степени расширяемости.
В существующих агентских системах, как правило, применяют программную структуру модели клиент-сервер (client/server, C/S). Вместе с миграцией телефонной сети общего доступа в IP-сети произошло объединение преимуществ различных сетей. Становятся все более очевидными недостатки существующих агентских систем колл-центров в аспектах развертывания, эксплуатации, надежности и т.д., в частности, следующие недостатки:
1) развертывание не является простым: в существующих агентских системах применяются традиционные способы выпуска программного обеспечения, требующие ручной установки и конфигурирования, и соответственно, являющиеся время- и трудозатратными.
2) не являются простыми в эксплуатации: каждая агентская система представляет собой отдельную копию программного обеспечения и должна быть сконфигурирована соответствующим образом, поскольку ее развертывание осуществляют в форме инсталляции. Поскольку программа является уникальной и ее необходимо заменять или изменять ее конфигурацию, рабочая сила расходуется на последовательное обслуживание всех машин друг за другом.
3) слабая надежность: сервисная логика и управление вызовами тесно связаны друг с другом, поскольку не используется иерархическое проектирование, при этом если сервисный модуль сталкивается с проблемой, вызов будет завершен.
Сущность изобретения
В некоторых вариантах осуществления настоящего изобретения предложен блок фоновой обработки сервиса, агентская система и способ управления вызовом для нее, которые позволяют представителю пользователя авторизоваться на сервере СТI и обрабатывать вызов посредством браузера на хост-машине, представляющей собой обычный компьютер, путем инсталляции блока фоновой обработки сервиса на упомянутую хост-машину.
Техническая схема некоторых вариантов осуществления настоящего изобретения включает:
блок фоновой обработки сервиса, включающий модуль стека протоколов, модуль конечных автоматов и модуль интерфейса доступа на стороне сервиса, при этом,
модуль стека протоколов, соединенный с сервером СТI и автоматическим диспетчером вызовов, используют для передачи и приема сообщения TSAPI и сообщения SIP, для анализа результата передачи сообщения и содержимого принятого сообщения, а также для доставки проанализированного сообщения в модуль конечных автоматов для обработки;
модуль конечных автоматов, связанный с модулем интерфейса доступа на стороне сервиса, используют для обеспечения контроля достоверности операции представителя пользователя в соответствии с состоянием агента и/или состоянием вызова, и для поддержания состояния агента и состояния вызова в соответствии с сообщением TSAPI и сообщением SIP, которые были приняты;
модуль интерфейса доступа на стороне сервиса используют для обеспечения интерфейсов управления состоянием агента и состоянием вызова для представителя пользователя.
Предпочтительно, упомянутый модуль стека протоколов включает, в частности, модуль стека протоколов TSAPI и модуль стека протоколов SIP, a модуль конечных автоматов включает, в частности, модуль конечного автомата агента и модуль конечного автомата вызова; при этом,
модуль стека протоколов TSAPI, соединенный с сервером СТI по IP-сети, используют для создания и освобождения соединения TSAPI, для приема и передачи сообщения TSAPI, для анализа подтверждения приема переданного сообщения и содержимого принятого сообщения, а также для доставки проанализированного сообщения в модуль конечного автомата агента для дальнейшей обработки;
модуль стека протоколов SIP, соединенный с автоматическим диспетчером вызовов через IP-сеть, используют для передачи и приема сообщения SIP, для анализа принятого сообщения SIP и для доставки проанализированного сообщения SIP в модуль конечного автомата вызова для дальнейшей обработки;
модуль конечного автомата агента используют для поддержания состояния агента в соответствии с принятым сообщением TSAPI, а также для обеспечения управления состоянием агента и для запроса состояния агента;
модуль конечного автомата вызова используют для поддержания состояния вызова в соответствии с сообщением TSAPI и сообщением SIP, которые были приняты, для обеспечения запроса состояния вызова, для операций по управлению вызовом и для операций по контролю достоверности.
Предпочтительно, блок фоновой обработки сервиса также включает:
модуль стека протокола FTP, который используют для обеспечения возможности передачи файлов по FTP;
модуль обнаружения обновлений, осуществляющий связь с модулем интерфейса доступа на стороне сервиса и с модулем стека протокола FTP, который используют для регулярных запросов FTP-сервера посредством модуля стека протокола FTP с целью проверки, имеется ли обновление агентского программного обеспечения, и если обновление обнаружено, для инициирования операции FTP по загрузке обновления, а также для регистрации нового агентского программного обеспечения.
Предпочтительно, модуль фоновой обработки сервиса также включает:
модуль стека протокола RTP, используемый для передачи и приема пакетов медиапотока под управлением модуля стека протоколов SIP, и для доставки принятых медиаданных в модуль кодирования и декодирования медиаданных для обработки;
модуль кодирования и декодирования медиаданных, осуществляющий связь с модулем стека протокола RTP, и отвечающий за операции кодирования и декодирования медиаданных, который используют, после того как голос, захватываемый устройством захвата голоса, преобразуют в цифровые сигналы с помощью голосовой платы, для выполнения кодирующего сжатия цифровых сигналов, полученных после упомянутого преобразования, для инкапсуляции этих цифровых сигналов после кодирующего сжатия в сообщение RTP, которое затем передают соответствующему узлу посредством модуля стека протокола RTP, и для доставки декодированных потоков данных в голосовую плату для синтеза и воспроизведения.
Предпочтительно, блок фоновой обработки сервиса также включает:
клиентский модуль доступа к данным, осуществляющий связь с модулем интерфейса доступа на стороне сервиса, который используют с целью обеспечения функции доступа к базе данных агентской системы для представителя пользователя, после того, как представитель пользователя инициирует операцию запроса данных посредством веб-страницы операций;
модуль интерфейса доступа на стороне сервиса, который также используют с целью обеспечения интерфейса доступа к базе данных агентской системы для представителя пользователя.
Агентская система, основанная на браузере, включает браузер и блок фоновой обработки сервиса, при этом
браузер используют для передачи запроса операции, в соответствии с представителем пользователя, в блок фоновой обработки сервиса посредством страницы операций, при этом браузер включает объект доступа к интерфейсу, который используют для передачи запроса операции от представителя пользователя в модуль интерфейса доступа на стороне сервиса блока фоновой обработки сервиса.
блок фоновой обработки сервиса, соединенный с сервером СТI и с автоматическим диспетчером вызовов, используют для приема запроса операции, принятия решения, может ли эта операция быть выполнена в текущий момент времени, и если да, для передачи запроса операции на сервер СТI по протоколу TSAPI, а также для осуществления переключения в соответствующее состояние агента после приема сообщения уведомления о завершении операции, переданного сервером СТI;
сервер СТI пересылает принятый запрос операции в автоматический диспетчер вызовов для выполнения, и пересылает, после того как выполнение завершено, сообщение уведомления о завершении операции, передаваемое автоматическим диспетчером вызовов в блок фоновой обработки сервиса.
Предпочтительно, браузер также используют для передачи запроса авторизации представителя пользователя в блок фоновой обработки сервиса посредством страницы авторизации, и для переключения текущей страницы авторизации на страницу операций после возврата сообщения о результате авторизации;
блок фоновой обработки сервиса используют также для приема запроса авторизации, принятия решения, может ли представитель пользователя в настоящий момент времени выполнить операцию авторизации, и если да, то для инициирования регистрации по протоколу TSAPI на сервере СТI и для установки соответствующего состояния агента, а также для инициирования регистрации по протоколу SIP в автоматическом диспетчере вызовов после успешной регистрации по протоколу TSAPI и для установки соответствующего состояния вызова, а также для передачи результата авторизации на страницу авторизации, открытую представителем пользователя, после успешной регистрации по протоколу SIP.
Способ управления вызовом в агентской системе, основанной на браузере, включает следующие шаги:
A) передачу браузером запроса операции, в соответствии с представителем пользователя, в блок фоновой обработки сервиса посредством страницы операций;
B) прием блоком фоновой обработки сервиса запроса операции, и принятие решения, может ли эта операция быть выполнена в текущий момент времени, если да, передачу этого запроса операции на сервер СТI;
C) пересылку сервером СТI принятого запроса операции в автоматический диспетчер вызовов для выполнения, и пересылку сообщения уведомления о завершении операции, переданного автоматическим диспетчером вызовов, в блок фоновой обработки сервиса после завершения выполнения упомянутого запроса операции;
D) выполнение блоком фоновой обработки сервиса соответствующего переключения состояния агента согласно принятому сообщению уведомления о завершении операции.
При этом процесс выполнения упомянутой операции автоматическим диспетчером вызовов является следующим:
после приема запроса операции автоматический диспетчер вызовов передает команду, соответствующую этой операции, в блок фоновой обработки сервиса по протоколу SIP;
после приема команды на операцию блок фоновой обработки сервиса выполняет соответствующую операцию управления медиапотоком, а также выполняет переключение в соответствующее состояние вызова, после чего возвращает сообщение подтверждения завершения операции в автоматический диспетчер вызовов по протоколу SIP;
после приема сообщения подтверждения завершения операции автоматический диспетчер вызовов передает сообщение уведомления о завершении операции на сервер СТI.
Предпочтительно, перед шагом А способ включает также следующие шаги:
передачу браузером запроса авторизации представителя пользователя в блок фоновой обработки сервиса посредством страницы авторизации;
прием блоком фоновой обработки сервиса упомянутого запроса авторизации и принятие решения, может ли представитель пользователя выполнить операцию авторизации в текущий момент времени, если да, инициирование регистрации по протоколу TSAPI на сервере CTI, установку соответствующего состояния агента, а также инициирование регистрации по протоколу SIP в автоматическом диспетчере вызовов после успешной регистрации по протоколу TSAPI и установку соответствующего состояния вызова, а также передачу результата авторизации на страницу авторизации, открытую представителем пользователя, после успешной регистрации по протоколу SIP.
Предпочтительно, после приема запроса авторизации, когда блок фоновой обработки сервиса принимает решение, может ли представитель пользователя выполнить операцию авторизации в текущий момент времени, если блок фоновой обработки сервиса обнаруживает, что представитель пользователя в текущий момент времени находится в состоянии разговора и текущий сеанс обслуживания не соединен с представителем пользователя, блок фоновой обработки сервиса возвращает сообщение для запроса, следует ли соединить сеанс обслуживания со страницей авторизации, и после приема возвращенного ответа на упомянутый запрос о соединении блок фоновой обработки сервиса снова создает соединение для упомянутого сеанса обслуживания.
Рассмотренные варианты осуществления настоящего изобретения имеют следующие преимущества:
техническая схема упомянутых вариантов осуществления настоящего изобретения позволяет представителю пользователя осуществлять авторизацию на сервере CTI и обрабатывать вызов посредством браузера на хост-машине, представляющей собой обычный компьютер, просто путем загрузки блока фоновой обработки сервиса на эту хост-машину при первом доступе. Техническая схема упомянутых вариантов осуществления настоящего изобретения позволяет максимально использовать преимущества простоты развертывания и высокой степени расширяемости, которыми обладает браузер, и вместе с тем позволяет решить проблему надежности браузера путем соответствующего проектирования структуры программного обеспечения, чем достигается реализация агентской системы, основанной на браузере и обладающей простотой развертывания, высокой надежностью и высокой степенью расширяемости. Агентская система имеет следующие достоинства:
1) Простота развертывания
Использование агентской системы на основе браузера, предложенной в вариантах осуществления настоящего изобретения, позволяет сократить затраты времени и рабочей силы на выпуск, инсталляцию и поддержку программного обеспечения, а также позволяет уменьшить стоимость эксплуатации и технического обслуживания. Поскольку требования к инсталляции и внедрению невысоки, агентская система, предложенная в вариантах осуществления настоящего изобретения, адаптируема к большинству компьютерных систем (настольным компьютерам, ноутбукам, ультрамобильным компьютерам и т.п.), а также может быть выполнена в качестве составной части интеллектуальных продуктов (например, смартфонов), и соответственно, является кросс-платформенной.
2) Высокая надежность
Традиционные агентские системы используют программную структуру, основанную на каркасах программного обеспечения, при этом модуль управления вызовами и модуль бизнес-процессов не дифференцированы по степени важности, в результате чего на критически важный модуль вызовов может легко повлиять модуль второстепенной важности, а это может привести к разрыву вызова. В структуре программного обеспечения агентской системы, предложенной в вариантах осуществления настоящего изобретения, модули программ и данных дифференцируют по степени важности во время их выполнения, при этом критически важные данные помещают в отдельные процессы, чем гарантируют безопасность базовых программ, а также повышают надежность общей структуры программного обеспечения агентской системы.
3) Высокая расширяемость
Агентская система, предложенная в вариантах осуществления настоящего изобретения, имеет пониженные ограничения в отношении веб-сервисов, что, соответственно, делает разработку и настройку веб-сервисов более гибкой.
В дополнение, блок фоновой обработки сервиса в агентской системе, предложенной в вариантах осуществления настоящего изобретения, включает механизм автоматических обновлений. Когда программная структура агентской системы должна быть обновлена, автоматическое обновление может осуществляться путем всего лишь размещения новой версии на FTP-сервере. Поскольку используется автоматическое обновление программного обеспечения, гарантируется синхронность и своевременность его обновления, что уменьшает время реакции на сообщения об ошибках и ускоряет реализацию запрашиваемых пользователями функций, а также значительно улучшает впечатление пользователей и их удовлетворенность обслуживанием.
Краткое описание чертежей
Фиг.1 представляет собой структурную схему блока фоновой обработки сервиса в одном из вариантов осуществления настоящего изобретения;
Фиг.2 представляет собой структурную схему агентской системы в одном из вариантов осуществления настоящего изобретения;
Фиг.3 представляет собой схему с временной последовательностью операций для способа авторизации агента посредством агентской системы, основанной на браузере, в одном из вариантов осуществления настоящего изобретения.
Фиг.4 представляет собой схему с временной последовательностью операций для способа управления вызовом агента посредством агентской системы, основанной на браузере, в одном из вариантов осуществления настоящего изобретения.
Фиг.5 представляет собой схему с временной последовательностью операций для способа восстановления после аварийной ситуации посредством агентской системы, основанной на браузере, в одном из вариантов осуществления настоящего изобретения.
Предпочтительные варианты осуществления настоящего изобретения
Основная идея настоящего изобретения заключается в том, что представитель пользователя может осуществлять авторизацию на сервере интеграции компьютерной телефонии (computer telephony integration, CTI) и обрабатывать вызов посредством одного только браузера - путем инсталляции блока фоновой обработки сервиса на хост-машине, расположенной на стороне агента. Суть применения фоновой обработки сервиса в качестве основы агентской системы на базе браузера, заключается в том, что различные функциональные модули агентской системы дифференцируют по степени важности, при этом модули с различной степенью важности изолируют друг от друга в различные процессы, при этом они, благодаря механизму изоляции, не влияют друг на друга, то есть программы и данные в различных процессах изолированы физически. Таким образом предотвращается снижение надежности критически важных модулей из-за влияния на них модулей второстепенной важности, чем гарантируется надежность всей агентской системы.
Конкретная процедура реализации настоящего изобретения будет рассмотрена далее более подробно со ссылками на приложенные чертежи.
Обратимся к фиг.1, представляющей собой структурную блок-схему блока фоновой обработки сервиса согласно настоящему изобретению, который включает, в основном, модуль стека протоколов, модуль конечных автоматов и модуль интерфейса доступа на стороне сервиса, при этом
модуль стека протоколов, соединенный с сервером CTI и автоматическим диспетчером вызовов (automatic call distributor, ACD) используют для передачи и приема сообщений прикладного программного интерфейса услуг телефонии (telephony service application programming interface, TSAPI) и сообщений протокола установления сеанса (session initiation protocol, SIP), анализа результата передачи сообщения и содержимого принятого сообщения, а также для доставки проанализированного сообщения в модуль конечных автоматов для обработки;
модуль конечных автоматов, связанный с модулем интерфейса доступа на стороне сервиса, используют для обеспечения контроля достоверности операций представителя пользователя в соответствии с состоянием агента и/или состоянием вызова, и для поддержания состояния агента и состояния вызова в соответствии с принятыми сообщением TSAPI и сообщением SIP;
модуль интерфейса доступа на стороне сервиса используют для обеспечения интерфейсов для управления состоянием агента и состоянием вызова для представителя пользователя.
Упомянутый модуль стека протоколов включает, в частности, модуль стека протоколов TSAPI и модуль стека протоколов SIP, а модуль конечных автоматов включает, в частности, модуль конечного автомата агента и модуль конечного автомата вызова; при этом,
модуль стека протоколов TSAPI, соединенный с сервером СТI по IP-сети, используют для создания и освобождения соединения TSAPI, для приема и передачи сообщения TSAPI, для анализа подтверждения приема при передаче сообщения и анализа содержимого принятого сообщения, а также для доставки проанализированного сообщения в модуль конечного автомата агента для дальнейшей обработки;
модуль стека протоколов SIP, соединенный с автоматическим диспетчером вызовов через IP-сеть, используют для передачи и приема сообщения SIP, для анализа принятого сообщения SIP и для доставки проанализированного сообщения SIP в модуль конечного автомата вызова для обработки;
модуль конечного автомата агента используют для поддержания состояния агента в соответствии с принятым сообщением TSAPI, а также для обеспечения управления состоянием агента и для запроса состояния агента;
модуль конечного автомата вызова используют для поддержания состояния вызова в соответствии с сообщением TSAPI и сообщением SIP, которые были приняты, для обеспечения запроса состояния вызова, для выполнения операций по управлению вызовом, а также операций по контролю достоверности.
При этом блок фоновой обработки сервиса также включает:
модуль стека протокола передачи в реальном времени (real-time transport protocol, RTP), используемый для передачи и приема пакетов медиапотока, и для доставки принятых медиаданных в модуль кодирования и декодирования медиаданных для обработки; при этом запуск и остановка упомянутых процедур передачи и приема данных медиапотока управляется стеком протоколов SIP;
модуль кодирования и декодирования медиаданных, осуществляющий связь с модулем стека протокола RTP, и отвечающий за операции кодирования и декодирования медиаданных, который используют, после того, как голос, захватываемый устройством захвата голоса, преобразуют в цифровые сигналы с помощью голосовой платы, для выполнения кодирующего сжатия цифровых сигналов, полученных после упомянутого преобразования, для инкапсуляции этих цифровых сигналов после кодирующего сжатия в сообщение RTP, которое затем передают соответствующему узлу посредством модуля стека протокола RTP, и для доставки декодированных потоков данных в голосовую плату для синтеза и воспроизведения.
С целью автоматического обновления клиентской (агентской) программы, а также для обеспечения синхронности и своевременности обновления программного обеспечения, блок фоновой обработки сервиса может также включать:
модуль стека протокола FTP (протокол передачи файлов), который используют для обеспечения передачи файлов по протоколу FTP для реализации автоматического обновления агентского программного обеспечения, загрузки голосовых данных для отчета об используемых идентификационных номерах персонала, загрузки в сеть записанных файлов и других функций;
модуль обнаружения обновлений, осуществляющий связь с модулем интерфейса доступа на стороне сервиса и модулем стека протокола FTP, который используют для регулярных запросов FTP-сервера, посредством модуля стека протокола FTP, с целью проверки, имеется ли обновление для агентского программного обеспечения, и если обновление обнаружено, для инициирования операции FTP по загрузке обновления и регистрации нового агентского программного обеспечения.
С целью обеспечения функции доступа к базе данных агентской системы модуль интерфейса доступа на стороне сервиса используют также для обеспечения интерфейса доступа к базе данных агентской системы, при этом блок фоновой обработки сервиса может также включать:
клиентский модуль доступа к данным, осуществляющий связь с модулем интерфейса доступа на стороне сервиса, который используют с целью обеспечения функции доступа к базе данных агентской системы для представителя пользователя посредством модуля интерфейса доступа на стороне сервиса после того, как представитель пользователя инициирует операцию запроса данных посредством веб-страницы операций.
Обратимся к фиг.2, данный чертеж представляет собой структурную схему агентской системы на основе браузера, предложенной в настоящем изобретении. Агентская система обеспечивает возможность авторизации представителя пользователя на сервере СТI, а также возможность обработки вызова посредством браузера путем инсталляции блока фоновой обработки сервиса, продемонстрированного на фиг.1, на хост-машине, расположенной на стороне агента. Агентская система включает, в общем случае, браузер и блок фоновой обработки сервиса, при этом
браузер используют для передачи запроса операции вызова от представителя пользователя в блок фоновой обработки сервиса посредством объекта доступа к интерфейсу с использованием открытой веб-страницы операций, а также для демонстрации представителю пользователя результата операции или уведомления о завершении операции, возвращаемых блоком фоновой обработки сервиса, через упомянутый объект доступа к интерфейсу. При этом
упомянутую веб-страницу операций используют для реализации определенного сервисного алгоритма управления вызовами и другими объектами с целью предоставления определенного сервиса путем его вызова из блока фоновой обработки сервиса;
упомянутый объект доступа к интерфейсу используют для обеспечения интерфейса доступа к блоку фоновой обработки сервиса, при этом его формируют с помощью веб-страницы операций, которой необходима данная функция фоновой обработки сервиса, и выполняют в процессе веб-страницы операций, при этом между упомянутым объектом и интерфейсом доступа на стороне сервиса из состава блока фоновой обработки сервиса запрос операции, инициируемый веб-страницей операции, доставляют через упомянутый процесс;
блок фоновой обработки сервиса используют для приема упомянутого запроса операции, принятия решения, может ли эта операция быть выполнена в текущий момент времени, и если да, для передачи запроса операции на сервер CTI по протоколу TSAPI, и для осуществления переключения в соответствующее состояние агента после приема сообщения уведомления о завершении операции, переданного сервером CTI, а также для передачи соответствующего результата операции на страницу операций, открытую в текущий момент времени в агенте; после приема команды управления вызовом, переданной ACD - для выполнения соответствующей операции управления медиапотоком и для выполнения соответствующего переключения состояния вызова, после чего - для возврата в ACD сообщения подтверждения завершения операции по протоколу SIP; после приема сообщения уведомления о завершении операции, переданного сервером CTI, - для выполнения переключения в соответствующее состояние агента, и для передачи сообщения уведомления о завершении операции на страницу операции, открытую в текущий момент времени агентом.
После приема запроса операции вызова, сервер CTI возвращает в блок фоновой обработки сервиса сообщение подтверждения запуска операции, и одновременно с этим пересылает этот запрос операции вызова в ACD для выполнения; и после того как ACD завершает операцию вызова, сервер CTI пересылает сообщение уведомления о завершении операции, переданное ACD, в блок фоновой обработки сервиса.
После приема запроса операции вызова, переданного сервером CTI, ACD передает соответствующую команду на операцию вызова в блок фоновой обработки сервиса по протоколу SIP, а также передает на сервер CTI сообщение уведомления о завершении операции - после приема сообщения подтверждения завершения операции, возвращенного блоком фоновой обработки сервиса.
Также, во время авторизации агента
браузер используют также для передачи запроса авторизации представителя пользователя в блок фоновой обработки сервиса посредством открытой веб-страницы авторизации, и для переключения текущей веб-страницы авторизации на страницу операций после возврата сообщения о результате авторизации;
блок фоновой обработки сервиса используют также для приема запроса авторизации, принятия решения, может ли представитель пользователя в настоящий момент времени выполнить операцию авторизации, и если да, для инициирования регистрации по протоколу TSAPI на сервере СТI, и для установки соответствующего состояния агента, а также для инициирования регистрации по протоколу SIP в ACD после успешной регистрации по протоколу TSAPI, и для установки соответствующего состояния вызова, а также для возвращения результата авторизации на страницу авторизации, открытую представителем пользователя, после успешной регистрации по протоколу SIP.
После приема запроса авторизации, переданного представителем пользователя посредством браузера, во время принятия решения блоком фоновой обработки сервиса, может ли представитель пользователя выполнить операцию авторизации в текущий момент времени, если блок фоновой обработки сервиса обнаруживает, что представитель пользователя в текущий момент времени находится в состоянии разговора, а текущий сеанс обслуживания не связан с агентом, блок фоновой обработки сервиса возвращает сообщение для запроса у пользователя, следует ли соединить сеанс обслуживания с открытой страницей авторизации, и при приеме возвращенного ответа на упомянутый запрос соединения, блок фоновой обработки сервиса снова создает соединение упомянутого сеанса обслуживания.
Обратимся к фиг.3, представляющей временную последовательность операций для способа авторизации агента посредством агентской системы на основе браузера, предложенной в настоящем изобретении, при этом упомянутая последовательность операций преимущественно включает следующие шаги:
Шаг 301, представитель пользователя открывает браузер на агентской хост-машине и вводит адрес веб-сервера колп-центра в формате унифицированного указателя ресурсов (uniform resourse locator, URL), и затем открывает соответствующую веб-страницу и вводит имя учетной записи вместе с паролем для авторизации в соответствии с приглашением на веб-странице авторизации, а веб-страница авторизации отправляет запрос авторизации в объект доступа к интерфейсу посредством вызова функции.
Шаг 302, объект доступа к интерфейсу затем доставляет запрос авторизации в модуль интерфейса доступа на стороне сервиса блока фоновой обработки сервиса посредством связи между процессами.
Шаг 303, модуль интерфейса доступа на стороне сервиса анализирует запрос авторизации и передает его в модуль конечного автомата агента для обработки.
Шаг 304, модуль конечного автомата агента проверяет, допустимо ли в текущем состоянии агента выполнять операцию авторизации, например, он проверяет, находится ли уже модуль конечного автомата агента в состоянии авторизации, и если да, то ему не разрешается осуществлять повторную авторизацию. Конкретная логика проверки определяется в соответствии с практическими требованиями к программному обеспечению. Если подтверждено, что агент в текущем состоянии способен выполнить операцию авторизации, то модуль конечного автомата агента вызывает модуль стека протоколов TSAPI для передачи запроса авторизации на сервер СТI.
Шаг 305, сервер СТI отвечает модулю стека протоколов TSAPI сообщением об успешной авторизации, при этом модуль стека протоколов TSAPI анализирует это сообщение и передает проанализированное сообщение в модуль конечного автомата агента для обработки.
Шаг 306, модуль конечных автоматов анализирует содержимое упомянутого сообщения и решает, что авторизация была успешна, и затем устанавливает соответствующее состояние агента, а также, одновременно с этим, информирует модуль конечного автомата вызова о результате авторизации.
Шаг 307, модуль конечного автомата вызова инициирует регистрацию по протоколу SIP в ACD после приема уведомления от модуля конечного автомата агента.
Шаг 308, ACD подтверждает успех регистрации по протоколу SIP и передает сообщение об успешной регистрации по протоколу SIP в модуль конечного автомата вызова.
Шаг 309, после приема сообщения об успешной регистрации по протоколу SIP модуль конечного автомата вызова устанавливает соответствующее состояние вызова и информирует модуль конечного автомата агента о сообщении успешной регистрации по протоколу SIP.
Шаг 310, после приема уведомления от модуля конечного автомата вызова модуль конечного автомата агента подтверждает, что авторизация и на сервере CTI, и в ACD была успешной, и затем определяет, что процедура авторизации была успешной в целом, и возвращает результат авторизации в модуль интерфейса доступа на стороне сервиса.
Шаг 311, модуль интерфейса доступа на стороне сервиса возвращает результат авторизации в объект доступа к интерфейсу посредством связи между процессами.
Шаг 312, объект доступа к интерфейсу доставляет результат авторизации на веб-страницу авторизации посредством возвращаемого значения функции или асинхронного сообщения; веб-страница авторизации переключается на соответствующую страницу операций, в соответствии с результатом авторизации.
Обратимся к фиг.4, которая представляет временную последовательность операций способа управления вызовом в агенте посредством агентской системы на основе браузера, предложенной в настоящем изобретении, при этом упомянутая последовательность операций включает преимущественно следующие шаги:
Шаг 401, представитель пользователя осуществляет управление вызовом, например, удержание, перевод, завершение вызова и т.п. путем щелчка мышью по управляющей кнопке на веб-странице операций.
Шаг 402, веб-страница операций преобразует операцию представителя пользователя в запрос операции и передает его в объект доступа к интерфейсу посредством вызова функции, и ожидает возвращаемого значения функции.
Шаг 403, объект доступа к интерфейсу доставляет упомянутый запрос операции в модуль интерфейса доступа на стороне сервиса блока фоновой обработки сервиса посредством связи между процессами, при этом запрос операции включает инструкции операции, параметры и другую информацию.
Шаг 404, модуль интерфейса доступа на стороне сервиса анализирует принятые инструкции операции и решает, каким модулем должны быть обработаны эти инструкции, и операцию вызова передают в модуль конечного автомата агента для обработки.
Шаг 405, модуль конечного автомата агента выполняет входной тест для запроса операции: в соответствии с его состоянием и посредством запроса состояния модуля конечного автомата вызова, он решает может ли упомянутая операция быть выполнена в настоящий момент времени и проверяет правильность параметров, например: операцию ответа допустимо выполнять только когда модуль конечного автомата агента находится в состоянии бездействия, а модуль конечного автомата вызова находится в состоянии сигнализации о входящем вызове. Логика в данном разделе может задаваться в соответствии с конкретной выполняемой операцией вызова. Если выполнение операции вызова недопустимо, или параметры некорректны, модуль конечного автомата агента перейдет к шагу 415 для осуществления обработки ошибок.
Шаг 406, если входной тест конечного автомата агента пройден, конечный автомат вызывает модуль стека протоколов TSAPI для передачи запроса операции вызова на сервер CTI.
Шаг 407, после приема запроса операции вызова, сервер CTI возвращает в модуль стека протоколов TSAPI сообщение подтверждения запуска операции, и одновременно с этим передает упомянутый запрос операции вызова в ACD для обработки.
Шаг 408, после приема сообщения подтверждения запуска операции модуль стека протоколов TSAPI анализирует формат этого сообщения и доставляет проанализированное сообщение в модуль конечного автомата агента для обработки. Переход к шагу 414.
Шаг 409, после приема запроса операции вызова ACD передает соответствующее командное сообщение SIP в модуль стека протоколов SIP в соответствии с инструкциями этой операции.
Шаг 410, после приема командного сообщения SIP модуль стека протоколов SIP, в соответствии с инструкциями операции, передает в модуль стека протокола RTP соответствующую инструкцию управления медиапотоком, например, запуск медиапотока, остановка медиапотока, переключение медиапотока и т.п., и одновременно с этим информирует модуль конечного автомата вызова об упомянутом командном сообщении SIP.
Шаг 411, после приема командного сообщения SIP модуль конечного автомата вызова выполняет переключение в соответствующее состояние вызова, и инструктирует модуль стека протоколов SIP о необходимости возвратить сообщение подтверждения завершения операции SIP в ACD.
Шаг 412, ACD, после получения сообщения подтверждения SIP, подтверждает завершение операции вызова и передает сообщение уведомления о завершении операции на сервер СТI, который затем передает это сообщение в модуль стека протоколов TSAPI.
Шаг 413, после приема сообщения уведомления о завершении операции модуль стека протоколов TSAPI анализирует это сообщение и передает проанализированное сообщение в модуль конечного автомата агента для обработки. Переход к шагу 419.
Шаг 414, после приема сообщения подтверждения запуска операции модуль конечного автомата агента выполняет переключение в соответствующее состояние агента и передает сообщение с результатом операции (ACK), сообщающее о подтверждении запуска операции, в модуль интерфейса доступа на стороне сервиса. Переход к шагу 416.
Шаг 415, модуль конечного автомата агента формирует коды ошибок в соответствии с причиной сбоя, и передает сообщение с результатом операции (NACK), сообщающее о сбое запуска операции, в модуль интерфейса доступа на стороне сервиса.
Шаг 416, модуль интерфейса доступа на стороне сервиса передает сообщение с результатом операции в объект доступа к интерфейсу посредством связи между процессами.
Шаг 417, функцию, вызванную объектом доступа к интерфейсу с помощью веб-страницы операций на шаге 402, завершают и получают возвращаемое значение под управлением объекта доступа к интерфейсу, при этом объект доступа к интерфейсу доставляет результат операции на веб-страницу операции посредством возвращаемого значения функции.
Шаг 418, в соответствии с результатом операции, возвращенным функцией, веб-страница операций выдает представителю пользователя причины сбоя в случае сбоя операции, или может инструктировать представителя пользователя о необходимости ожидания завершения операции, если операция успешна, это означает, что операция успешно запущена, но еще не завершена.
Шаг 419, после приема сообщения уведомления о завершении операции модуль конечного автомата агента выполняет переключение в соответствующее состояние агента, и передает упомянутое сообщение уведомления о завершении операции в модуль интерфейса доступа на стороне сервиса.
Шаг 420, модуль интерфейса доступа на стороне сервиса передает сообщение уведомления о завершении операции в объект доступа к интерфейсу посредством межпроцессной связи.
Шаг 421, после приема сообщения уведомления о завершении операции объект доступа к интерфейсу информирует веб-страницу операций посредством асинхронного события.
Шаг 422, веб-страница операций информирует представителя пользователя об успешном завершении операции.
Обратимся к фиг.5, представленная схема представляет собой временную последовательность операций способа восстановления после аварийной (исключительной) ситуации посредством агентской системы на основе браузера, предложенной в настоящем изобретении, при этом последовательность операций предпочтительно включает следующие шаги.
Шаг 501, браузер аварийно завершает работу во время совершения вызова представителем пользователя, представитель пользователя продолжает поддерживать соединение с абонентом, и одновременно с этим открывает браузер на агентской хост-машине, вводит URL-адрес веб-сервера колл-центра, открывает веб-страницу авторизации, вводит имя учетной записи и пароль для авторизации в соответствии с приглашением на веб-странице авторизации, и затем веб-страница авторизации передает запрос авторизации в объект доступа к интерфейсу посредством вызова функции.
Шаг 502, объект доступа к интерфейсу доставляет запрос авторизации в модуль интерфейса доступа на стороне сервиса блока фоновой обработки сервиса посредством связи между процессами.
Шаг 503, модуль интерфейса доступа на стороне сервиса анализирует запрос авторизации и передает его в модуль конечного автомата агента для обработки.
Шаг 504, модуль конечного автомата агента проверяет, способен ли агент в текущем состоянии выполнить операцию авторизации, и если обнаружено, что в текущий момент времени он находится в состоянии разговора, и что текущий сеанс обслуживания не связан с агентом, он возвращает определенный код в модуль интерфейса доступа на стороне сервиса для указания на то, что в текущий момент времени существует несоединенный сеанс обслуживания, и следует ли соединить этот сеанс.
Шаг 505, модуль интерфейса доступа на стороне сервиса возвращает этот код в объект доступа к интерфейсу посредством связи между процессами.
Шаг 506, объект доступа к интерфейсу доставляет, посредством возвращаемого значения функции или асинхронного сообщения, этот код на веб-страницу авторизации, которая затем запрашивает у представителя пользователя, следует ли соединить сеанс, соответствующий возвращенному коду.
Шаг 507, если представитель пользователя решает присоединиться к сеансу обслуживания, веб-страница авторизации доставляет запрос на соединение в объект доступа к интерфейсу.
Шаг 508, вслед за этим объект доступа к интерфейсу доставляет упомянутый запрос на соединение в модуль интерфейса доступа на стороне сервиса посредством связи между процессами.
Шаг 509, модуль интерфейса доступа на стороне сервиса выдает запрос на соединение в модуль конечного автомата агента для обработки, и модуль конечного автомата агента переконфигурирует состояние агента и одновременно с этим повторно создает соединение.
В данном примере осуществления настоящего изобретения критически важные процедуры - управление состояниями (состоянием агента, состоянием вызова), обработка управляющих сообщений, связанных с вызовами (сообщение SIP, сообщение TSAPI), а также обработка медиаданных (передача по протоколу RTP, кодирование и декодирование медиаинформации) размещены в блоке фоновой обработки сервиса и изолированы от логики обработки сервиса, имеющей второстепенное значение (веб-страница) и высокую вероятность возникновения ошибок, чем гарантируется надежность агентской системы в целом. Надежность включает непрерывность соединения, то есть агентская система не приведет к выходу представителя пользователя из СТI при возникновении ошибки на веб-странице, и непрерывность разговора, то есть разговор между представителем пользователя и абонентом не будет прерван из-за ошибки на веб-странице.
Что касается непрерывности соединения, если веб-страница завершает работу вследствие ошибки, стек протоколов TSAPI по-прежнему продолжает обрабатывать сообщения TSAPI, так как конечный автомат агента размещен в фоновом сервисном процессе; таким образом, соединение агента с СТI по-прежнему остается работающим. Веб-страница может получить состояние агента и продолжить работу путем повторного соединения с фоновым сервисным процессом после сброса.
Что касается непрерывности разговора, если веб-страница завершает работу вследствие ошибки, стек протоколов SIP по-прежнему обрабатывает сообщения SIP, так как конечный автомат вызова размещен в фоновом сервисном процессе, при этом модуль обработки медиаданных по-прежнему непрерывно собирает голосовые коды представителя пользователя и передает их на сторону абонента, и одновременно с этим, непрерывно принимает голосовые данные со стороны абонента посредством RTP и восстанавливает их с помощью звуковой карты после декодирования, позволяя, тем самым, представителю пользователя по-прежнему слышать голос абонента, и обеспечивая непрерывность разговора, несмотря на аварийную ситуацию на веб-сгранице. Веб-страница может продолжить выполнять операцию управления вызовом путем повторного соединения с фоновым сервисным процессом после сброса веб-страницы.
Очевидно, что специалисты в данной области техники могут осуществить различные модификации в настоящем изобретении без выхода за его рамки. В соответствии с этим настоящее изобретение также охватывает подобные модификации и изменения, если они находятся в рамках пунктов формулы изобретения или эквивалентных технологий.