Интеграция с Desktop приложениями — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
(Встраиваемые plugin-модули)
Строка 15: Строка 15:
 
=== Встраиваемые plugin-модули ===
 
=== Встраиваемые plugin-модули ===
  
Настоящий раздел руководства описывает технологию и интерфейс для подключения сторонних Plugin-модулей. Подобная архитектура предоставляет возможность разработчикам внедрять в стандартное клиентское приложение Oktell свои наработки, модули, визуальные формы и пользоваться полным спектром сервисов, предоставляемых коммуникационным сервером собственному клиентскому приложению.
+
Раздел руководства описывает технологию и интерфейс для подключения сторонних Plugin-модулей. Подобная архитектура предоставляет возможность разработчикам внедрять в стандартное клиентское приложение Oktell свои наработки, модули, визуальные формы и пользоваться полным спектром сервисов, предоставляемых коммуникационным сервером собственному клиентскому приложению.
  
 
В версии 2.5-90101 доступен режим подключения plugin-модулей в виде .NET сборок. В дальнейшем будет реализована возможность подключения плагинов через COM.
 
В версии 2.5-90101 доступен режим подключения plugin-модулей в виде .NET сборок. В дальнейшем будет реализована возможность подключения плагинов через COM.
Строка 25: Строка 25:
 
Например, возможны случаи, когда средствами встроенного редактора форм не удается «красиво» решить поставленную задачу обработки звонков операторами, а применение веб-технологий затруднено по тем или иным причинам. В частности с этой потребностью можно столкнуться, когда необходимо в зависимости от выбираемых оператором значений отображать сильно отличающиеся по структуре данные в форме и при этом оставлять возможность перевыбора. Или когда в операторскую форму необходимо загружать большой объем данных (это замедляет отображение формы), тем более это нехорошо, если часть данных может вовсе не потребоваться в соответствии с выбором оператора. Может понадобиться отображение специфичных элементов управления, или возможность редактирования данных в таблице. Все эти задачи позволяет решить технология подключения plugin-программ.
 
Например, возможны случаи, когда средствами встроенного редактора форм не удается «красиво» решить поставленную задачу обработки звонков операторами, а применение веб-технологий затруднено по тем или иным причинам. В частности с этой потребностью можно столкнуться, когда необходимо в зависимости от выбираемых оператором значений отображать сильно отличающиеся по структуре данные в форме и при этом оставлять возможность перевыбора. Или когда в операторскую форму необходимо загружать большой объем данных (это замедляет отображение формы), тем более это нехорошо, если часть данных может вовсе не потребоваться в соответствии с выбором оператора. Может понадобиться отображение специфичных элементов управления, или возможность редактирования данных в таблице. Все эти задачи позволяет решить технология подключения plugin-программ.
  
 +
=== Аудио и видео звонки из информационных терминалов и банкоматов ===
  
 +
Настоящий раздел руководства описывает COM интерфейс библиотеки, встраиваемой в другие приложения и проекты и обеспечивающей связь их пользователей с единым сервером, работающим в центральном офисе. Подобная архитектура предоставляет разработчикам возможность обеспечивать пользователей своих продуктов прямой связью со службами техподдержки, консультантов и т.д., а также передавать на сервер всю необходимую информацию для осуществления верной маршрутизации, для сохранения информации в БД, для формирования отчетов, для заполнения диалоговых форм операторов, для подготовки и вывода персонифицированной информации пользователю. Также подобная архитектура может быть использована для осуществления вызовов с различных терминалов в центральный call-центр.
  
 +
В центральном офисе (или сети офисов, связанных в единую телефонную инфраструктуру сервером Oktell), с сотрудниками которого требуется соединение абонентов - пользователей стороннего продукта, сервер Oktell занимается маршрутизацией вызовов. Там могут быть настроены и доступны любые сервисы, обеспечиваемые сервером. Вызовы могут обрабатываться IVR, операторами, также могут производиться видео-вызовы.
  
:*Информация по интеграции со сторонними приложениями через COM/.NET ядро клиентского приложения Oktell
+
При возникновении вопросов пользователи некоторого внешнего продукта в привычном режиме снимают трубки своих телефонов и набирают записанный в лицензионном соглашении или на сайте номер офиса разработчика. Возможно звонок проходит по межгороду с соответствующей тарификацией. Попав на секретаря или в какой-либо отдел, абоненту зачастую приходится неоднократно объяснять кто он, какая версия продукта установлена, по какому вопросу и в какой именно отдел он звонит. Возможно он просит соединить его с кем-то конкретным, с кем он накануне уже обсуждал свою проблему.  
:*Принципы и порядок  и подключения Plugin-модулей, операторских форм и компонентов сценариев Oktell,  
+
:*Видео/аудио подключение терминалов (информационные киоски, банкоматы и др. оборудование)
+
  
 +
