Metaverse: Um Sistema de Telefonia IP e Mensagens Instantâneas Compatível com SIP, SIMPLE e outros Protocolos do IETF



Documentos relacionados
Mobilidade na camada de Aplicação. Session Initiation Protocol (SIP)

SEGURANÇA EM PROTOCOLO SIP

Contribuição acadêmica

Protocolo de Sinalização SIP

Introdução ao protocolo SIP*

Trabalhos Relacionados 79

Aplicações Multimídia Distribuídas. Aplicações Multimídia Distribuídas. Introdução. Introdução. Videoconferência. H.

Guia Técnico Inatel Guia das Cidades Digitais

GT-VOIP Relatório I.9: Avaliação do Ambiente Sphericall da Marconi. Setembro de 2002

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Instituto Superior Técnico. Projecto VoIP. Sistema IVVR

Pedido de Esclarecimento 01 PE 12/2011

VoIP. Redes de Longa Distância Prof. Walter Cunha

O protocolo H.323 UNIP. Renê Furtado Felix.

:: Telefonia pela Internet

UFG - Instituto de Informática

Protocolos Sinalização

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Redes de Acesso Telefone VoIP WiFi baseado em Windows Mobile

Um Driver NDIS Para Interceptação de Datagramas IP

Tecnologias Atuais de Redes

UNIVERSIDADE. Sistemas Distribuídos

Universidade Tuiuti do Paraná Faculdade de Ciências Exatas. Tecnologia de Análise e Desenvolvimento de Sistemas. TCP/IP x ISO/OSI

VoIP no PTT Metro. Fabricio Tamusiunas NIC.BR

H.323: Visual telephone systems and equipment for local area networks which provide a nonguaranteed

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Protocolos Multimídia. Alunos: Roberto Schemid Rafael Mansano

Redes de Computadores. Protocolos de comunicação: TCP, UDP

TRBOnet MDC Console. Manual de Operação

Rede de Computadores II

MQSeries Everyplace. Leia-me primeiro G

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Transmissão de Voz em Redes de Dados (VoIP)

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

SIP. Fabrício Tamusiunas. Comitê Gestor Internet BR

Configuração dos softphones Zoiper e Linphone para uso. no projeto INOC-DBA.

SIP Session Initiation Protocol

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

GERAÇÃO DE RELATÓRIOS

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

A recomendação H.323 define um arcabouço (guarda-chuva) para a estruturação dos diversos

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Carlos Eduardo Wagner. Uma proposta de comunicação unificada utilizando os protocolos SIP e XMPP

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Unidade Curricular: SCOM Ano letivo: 2014/2015 Alunos: Diogo Guimarães Pedro Brito

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

ASTERISK. João Cepêda & Luís Borges SCOM 2013

Canal seguro de comunicação. André Luiz Lehmann

Lojamundi CNPJ: / Av. Paranoá Qd. 09 conj. 01 lote 01 sala 304, Paranoá DF CEP:

SIMET Sistema de Medições de Tráfego IP. Fabrício Tamusiunas NIC.BR Milton Kaoru Kashiwakura NIC.BR

Plataforma Sentinela

Comunicação, Conhecimento, Convergência Brasil: Rua Líbero Badaró, 293, 30º andar - São Paulo, SP - Brasil, CEP

1

ROTEIRO PARA CONFIGURAÇÃO DO AMBIENTE PARA ACESSO AO PERSUS MÓDULO DE GESTÃO DE CONTAS E PROTOCOLO DE IMPUGNAÇÕES E RECURSOS ANS Agência Nacional de

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Redes de Computadores

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Introdução à Computação Móvel IP Móvel. Movimentação de Host. Movimentação de Host. Francisco José da Silva e Silva

e-ping - Padrões de Interoperabilidade de Governo Eletrônico

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

LINKSYS SPA3102 E PAP2T

Unidade Curricular Redes I Prof. Eduardo Maroñas Monks Roteiro de Laboratório Ethernet/Auto-negociação/Largura de Banda

ArthronServer: Um Módulo para Controle de Múltiplos Fluxos de Mídia na Web. Manual do Usuário. ArthronServer

Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.)

TRBOnet Standard. Manual de Operação

