Разработка специального телекоммуникационного Web-сервиса для управления соединениями со стороны телефонной сети с применением WebSphere Telecom Web Services Server

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

Эта статья содержит рекомендации и процедуры по разработке специальной реализации Web-сервиса, которая помогает решению взаимодействовать с конкретным программным коммутатором, с использованием платформы IBM WebSphere® Telecom Web Services Server.

Сиддик Мохаммед Адони, консультирующий инженер-программист, IBM

Сиддик А. Мухаммед работает консультирующим инженером-программистом в группе разработчиков системы IBM Communications Service Enablers отделения IBM India Software Labs в Бангалоре. Имеет более чем 10-летний опыт работы в сфере ИТ, работал над многими продуктами промежуточного ПО IBM для сферы телекоммуникаций и управления бизнес-процессами. Получил степень бакалавра технических наук в области электроники и вычислительной техники.



02.10.2012

Обзор

Часто используемые сокращения

  • EAR: Enterprise archive file – файл архива предприятия
  • J2EE: Java™ 2 Platform Enterprise Edition
  • SIP: Session Initiation Protocol - протокол инициализации сеанса связи
  • TPCC: Third-party call control - управление соединениями со стороны телефонной сети
  • WSDL: Web Services Description Language - язык описания Web-сервисов

В рамках этой статьи мы создадим специальную реализацию сервиса с использованием WSDL-документа ТРСС Parlay X 2.1 и разработаем с помощью Platform Application Service специальный сервис на базе WebSphere Telecom Web Services Server. Специальная реализация Web-сервиса ТРСС предназначена для определенного потока соединений, который работает с определенными программными коммутаторами, требующими поддержки расширения 100rel и взаимодействия с функцией early media.

Такая специальная реализация Web-сервиса ТРСС — отклонение от стандартных потоков соединений, определенных в документе RFC 3725 Best Current Practices for Third Party Call Control in Session Initiation Protocol (SIP).

Предварительные замечания

Для разработки специальной реализации сервиса с использованием в качестве платформы разработки WebSphere Telecom Web Services требуется следующее:

  • понимание спецификации Web-сервисов third-party call control (TPCC) Parlay X;
  • поток соединений с использованием абонентских агентов и медиасервера;
  • платформа WebSphere Telecom Web Services Server.

Платформа WebSphere Telecom Web Services Server

Сервис на платформе WebSphere Telecom Web Services Server содержит реализацию в виде Web-сервиса стандартизованного уровня абстракции для базовых сетевых служб, таких как протокол управления соединениями со стороны телефонной сети Parlay X. Реализация сервиса участвует в работе сервисной платформы WebSphere Telecom Web Services Server, позволяя поставщикам услуг интегрировать и предоставлять сетевые и ИТ-интерфейсы более высокого уровня, с помощью которых можно создавать разнообразные дополнительные услуги. В следующих разделах рассматриваются вопросы проектирования, относящиеся к реализации спецсервиса..

Интерфейс управления соединениями со стороны телефонной сети

Интерфейс управления соединениями со стороны телефонной сети – это Web-сервис для обработки запросов через HTTP на базе SOAP (Simple Object Access Protocol). Для каждого соединения он реализует SIP-контроллер back-to-back user agent (B2BUA), который управляет состоянием соединения со стороны телефонной сети до тех пор, пока его не завершат абонентские агенты. В рамках интерфейса управления соединениями со стороны телефонной сети поддерживаются следующие операции.

  • makeCall

    Устанавливает голосовое соединение между двумя адресами, callingParty и calledParty.

  • getCallInformation

    Извлекает CallInformation, текущее состояние соединения с идентификатором CallIdentifier.

  • endCall

    Завершает соединение с идентификатором callidentifier.

  • cancelCall

    Отменяет ранее запрошенное соединение с идентификатором callidentifier.

Компоненты сервиса управления соединениями со стороны телефонной сети

Спецсервис управления соединениями со стороны телефонной сети реализован как Web-сервис. Логику этого сервиса составляют следующие компоненты:

  • реализация Web-сервиса с помощью привязки Java™ Bean наряду с логикой вызова общих компонентов WebSphere Telecom Web Services Server;
  • SIP-сервлеты, обрабатывающие входящие и исходящие сигналы SIP сетевых элементов, например, Softswitch;
  • компоненты Java Management Extensions MBean для управления сервисом в среде WebSphere Telecom Web Services Server;
  • сообщения протоколирования и трассировки на различных этапах обработки.

Методы протокола SIP, используемые спецсервисом СТСС

Спецсервис СТСС определяет следующие методы в SIP-сообщении INVITE: INVITE, UPDATE, BYE, ACK, CANCEL, PRACK, 100rel, Precondition.

Среда разработки

Рекомендованная среда разработки ― Rational Application Developer версии 7.0. Rational Application Developer обеспечивает интегрированную среду разработки (IDE) с удобными мастерами и виджетами для создания приложений на основе J2EE и Web-сервисов.


Создание проекта спецсервиса

