Neste artigo, criaremos uma implementação de serviço personalizada usando o documento WSDL de chamada de terceiros, Parlay X 2.1, e criaremos um serviço do WebSphere Telecom Web Services Server customizado usando o Platform Application Service. A implementação customizada do serviço da web de chamada de terceiros serve para um fluxo de chamada de específico que funciona com determinados softswitches e tem um requisito de suporte de extensão de 100 rel e interação inicial de mídia.
Essa implementação customizada de serviço da web de chamada de terceiros é um desvio dos fluxos de chamada padrão definidos em "RFC 3725 Melhores práticas atuais para controle de chamada de terceiros no Protocolo de Inicialização de Sessão (SIP)".
O desenvolvimento de uma implementação de serviço customizada com o WebSphere Telecom Web Services Server como uma plataforma exige o seguinte:
- Compreensão das especificações de serviço da web do controle de chamada de terceiros (TPCC), Parlay X
- Fluxo de chamada com os agentes de usuário e servidor de mídia
- Plataforma WebSphere Telecom Web Services Server
WebSphere Telecom Web Services Server
Uma implementação do serviço WebSphere Telecom Web Services Server é composta por uma implementação de serviço da web expondo abstrações com base em padrões para serviços de rede subjacentes, por exemplo, o controle de chamada de terceiros, Parlay X. A implementação do serviço participa do ambiente de plataforma de serviço WebSphere Telecom Web Services Server, permitindo que um provedor de serviço integre e exponha as interfaces de rede interfaces de TI de nível superior que permitem o desenvolvimento de serviços ricos e com valor agregado. As seções subsequentes discutem as considerações de design específicas às implementações do serviço customizado.
Interface da chamada de terceiros customizada
A interface de chamada de terceiros é SOAP, o Simple Object Access Protocol, sobre serviço da web de solicitação HTTP. A interface de chamada de terceiros implementa um controlador SIP back-to-back user agent (B2BUA) por chamada que mantém o estado da chamada de terceiros até que um dos agentes do usuário encerre a chamada. As seguintes operações são suportadas como parte da interface de chamada de terceiros:
- makeCall
Configura uma chamada de voz entre 2 endereços, callingParty e calledParty.
- getCallInformation
recupera o status atual, CallInformation, da chamada identificada pelo CallIdentifier.
- endCall
Finaliza a chamada identificada pelo callidentifier.
- cancelCall
Cancela a chamada solicitada anteriormente identificada por callidentifier.
Componentes do serviço de chamada de terceiros
O serviço de chamada de terceiros customizado é realizado como um serviço da web. A lógica do serviço é composta pelos seguintes componentes:
- A implementação do serviço da web com ligação do Java™Bean, junto com a lógica para invocar componentes comuns do WebSphere Telecom Web Services Server
- Servlets SIP que manipulam a sinalização SIP de e para os elementos de rede, por exemplo, Softswitch
- Componentes do Java Management Extensions MBean para gerenciar o serviço no WebSphere Telecom Web Services Server
- Criação de log e mensagens de rastreio em diversos estágios do processamento
Métodos SIP usados pela chamada de terceiros personalizada
A chamada de terceiros personalizada indicará isso pela configuração dos métodos na mensagem SIP INVITE: INVITE, UPDATE, BYE, ACK, CANCEL, PRACK, 100rel, Precondition.
Rational Application Developer versão 7.0 é o ambiente de desenvolvimento recomendado. O Rational Application Developer fornece um integrated development environment (IDE) com assistentes fáceis e simples e widgets para o desenvolvimento de aplicativos J2EE e de aplicativos com base em serviços da web.
Criar um projeto de serviço customizado
Um serviço customizado é criado pela implementação de um projeto usando o Platform Application Service. O Platform Application Service está disponível com o Telecom Web Services Server na seguinte forma: platform.ear
- Inicie o Rational Application Developer e escolha criar uma área de trabalho.
- Importe o platform.ear com a ajuda de um assistente de importação do Rational Application Developer. Escolha a pasta J2EE e selecione a opção EAR file da coluna. Renomeie o arquivo EAR como "PX21_TPC_IMS" para fazer referência ao serviço da web Parlay X
- A próxima janela exibirá uma lista de bibliotecas (armazenadas como jars utilitários). Selecione a biblioteca que cria projetos utilitários sob o aplicativo corporativo. Os arquivos jar de utilitário a serem selecionados sã oadmincons-ejb.jar, admincons-web.war e admincons.
- Localize o descritor de implementação para o PX21_TPC_IMS, clique duas vezes para editar e alterar o nome de exibição para "PX2_TPC_IMS".
Desenvolva um serviço Parlay X
- Selecione o projeto PX21_TPC_IMS e crie um projeto da web dinâmico, defina o
nome como "thirdparty-web". Esse projeto terá acesso a todos os
jars de utilitário importados para a área de trabalho.
Este projeto da web é composto pelo B2BUA e por manipuladores que representam os agentes do usuário respectivos, UA1 e UA2, envolvidos em uma chamada de terceiros.
Os manipuladores são siplets que ampliam a superclasse SipServlet que implementa os métodos SIP básicos: doAck, doBye, doCancel, doErrorResponse (Falha de resposta, por exemplo, o telefone UA2 toca, mas ninguém atende à chamada), doInfo, doInvite, doOptions, doProvisionalResponse, doUpdate e doSuccessResponse.
- Defina o projeto da web dinâmico com todas as caixas de seleção essenciais das bibliotecas do WebSphere Telecom Web Services Server.
Importar o WSDL e gerar as ligações do serviço da web
- Após a criação do projeto da web dinâmico, importe o WSDL de chamada de terceiros, Parlay X, e os arquivos de definição de esquema do WebSphere Telecom Web Services Server.
- Crie uma nova pasta da seguinte maneira: Thirdparty-web -> WebContent -> WEB-INF -> wsdl Selecione a pasta no explorer onde os arquivos wsdl estão disponíveis (extraídos do platform.ear) e importe-os para a pasta wsdl
- Gere as ligações do serviço da web:
- Clique com o botão direito do mouse em px_tpc_s_2_3.wsdl e selecione Web Service. Gere um esqueleto Java. Na janela Web Service, muda o nível de "Start Service" para "Deploy Service".
- Mude o "Web service runtime" para "IBM WebSphere JAX-RPC".
Isso permite a ligação para implementar
javax.xml.rpc.server.ServiceLifeCycle e fornece acesso ao tempo
de execução do objeto ServletContext subjacente.
BindingImpl é gerado para as 4 operações suportadas por ThirdParty Call, namely: makeCall, getCallInformation, cancelCall e endCall. O BindingImpl gerado para ThirdPartyCall será nomeado ThirdPartyCallBindingImpl.java.
Para criar os projetos utilitários mencionados abaixo, no Rational Application Developer, siga este caminho: File -> New -> Project -> Java EE -> Utility Project. Use os nomes de projeto a seguir apropriadamente.
- thirdparty
Este projeto contém o JavaBean (métodos getter e setter) para cada um dos elementos definidos pelas especificações da chamada de terceiros Parlay X.
- thirdpartyAC
Este projeto contém as classes MBean que representam os diversos parâmetros de configuração específicos aos Serviços da web de terceiros customizados. Eles são exibidos no console de administração do IBM Telecom Web Services Server.
- thirdparty-utils
Este projeto contém as classes do utilitário para validação do formato do endereço, p-asserted-identity, representação de dados para o Session Description Protocol, conforme a RFC 2327.
Os detalhes fornecidos acima ajudarão a criar uma implementação de serviço da web customizada na plataforma WebSphere Telecom Web Services Server. Uma amostra de código demonstrando os recursos de um serviço da web de chamada de terceiros customizado é fornecida com este artigo, consulte Faça o download do.
Observação: essa amostra de implementação é coberta pelo IBM Certificate of Originality.
Implementar o serviço da web customizado
Após o desenvolvimento do serviço da web de chamada de terceiros customizado, exporte o aplicativo como um arquivo EAR. Isso representa um aplicativo J2EE.
A partir da área de trabalho do Rational Application Developer:
- Clique com o botão direito do mouse no projeto PX21_TPC_IMS e escolha a opção export.
- Selecione o conjunto de dados Ear file
- Salve o arquivo em uma pasta no sistema de arquivos local.
Esse aplicativo corporativo pode ser implementado em um WebSphere Application Server. Inicie o aplicativo "Custom Third Party Call web service". Isso permitirá que o serviço fique visível no console de administração do WebSphere Telecom Web Services Server. Para configurar os diversos parâmetros para o serviço customizado, clique no link Web Service platform exibido sob TWSS Administration Console.
| Descrição | Nome | Tamanho | Método de download |
|---|---|---|---|
| Sample code | TWSS_Custom_3pcc_PI_17112011.zip | 4MB | HTTP |
| Documentation | Custom_3pcc_Import_To_Eclipse.zip | 2MB | HTTP |
Informações sobre métodos de download
Aprender
- Melhores práticas atuais para controle de
chamada de terceiros (3pcc) no Protocolo de Inicialização de Sessão (SIP)
-
IBM
Service Provider Delivery Environment Framework Industries: Explore esta estrutura do segmento de mercado de telecomunicações aberta, escalável e flexível.
-
Centro de Informações do software IBM WebSphere para Telecomunicação: Leia a documentação de produtos de telecomunicações da IBM.
-
Documentação do produto IBM WebSphere Telecom Web Services Server: Localize documentação para este produto IBM.
-
Segmentos de mercado no IBM developerWorks: Obtenha os recursos técnicos específicos do segmento de mercado mais recentes para desenvolvedores.
- Fique por dentro dos
developerWorks com foco em uma variedade de produtos IBM e assuntos do segmento de mercado de TI.
- Participe de um resumo de instruções gratuito no briefing ao vivo e gratuito do developerWorks Live! para se atualizar rapidamente sobre produtos e ferramentas IBM e tendências do segmento de mercado de TI.
- Siga os tweets do developerWorks no Twitter.
- Acompanhe as demos sob demanda do developerWorks , que abrangem desde demos de instalação e configuração de produtos para iniciantes até funcionalidades avançadas para desenvolvedores experientes.
Obter produtos e tecnologias
-
Avalie o WebSphere Telecom Web Services Server: faça o download
do WebSphere Telecom Web Services Server, que oferece acesso controlado, seguro, flexível
e conduzido por políticas aos serviços de rede.
-
Avalie: IBM Rational Application Developer para Software WebSphere: faça o download de uma versão de avaliação ou trabalhe com o produto em um
ambiente de simulação.
Discutir
- Participe da comunidade My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora blogs, fóruns, grupos e wikis orientados a desenvolvedores.
Siddique A. Mohammed é um engenheiro e consultor de software e faz parte da equipe de desenvolvimento de produto do IBM Communications Service Enablers nos Laboratórios de software da IBM na Índia, Bangalore. Com mais de 10 anos de experiência em TI, ele trabalhou em muitos dos produtos de middleware da IBM para o domínio de telecomunicações e gerenciamento de processos de negócios. Siddique é bacharel em Engenharia Eletrônica e da Computação.