IBM Managed Security Services for Agent Redeployment and Reactivation

REDES DE COMPUTADORES. Arquiteturas de Redes

Aplicação Prática de Lua para Web

Unidade 2.1 Modelos de Referência

SISTEMA DE GESTÃO PARA CURTUMES

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

IV. Intercâmbio Eletrônico de Dados (EDI)

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Web Services. Autor: Rômulo Rosa Furtado

Modelos de Arquiteturas. Prof. Andrêza Leite

Aula 03-04: Modelos de Sistemas Distribuídos

REDES DE COMPUTADORES

Índice. Para encerrar um atendimento (suporte) Conversa Adicionar Pessoa (na mesma conversa)... 20

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

LGW4000 Labcom Media Gateway. Labcom Media Gateway Apresentação Geral 10/11/2011

Data) 31/08/2015. Empresa) Motorola. Questionamento 01. Questionamentos sobre itens do Projeto Básico. 1. Consoles de Despacho - CeCoCo

BlackBerry Mobile Voice System

MÓDULO 8 Modelo de Referência TCP/IP

Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.)

Transcrição:

Metaverse: Um Sistema de Telefonia IP e Mensagens Instantâneas Compatível com SIP, SIMPLE e outros Protocolos do IETF Gelson Dias Santos, Valter Roesler UNISINOS - Universidade do Vale do Rio dos Sinos, Centro de Ciências Exatas e Tecnológicas. Av. Unisinos 950, CEP 93022-000. São Leopoldo - RS - Brasil gelson.santos@metaverse.com.br, roesler@unisinos.br Resumo. A crescente utilização de Internet Banda Larga vem popularizando os serviços de Mensagens Instantâneas com recursos de conversação via voz e vídeo sobre IP. Entretanto, apesar da existência de protocolos de sinalização abertos e padronizados, os serviços mais populares utilizam protocolos e clientes proprietários, impedindo a interoperabilidade entre as diversas soluções. Este artigo apresenta a metodologia de implementação e validação do Metaverse: uma aplicação de Telefonia IP e Mensagens Instantâneas totalmente aderente às especificações abertas do Internet Engineering Task Force (IETF), permitindo sua interoperabilidade com outras soluções aderentes aos padrões. 1. Introdução A primeira especificação de arquitetura para sessões multimídia com larga aceitação na indústria foi o protocolo H.323, criado pelo International Telecommunications Union (ITU) em 1996 [1]. Apesar de alguns autores classificarem o protocolo H.323 como complexo e de difícil implementação, ele foi muito bem recebido pela indústria por oferecer uma arquitetura padronizada sobre a qual produtos de diferentes fornecedores poderiam operar entre si. O IETF também especificou um protocolo de sinalização para negociação, gerência e terminação de sessões multimídias com dois ou mais participantes; trata-se do Session Initiation Protocol (SIP) descrito na RFC 3261 [2]. Um destaque do SIP frente ao H.323 é o trabalho atualmente em andamento para dotá-lo de recursos que viabilizem aplicações de Instant Messaging (IM). A extensão SIP for Instant Messaging and Presence Leveraging Extension (SIMPLE) encontra-se em elaboração. Apesar de hoje contarmos com pelo menos duas especificações para sinalização de sessões multimídia, alguns fabricantes preferem lançar produtos fechados e incompatíveis com os demais fornecedores. Um exemplo típico é o programa para voz sobre IP Skype, da empresa de mesmo nome que utiliza um protocolo de sinalização totalmente proprietário baseado em um modelo peer-to-peer [3]. Podemos citar também os serviços MS Messenger, Yahoo Messenger e ICQ. Um exemplo de rede serviços para Telefonia IP e Mensagens Instantâneas compatível com padrões abertos é o Google Talk, baseado no protocolo XMPP [4]. Entretanto mesmo nesta implementação foram utilizadas extensões ainda não padronizadas para permitir o estabelecimento de chamadas de áudio [5].