Спецсервис создается путем реализации проекта с использованием Platform Application Service. К Platform Application Service обращаются с помощью Telecom Web Services Server в следующей форме: platform.ear

  1. Запустите Rational Application Developer и создайте рабочую область.
  2. Импортируйте platform.ear с помощью мастера импорта Rational Application Developer. Выберите папку J2EE, затем выберите пункт EAR file. Переименуйте файл EAR в PX21_TPC_IMS, чтобы обозначить Web-сервис Parlay X.
  3. В следующем окне отображается список библиотек (хранящихся в виде служебных архивов jar). Выберите библиотеки, которые создают служебные проекты в рамках корпоративного приложения. Нужно выбрать служебные файлы admincons-ejb.jar, admincons-web.war и admincons.
  4. Найдите дескриптор развертывания PX21_TPC_IMS, дважды щелкните, чтобы изменить его, и измените отображаемое имя на PX2_TPC_IMS.

Разработка сервиса Parlay X

  1. Выберите проект PX21_TPC_IMS и создайте динамический Web-проект с именем thirdparty-web. У этого проекта будет доступ ко всем служебным библиотекам jar, импортированным в рабочую область.

    Web-проект состоит из B2BUA и обработчиков UA1 и UA2, представляющих соответствующие абонентские агенты, которые участвуют в соединении, управляемом со стороны телефонной сети.

    Обработчики ― это siplet'ы, которые расширяют суперкласс SipServlet, реализующий базовые методы SIP: doAck, doBye, doCancel, doErrorResponse (реакция на отказ, например, когда телефон UA2 звонит, но не устанавливает соединение), doInfo, doInvite, doOptions, doProvisionalResponse, doUpdate и doSuccessResponse.

  2. Создайте динамический Web-проект, установив флажки всех необходимых библиотек WebSphere Telecom Web Services Server.

Импорт WSDL и создание привязок Web-сервиса

  1. Когда динамический Web-проект готов, импортируйте из WebSphere Telecom Web Services Server файлы определения схемы и WSDL-файлы управляемых со стороны телефонной сети соединений Parlay X.
  2. Создайте новую папку с помощью следующей команды: Thirdparty-web -> WebContent -> WEB-INF -> wsdl. Выберите в проводнике папку с файлами wsdl (извлеченными из platform.ear) и импортируйте ее в папку wsdl.
  3. Создание привязок Web-сервиса:
    • щелкните правой кнопкой мыши на px_tpc_s_2_3.wsdl и выберите Web Service. Создайте Java-скелет. В окне Web Service измените уровень со Start Service на Deploy Service;
    • измените Web service runtime на IBM WebSphere JAX-RPC. Это позволяет привязке реализовать javax.xml.rpc.server.ServiceLifeCycle и обеспечить доступ к базовой объектной среде выполнения ServletContext.

      BindingImpl генерируется для четырех операций, поддерживаемых ThirdParty Call, а именно: makeCall, getCallInformation, cancelCall и endCall. BindingImpl, сгенерированный для ThirdPartyCall, будет называться ThirdPartyCallBindingImpl.java.


Создание служебных проектов

Чтобы создать перечисленные ниже служебные проекты, перейдите в Rational Application Developer по следующему пути: File -> New -> Project -> Java EE -> Utility Project. Соответственно используйте следующие имена проектов.

  • thirdparty

    Этот проект содержит JavaBean (методы getter и setter) для каждого из элементов, определенных спецификацией управления соединениями со стороны телефонной сети Parlay X.

  • thirdpartyAC

    Этот проект содержит классы MBean, представляющие различные параметры конфигурации Custom ThirdParty Web Services. Они отображаются на консоли администратора IBM Telecom Web Services Server.

  • thirdparty-utils

    Этот проект содержит служебные классы для проверки формата адреса p-asserted-identity представления данных для протокола описания сеанса согласно RFC 2327.

Приведенные выше инструкции помогают создать специализированную реализацию Web-сервиса на платформе WebSphere Telecom Web Services Server. К этой статье прилагается пример кода, демонстрирующий возможности специального Web-сервиса управления соединениями со стороны телефонной сети (см. раздел Загрузки).

Примечание. На этот пример реализации распространяется Сертификат происхождения IBM.


Установка специализированного Web-сервиса

Когда специальный Web-сервис управления соединениями со стороны телефонной сети разработан, экспортируйте приложение как файл EAR. Это J2EE-приложение.

Выполните следующие действия из рабочей области Rational Application Developer.

  1. Щелкните на проекте PX21_TPC_IMS правой кнопкой мыши и выберите export.
  2. Выберите Ear file.
  3. Сохраните файл в папку локальной файловой системы.

Теперь это корпоративное приложение можно установить на WebSphere Application Server. Запустите приложение Custom Third Party Call web service. Сервис появится на консоли администратора WebSphere Telecom Web Services Server. Чтобы настроить различные параметры спецсервиса, нажмите на ссылку Web Service platform в окне TWSS Administration Console.


Загрузка

ОписаниеИмяРазмер
Пример кодаTWSS_Custom_3pcc_PI_17112011.zip4 МБ
ДокументацияCustom_3pcc_Import_To_Eclipse.zip2 МБ

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

  • Примите участие в жизни сообщества My developerWorks. Поддерживайте связь с другими пользователями DeveloperWorks, читая блоги, форумы, группы и вики, которые ведут разработчики.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы в первый раз заходите в developerWorks. Выберите данные в своем профиле (имя, страна/регион, компания) которые будут общедоступными и будут отображаться, когда вы публикуете какую-либо информацию. Вы можете изменить данные вашего ИБМ аккаунта в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere, Rational
ArticleID=838708
ArticleTitle=Разработка специального телекоммуникационного Web-сервиса для управления соединениями со стороны телефонной сети с применением WebSphere Telecom Web Services Server
publish-date=10022012