После реализации описываемого механизма интеграции на сервере в офисе разработчика появляются каналы для обработки подключений таких абонентов. Пользователи продукта в визуальном интерфейсе получают доступ к некоторой кнопке "звонок в офис". Приложение, в которое интегрирована библиотека, собирает всю нужную информацию, которая может понадобиться серверу или сотрудникам офиса для ускорения и удобства обработки вызова. Вызовом соответствующего метода COM-библиотеки с передачей собранных параметров, указанием IP-адреса или доменного имени коммуникационного сервера в офисе производится прямое соединение через интернет с сервером. Вызов приходит на сервер по отведенным для этого каналам. Настроенная в главном сценарии ветка для обработки таких вызовов может содержать разбор передаваемых параметров компонентом сценария «Разбор текста». Привычным способом производится настройка и маршрутизация, при необходимости вход в задачу, переключение на какой-либо конкретный отдел или даже сотрудника (информация о предыдущих звонках может уже содержаться в БД), заполнение параметров диалоговых форм, переключение на автоматический информатор, на дополнительные поля ввода. Может быть настроено неголосовое взаимодействие внешнего приложения с центральным офисом с целью передачи данных и запуска некоторых бизнес-процессов. Все это определяется архитектором интеграции и как результатом совместно настроенными сценариями oktell и передаваемыми внешним ПО данными.
  
 +
Настройка комплекса достаточно глубока. Проработка концепции подобных вызовов и проведение работ по интеграции достаточно сложны. Но в итоге одним щелчком мыши производится соединение. Все остальное осталось незаметно ни для сотрудников call-центра, ни для пользователей программного продукта. Эти звонки, как и прочие, отражаются в статистике коммутаций сервера и доступны для анализа и подведения итогов.
  
Внимание! Раздел wiki находится в разработке.
+
Для корректной работы необходимо наличие доступа в интернет у пользователя внешнего приложения. Для организации звонков используется SIP-протокол, поэтому необходим доступ к соответствующим портам.  
  