Para comprovar a aplicabilidade da tecnologia disponível foi realizada uma implementação prática aderente aos padrões abertos SIP e SIMPLE, definidos pelo IETF. A aplicação, batizada de Metaverse Communicator viabiliza comunicação via Voz sobre IP e Mensagens Instantâneas, e permite a interoperabilidade com outras soluções aderentes a estes padrões. Referências para trabalhos relacionados podem ser encontrados no web site dedicado ao IP Telephony Project conduzido pelo National Institute of Standards and Technology [10], inclusive a API JAIN SIP utilizada no desenvolvimento desta aplicação. Este artigo está dividido da seguinte forma: a seção 2 apresenta brevemente o funcionamento do protocolo SIP e métodos utilizados na sinalização de chamadas. A seção 3 apresenta a extensão SIMPLE, usada para o envio de mensagens curtas de texto e sinalização de presença. Na seção 4 é apresentada a aplicação Metaverse Communicator, seus módulos e recursos funcionais. Por fim, na seção 5 são apresentados os resultados atingidos até o momento. 2. Session Initiation Protocol O protocolo SIP determina como se dá a sinalização para negociação, gerência e terminação de sessões multimídia entre dois ou mais participantes. As capacidades oferecidas pelo SIP podem ser agrupadas em cinco categorias [2]: Localização do usuário; Disponibilidade do usuário: Capacidades do usuário; Configuração da sessão e Gerenciamento da sessão. Para implementar estas capacidades o SIP faz uso de diversos componentes: User Agents, Proxy SIP, Registrar Server e Redirect Server. Seu detalhamento está fora do escopo deste artigo por questões de espaço. O protocolo SIP utiliza um tipo de Universal Resource Identifier (URI) para identificar os usuários [2]. O usuário pode ser numérico como um número de telefone ou alfanumérico como um nome. Exemplos de URI s SIP válidas são sip:gelson.santos@metaverse.com.br e sip:105@192.168.1.1. Mensagens trocadas entre componentes de uma rede SIP são chamadas de métodos. Os métodos definidos na RFC 3261 podem ser REGISTER, INVITE, ACK, OPTIONS, CANCEL ou BYE. As respostas geradas são códigos numéricos que indicam o resultado da operação solicitada. É importante citar que outras RFC s podem propor extensões ao SIP, implementando desta forma novos métodos. Na figura 1 é apresentado o fluxo de mensagens de sinalização para uma sessão de mídia SIP de comunicação entre dois usuários A e B, onde ambos estão em domínios diferentes, ou seja, cada um possui seu Proxy e Registrar Server. 3. SIP for Instant Messaging and Presence Leveraging Extensions Atualmente o IETF trabalha em uma extensão ao protocolo SIP, chamada SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) que objetiva adicionar os métodos necessários para a troca de mensagens instantâneas e a sinalização do estado de presença (disponível, ocupado, ausente etc.) do usuário. Estes seriam os requisitos mínimos para um serviço de Mensagens Instantâneas.

A Especificação SIMPLE ainda está em elaboração, e seus vários requisitos encontram-se documentados em RFC s individuais ou em documentos não oficiais (drafts). A RFC 3428 [6] acrescenta ao SIP o método MESSAGE, que permite a transmissão de Mensagens Instantâneas semelhantes a um sistema de pager, ou seja, as mensagens são independentes umas das outras, não existindo um vínculo de sessão entre elas. Na RFC 3856 [7] define-se dois novos métodos; SUBSCRIBE, que solicita o recebimento de notificações de um nó remoto quando certos eventos ocorrerem (tais como alterações na disponibilidade do usuário) e NOTIFY, que envia notificações aos nós remotos quando os eventos ocorrem. As informações enviadas via NOTIFY encontram-se no formato Presence Information Data Format (PIDF) [8].... A@XXX Proxy/Registrar REGISTER A@XXX Proxy/Registrar B@YYY REGISTER B@YYY INVITE B@YYY 100 Trying 180 Ringing INVITE B@YYY 100 Trying 180 Ringing ACK Sessão de Mídia BYE INVITE B@YYY 180 Ringing Figura 1: Fluxo de mensagens para uma sessão de mídia SIP A RFC 3856 também acrescenta novos componentes a uma rede SIP sendo que o Presence Agent (PA) é o mais relevante no contexto deste trabalho. O PA é um SIP User Agent com capacidades de interpretar e gerar eventos de presença através dos métodos SUBSCRIBE e NOTIFY. Ele pode ser implementado junto ao Proxy ou Registrar SIP, recebendo destes as informações de disponibilidade do usuário. 4. Implementação do Metaverse Communicator O Metaverse Communicator é um cliente para Telefonia IP e Mensagens Instantâneas que oferece as funções básicas disponíveis nesta classe de serviços. Essas funções são disponibilizadas ao usuário através de uma interface gráfica com duas abas principais ( Telefone e Contatos ) mostradas na figura 2. Existe ainda um menu superior, que permite o registro em um servidor SIP Proxy, alteração de seu estado de presença e configuração de preferências da aplicação.

Figura 2 - Interface gráfica do Metaverse Communicator A aplicação é constituída por quatro módulos que interagem entre si, resultando em um User Agent SIP / SIMPLE completo. Os módulos implementados e sua função principal estão descritos a seguir: Módulo GuiManager: Responsável pela interface gráfica e interação com o usuário. Módulo MediaManager: Interpreta a descrição de sessão recebida via SDP e realiza a captura, transmissão e reprodução de fluxos de áudio. Módulo NetManager: Implementa todas as funções de geração, transmissão, recebimento, processamento de mensagens SIP/SIMPLE e manutenção da lista de contatos. Estes módulos são inicializados e controlados pelo módulo principal, chamado de Metaverse. A figura 3 exemplifica o exposto acima. Figura 3 - Estrutura de blocos da aplicação Metaverse Communicator A aplicação foi desenvolvida utilizando-se a linguagem de programação Java 2 Standard Edition versão 1.4. A escolha desta linguagem foi devida a sua característica multiplataforma, permitindo que a implementação resultante seja usada em diferentes sistemas operacionais e hardwares que possuem uma máquina virtual Java disponível. Outra característica positiva da linguagem Java são suas extensões, que acrescentam recursos importantes para este trabalho. Para a manipulação da mídia de áudio foi utilizada a API Java Media Framework versão 2.1.1 e disponibilizada pela SUN Microsystems, que permite a

captura, transmissão e reprodução de fluxos de áudio e vídeo e oferece implementações prontas dos codecs de áudio G.711 u-law, G.723.1 e GSM, dentre outros [9]. Também disponibiliza o protocolo RTP. A sinalização SIP foi implementada com o uso do pacote NIST SIP 1.2 desenvolvido pelo National Institute of Standards and Technology. Tratase de uma distribuição de referência da API JAIN SIP [11], que oferece uma implementação em Java do protocolo SIP compatível com a RFC 3261 e algumas extensões, incluindo os métodos SUBSCRIBE, NOTIFY e MESSAGE que são necessários para a troca de mensagens instantâneas e estados de presença. A interface gráfica utiliza o Swing Toolkit, recurso nativo da linguagem Java para a criação de interfaces baseadas em janelas. A codificação da aplicação foi realizada no Ambiente Integrado de Desenvolvimento Eclipse SDK versão 3.1 [12] disponível para download gratuito. 5. Resultados e Conclusões A aplicação foi avaliada quanto a sua interoperabilidade utilizando-se cinco cenários de testes práticos definidos pelo International Multimedia Teleconferencing Consortium (IMTC) SIP SIG Activity Group [13]. A seguir classificou-se o nível de compatibilidade com o padrão SIP, através de critérios de classificação definidos pelo SIP Interoperability Testing Event Technical Program Committee (SIPit TPC) [14]. O resultado dos testes demonstrou que atualmente a aplicação atende quatro dos cinco cenários de interoperabilidade propostos pelo IMTC. Os cenários atendidos são: Comunicação Ponto a Ponto sem servidores: dois endpoints se comunicando diretamente, suportando mensagens INVITE, ACK e BYE; Registro em SIP Registrar: endpoint se registra no servidor, suportando mensagens REGISTER, ACK e também timeout; Comunicação Ponto a Ponto usando SIP Proxy: dois endpoints se registrando no Proxy e efetuando comunicação. Verificou-se que a implementação suporta também conexão via Proxy, além do fluxo de mídia RTP/RTCP e codec de áudio; Comunicação Ponto a Ponto usando Gateway PSTN: utilizou-se o Asterisk como gateway externo, com interface FXO (Foreign Exchange Office) através de uma linha analógica. A comunicação com telefones fixos e móveis funcionou adequadamente. Não foi possível reproduzir o cenário Comunicação Ponto a ponto com Redirecionador pois a aplicação ainda não trata mensagens de redirecionamentos da classe 3XX. Quanto ao nível de compatibilidade determinado pelo SIPit TCP, verificou-se que a aplicação atinge a 100% dos critérios estabelecidos para User Agents de nível básico e 55% dos critérios de nível intermediário. Os recursos atualmente implementados permitem o uso da aplicação para o estabelecimento e recepção de sessões de áudio bem como a troca de mensagens instantâneas e sinalização de estados de presença. Confirma-se dessa forma que é possível a criação de um serviço de Telefonia IP e Mensagens Instantâneas usando-se apenas especificações e tecnologias abertas, e com recursos equivalentes às soluções proprietárias. O código-fonte e o aplicativo em si estão disponíveis em http://www.metaverse.com.br.