([http://www.oktell.ru/loadfile/manual_dev.chm Скачать документацию по интеграции в формате chm ])
+
Сервер поддерживает подключение таких абонентов в режиме входящих вызовов, то есть связь устанавливается только по инициативе внешнего приложения. Исходящие звонки для связи с терминалом по инициативе сервера Oktell невозможны.
  
 +
Преимущество такого способа интеграции состоит в том, что внешние приложения подключаются к основному серверу только на момент осуществления вызова и считаются внешними абонентами. Таким образом не создают большой нагрузки на поддержание подключений, не  резервируют TCP порты подобно клиентским приложениям, что обеспечивает возможность иметь неограниченное число потенциальных абонентов, подключенных таким способом. Сервер настраивается на поддержку ограниченного числа одновременных сессий (транков) по данному направлению, что гарантирует отсутствие чрезмерной загрузки и перенасыщения при любых масштабах. Поскольку эти вызовы считаются внешними, то они полноценно поддерживаются менеджером задач и могут быть обработаны во входящих задачах.
  
 +
В случае, если все транки заняты, любой поступающий вызов будет получать отбой. Это может рассматриваться как повод увеличить количество одновременно обрабатываемых сессий (при необходимости увеличить серверные мощности, расширить call-центр), либо к перестроению процесса взаимодействия внешних абонентов с центральным call-центром (уменьшить время обработки и как следствие время коммутации, либо перестроить бизнес-процесс с целью уменьшить поток обращений).
  
Если при открытии chm файла вы видите только его содержание (в левой колонке), а самого содержимого не видите то откройте Проводник - правый клик на файле - свойства - внизу “разблокировать”.  
+
Рассматриваемый способ интеграции представляет интерес только при взаимодействии абонентов с сервером через глобальную сеть. Таким образом сервер должен иметь соизмеримую с потоком обращений ширину канала доступа к сети интернет. Видеосвязь предъявляет  более жесткие требования к ширине канала.
  
 +
([http://www.oktell.ru/loadfile/manual_dev.chm Скачать документацию по интеграции в формате chm ])
  
:* [[Интеграция с Desktop приложениями. Принципы работы.|Принципы работы.]]
+
Если при открытии chm файла вы видите только его содержание (в левой колонке), а самого содержимого не видите то откройте Проводник - правый клик на файле - свойства - внизу “разблокировать”.
:* [[Интеграция с Desktop приложениями. Регистрация библиотеки.|Регистрация библиотеки.]]
+
:* [[Интеграция с Desktop приложениями. Форматы и договоренности.|Форматы и договоренности]]
+
:* [[Интеграция с Desktop приложениями. Загрузка и выгрузка модуля.|Загрузка и выгрузка модуля]]
+
:* [[Интеграция с Desktop приложениями. Служебные сообщения.|Служебные сообщения.]]
+
:* [[Интеграция с Desktop приложениями. Исключительные ситуации.|Исключительные ситуации]]
+
:* [[Интеграция с Desktop приложениями. Сервисное оповещение.|Сервисное оповещение]]
+
:* [[Интеграция с Desktop приложениями. Работа с номерным планом.|Работа с номерным планом]]
+
:* [[Интеграция с Desktop приложениями. Работа со статусом пользователя.|Работа со статусом пользователя]]
+
:* [[Интеграция с Desktop приложениями. Работа с правилами переадресации.|Работа с правилами переадресации]]
+
:* [[Интеграция с Desktop приложениями. Работа с голосовой почтой.|Работа с голосовой почтой]]
+
:* [[Интеграция с Desktop приложениями. Работа с заказами на встречные звонки.|Работа с заказами на встречные звонки]]
+
:* [[Интеграция с Desktop приложениями. Статистика коммутаций.|Статистика коммутаций]]
+
:* [[Интеграция с Desktop приложениями. Работа с логикой АТС.|Работа с логикой АТС]]
+
:* [[Интеграция с Desktop приложениями. Работа с HAL.|Работа с HAL]]
+
:* [[Интеграция с Desktop приложениями. Обмен пользовательскими сообщениями.|Обмен пользовательскими сообщениями]]
+
:* [[Интеграция с Desktop приложениями. Файловые операции на сервере.|Файловые операции на сервере]]
+
:* [[Интеграция с Desktop приложениями. Запуск служебных сценариев.|Запуск служебных сценариев]]
+
:* [[Интеграция с Desktop приложениями. Исполнение запросов в БД.|Исполнение запросов в БД]]
+
:* [[Интеграция с Desktop приложениями. Вспомогательные методы.|Вспомогательные методы]]
+
:* [[Интеграция с Desktop приложениями. Осуществление и прием вызовов.|Осуществление и прием вызовов]]
+

Версия 13:09, 1 декабря 2012

Использование COM библиотеки Oktell из других приложений

Для разработчиков программных продуктов на платформе .NET существует возможность исключить COM-взаимодействие и напрямую работать с объектом .NET платформы Oktell по аналогичному интерфейсу. Итоговый продукт предполагает наличие коммуникационного сервера(ов) с установленным программным (и при необходимости аппаратным) обеспечением серверной части коплекса Oktell. Клиентские рабочие станции с установленным на них обеспечением, использующим зарегистрированный в ОС COM-объект клиентского уровня платформы, могут быть снабжены USB-телефонами и гарнитурами (USB и jack), а также аналоговыми и IP-телефонами, управляемыми коммуникационным сервером. Взаимодействие комплексов осуществляется по описанному интерфейсу с передачей сложных параметров в виде XML-структур. COM объект OktellComClient предоставляет методы, генерирует события, управляет подключенным к рабочей станции устройством, а также обеспечивает сетевое взаимодействие с коммуникационным сервером.

Пользователю итогового продукта доступны два режима работы:

  • через интегрирующее приложение;
  • через стандартное клиентское приложение Oktell.

Массовая работа пользователей, подключенных к серверу, осуществляется через интегрирующее приложение. В этом случае все визуальные интерфейсы принадлежат именно ему. Работающая в этом случае прослойка Oktell предоставляет лишь невизуальные сервисы самому приложению. Необходимость работы в клиентском приложении Oktell диктуется задачами, решаемыми администратором и менеджерами проектов для детальной настройки режимов работы сервера, и носит индивидуальный характер.

Встраиваемые plugin-модули

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

В версии 2.5-90101 доступен режим подключения plugin-модулей в виде .NET сборок. В дальнейшем будет реализована возможность подключения плагинов через COM.

Plugin-модуль представляет собой совокупность сборок, одна из которых является главной (стартовой), и других файлов, расположенных рядом со сборками, возможно в произвольной структуре каталогов. В частном случае плагин - это единственный файл - главная сборка. Вся совокупность файлов модуля в дальнейшем будет называться plugin-программой.

Основная проблема, решаемая подключением внешних модулей, - доступ пользователей к информации с отображением в специфичном виде, не имеющем возможности быть настроенным средствами стандартного приложения Oktell.

Например, возможны случаи, когда средствами встроенного редактора форм не удается «красиво» решить поставленную задачу обработки звонков операторами, а применение веб-технологий затруднено по тем или иным причинам. В частности с этой потребностью можно столкнуться, когда необходимо в зависимости от выбираемых оператором значений отображать сильно отличающиеся по структуре данные в форме и при этом оставлять возможность перевыбора. Или когда в операторскую форму необходимо загружать большой объем данных (это замедляет отображение формы), тем более это нехорошо, если часть данных может вовсе не потребоваться в соответствии с выбором оператора. Может понадобиться отображение специфичных элементов управления, или возможность редактирования данных в таблице. Все эти задачи позволяет решить технология подключения plugin-программ.

Аудио и видео звонки из информационных терминалов и банкоматов

Настоящий раздел руководства описывает COM интерфейс библиотеки, встраиваемой в другие приложения и проекты и обеспечивающей связь их пользователей с единым сервером, работающим в центральном офисе. Подобная архитектура предоставляет разработчикам возможность обеспечивать пользователей своих продуктов прямой связью со службами техподдержки, консультантов и т.д., а также передавать на сервер всю необходимую информацию для осуществления верной маршрутизации, для сохранения информации в БД, для формирования отчетов, для заполнения диалоговых форм операторов, для подготовки и вывода персонифицированной информации пользователю. Также подобная архитектура может быть использована для осуществления вызовов с различных терминалов в центральный call-центр.

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

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

После реализации описываемого механизма интеграции на сервере в офисе разработчика появляются каналы для обработки подключений таких абонентов. Пользователи продукта в визуальном интерфейсе получают доступ к некоторой кнопке "звонок в офис". Приложение, в которое интегрирована библиотека, собирает всю нужную информацию, которая может понадобиться серверу или сотрудникам офиса для ускорения и удобства обработки вызова. Вызовом соответствующего метода COM-библиотеки с передачей собранных параметров, указанием IP-адреса или доменного имени коммуникационного сервера в офисе производится прямое соединение через интернет с сервером. Вызов приходит на сервер по отведенным для этого каналам. Настроенная в главном сценарии ветка для обработки таких вызовов может содержать разбор передаваемых параметров компонентом сценария «Разбор текста». Привычным способом производится настройка и маршрутизация, при необходимости вход в задачу, переключение на какой-либо конкретный отдел или даже сотрудника (информация о предыдущих звонках может уже содержаться в БД), заполнение параметров диалоговых форм, переключение на автоматический информатор, на дополнительные поля ввода. Может быть настроено неголосовое взаимодействие внешнего приложения с центральным офисом с целью передачи данных и запуска некоторых бизнес-процессов. Все это определяется архитектором интеграции и как результатом совместно настроенными сценариями oktell и передаваемыми внешним ПО данными.

Настройка комплекса достаточно глубока. Проработка концепции подобных вызовов и проведение работ по интеграции достаточно сложны. Но в итоге одним щелчком мыши производится соединение. Все остальное осталось незаметно ни для сотрудников call-центра, ни для пользователей программного продукта. Эти звонки, как и прочие, отражаются в статистике коммутаций сервера и доступны для анализа и подведения итогов.

Для корректной работы необходимо наличие доступа в интернет у пользователя внешнего приложения. Для организации звонков используется SIP-протокол, поэтому необходим доступ к соответствующим портам.

Сервер поддерживает подключение таких абонентов в режиме входящих вызовов, то есть связь устанавливается только по инициативе внешнего приложения. Исходящие звонки для связи с терминалом по инициативе сервера Oktell невозможны.

Преимущество такого способа интеграции состоит в том, что внешние приложения подключаются к основному серверу только на момент осуществления вызова и считаются внешними абонентами. Таким образом не создают большой нагрузки на поддержание подключений, не резервируют TCP порты подобно клиентским приложениям, что обеспечивает возможность иметь неограниченное число потенциальных абонентов, подключенных таким способом. Сервер настраивается на поддержку ограниченного числа одновременных сессий (транков) по данному направлению, что гарантирует отсутствие чрезмерной загрузки и перенасыщения при любых масштабах. Поскольку эти вызовы считаются внешними, то они полноценно поддерживаются менеджером задач и могут быть обработаны во входящих задачах.

В случае, если все транки заняты, любой поступающий вызов будет получать отбой. Это может рассматриваться как повод увеличить количество одновременно обрабатываемых сессий (при необходимости увеличить серверные мощности, расширить call-центр), либо к перестроению процесса взаимодействия внешних абонентов с центральным call-центром (уменьшить время обработки и как следствие время коммутации, либо перестроить бизнес-процесс с целью уменьшить поток обращений).

Рассматриваемый способ интеграции представляет интерес только при взаимодействии абонентов с сервером через глобальную сеть. Таким образом сервер должен иметь соизмеримую с потоком обращений ширину канала доступа к сети интернет. Видеосвязь предъявляет более жесткие требования к ширине канала.

(Скачать документацию по интеграции в формате chm )

Если при открытии chm файла вы видите только его содержание (в левой колонке), а самого содержимого не видите то откройте Проводник - правый клик на файле - свойства - внизу “разблокировать”.