Referências [1] Packetizer, A Primer on the H.323 Series Standard. URL: http://www.packetizer.com/voip/h323/papers/primer/. Acesso em 11/2005 [2] Rosenberg, Schulzrinne, H. e outros. SIP: Session Initiation Protocol. Request for Comments 3261, Internet Engineering Task Force, 2002. URL: http://www.ietf.org/rfc/rfc3261.txt. Acesso em 11/2005 [3] Baset, Salman A. e Schulzrinne, H. An Analysis of the Skype Peer-to Peer Internet Telephony Protocol. Columbia University, 2004. URL: http://www1.cs.columbia.edu/~salman/skype/. Acesso em 11/2005 [4] JABBER. Extensible Messaging and Presence Protocol (XMPP). Request for Comments 3920, Internet Engineering Task Force, 2004. URL: http://www.ietf.org/rfc/rfc3920.txt. Acesso em 11/2005 [5] GOOGLE. Libjingle - Google Talk Voice and P2P Interoperability Library. Google Inc, 2005. URL: http://code.google.com/apis/talk/about.html. Acesso em 08/2006 [6] Rosemberg J., Campbell B. e outros. Session Initiation Protocol (SIP) Extension for Instant Messaging. Request for Comments 3428, Internet Engineering Task Force, 2002. URL: http://www.ietf.org/rfc/rfc3428.txt. Acesso em 11/2005 [7] Rosemberg J. A Presence Event Package for the Session Initiation Protocol (SIP). Request for Comments 3856, Internet Engineering Task Force, 2004. URL: http://www.ietf.org/rfc/rfc3856.txt. Acesso em 11/2005. [8] Sugano H., Fujimoto S. e outros. Presence Information Data Format (PIDF). Request for Comments 3863, Internet Engineering Task Force, 2004. URL: http://www.ietf.org/rfc/rfc3863.txt. Acesso em 11/2005 [9] DEITEL, Harvey M. e DEITEL, Paul J. Java How to Program. Prentice Hall, quarta edição, 2001. [10] NIST. About the IP telephony project. URL: http://snad.ncsl.nist.gov/proj/iptel/. Acesso em 07/2006. [11] RANGANATHAN, Mudumbai e O DOHERTY, Phelim. JAIN SIP Tutorial. Sun Microsystems, 2003. URL: http://dns.antd.nist.gov/proj/iptel/tutorial/jain-sip- Tutorialv2.pdf. Acesso em 05/2006. [12] RIVIERES, J. e BEATON, W. Eclipse Platform Technical Overview. IBM, 2006. URL: http://www.eclipse.org/articles/whitepaper-platform-3.1/eclipse-platformwhitepaper.html. [13] DHULIPALLA, S., MEYER, G. e ROOS, C. SIP Interoperability Scenarios Test Plan (Draft). International Multimedia Teleconferencing Consortium, 2000. URL: http://www.imtc.org/interops/test_plans/sip_interop_draft.doc. Acesso em 05/2006. [14] SCHULZRINNE, H. Classification for SIP Interoperability Test Event. SIPit, 2000. URL: http://www.cs.columbia.edu/sip/sipit/classification.html. Acesso em 05/2006.