Académique Documents
Professionnel Documents
Culture Documents
Resumo. Este trabalho visa apresentar o protocolo SIP (Session Initiation Protocol), explicando sua arquitetura e o processo de troca de mensagens. Alm disso mostra a utilizao do SIP em redes de telefonia mvel exibindo o funcionamento, problemas e sugestes para solues desses.
Disponibilidade do usurio, serve para avaliar a disponibilidade do usurio a participar de uma sesso. Configurao de chamada, serve para estabelecimento da chamada em ambos os lados da comunicao. Manipulao de chamada, incluir transferncia e trmino do chamado.
Dos atrativos para utilizao do SIP destacam-se a possibilidade de mobilidade do usurio, a flexibilidade e simplicidade do protocolo, que sero melhores descritos no captulo quatro.
2. A arquitetura SIP
Uma rede SIP constituda de quatro entidades lgicas do SIP. Cada entidade tem uma funo especfica e participa na comunicao SIP como um cliente (solicitando pedidos), um servidor (respondendo os pedidos) ou ambos. Ou seja, um dispositivo fsico pode funcionalidades de uma ou mais entidades lgicas do SIP. Por exemplo, um servidor de rede trabalha como servidor proxy, mas executa a funo de Registrar ao mesmo tempo. A seguir descreveremos as quatro entidades lgicas utilizadas na arquitetura SIP: User Agent, Proxy Server, Redirect Server e Registrar. No SIP um User Agent (UA) uma entidade terminal, responsvel por inicializar e terminar a conexo atravs de trocas de pedidos e respostas. A RFC 3261 define o UA como uma aplicao que contm o User Agent Client e o User Client Server, definidos como: User Agent Client (UAC) uma aplicao cliente que inicializa o pedido SIP. User Agent Server (UAS) uma aplicao de servidor que localiza o usurio quando um pedido SIP recebido, respondendo tal pedido de acordo com o usurio.
Em outras palavras, se a aplicao inicia um pedido, age como um UAC durante a durao daquela transao. Se ela recebe um pedido assume o papel de um UAS durante o processo daquela transao. Alguns dos dispositivos que podem ter uma funo de UA em uma rede SIP so: estaes, telefones IP, servios de resposta automtica e agentes de chamada. Um proxy server uma entidade intermediria que age como um servidor e um cliente com o objetivo de fazer pedidos em nome de um cliente terminal. Um proxy l, interpreta, e se necessrio, reescreve a mensagem do pedido para s depois encaminhla. Um pedido pode ser roteado por diversos proxy, sendo importante que o retorno da mensagem siga o mesmo caminho do envio. Isso no um problema quando o TCP utilizado, mas para uso com o UDP o protocolo SIP j possui um campo no cabealho (Via) para este objetivo. Caso exista a necessidade de roteamento de todos os pedidos, o campo Record Route pode ser utilizado para gravar o caminho do pedido. Quando isto
ocorre, o modelo de chamada fica bastante parecido com o modelo do gatekeeeper do H.323. Outra entidade da arquitetura SIP o redirect server, utilizado para responder a um pedido com um redirecionamento do mesmo. Quando utilizado junto com um registrar para redirecionar a chada para a localizao atual do discador da chamada. recomendado para melhoria da escalabilidade de servidores de distribuio de chamadas. E por ultimo o Registrar, que tem como funo aceitar os pedidos REGISTER e em seguida atualizar um banco de dados de localizao de usurios. Agora que j conhecida a definio das entidades SIP possvel descrever a comunicao numa rede SIP. O diagrama desta rede pode ser visto na figura 1.
Figura 1 Arquitetura de uma rede SIP Para descrever o funcionamento da figura acima, sero descritos todos os passos1 de um pedido feito por romildo@unifacs.br para ricardo@ietf.org. 1. Um User Agent (UA) SIP cria um pedido para ricardo@ietf.org e o envia para o proxy server. 2. O proxy local procura por ietf.org no servidor de domnio (DNS) e obtm o endereo IP de destino do pedido SIP para este domnio e o seu proxy. 3. O servidor ietf.org conhece o usurio ricardo que est atualmente logado em sbc.org.br. O servidor redireciona o proxy para este endereo.
4. O proxy local procura agora por sbc.org.br no DNS e obtm o endereo IP de destino do pedido SIP para este domnio e o seu proxy. 5. O servidor SIP da sbc.org.br consulta uma base local (usando o registrar) e localiza o usurio ricardo@sbc.org.br. 6. O servidor principal da SBC faz um pedido para o servidor proxy que o usurio ricardo est localizado. 7. O servidor ao qual o usurio ricardo est localizado resolve seu endereo IP e envia a mensagem para o usurio. 8. O usurio aceita a chamada e responde para o seu proxy, que ir reencaminhar a mensagem at o destino.
3. O formato da mensagem
A codificao utilizada nas mensagens SIP utiliza a sintaxe HTTP/1.1, descrita RFC 2068, e o conjunto de caracteres o ISSO 10646 com a codificao UTF-8, presente na RFC 2279. As mensagens SIP podem ser apenas de dois tipos: pedidos e respostas. Para simplificar, logo abaixo so apresentadas duas tabelas com a lista de opes de pedidos e de respostas. Mtodo INVITE ACK BYE CANCEL OPTIONS REGISTER INFO Descrio Inicializa chamadas ou parmetros da mesma Confirma um pedido do tipo INVITE Termina a chamada Cancela o processo de busca e discagem Utilizado para reconhecimento das capacidades do cliente Registra a localizao atual atravs do Envia informaes durante a sesso que no altera o seu estado Tabela 1 Pedidos do protocolo SIP As mensagens de respostas do SIP contem cdigos numricos de respostas, parcialmente baseados nos cdigos do HTTP. Existem seis classes (vistas na Tabela 2) diferentes, distribudas em dois tipos de respostas: Provisrias (classe 1xx) respostas provisrias so utilizadas pelo servidor para indicar o estado da sesso SIP, mas no a termina. Finais (classe 2xx, 3xx, 4xx, 5xx e 6xx) estes tipos de respostas encerram as sesses SIP.
Todas as classes de respostas SIP esto especificadas a seguir. Classe 1xx 2xx 3xx 4xx 5xx 6xx Perfil Informativo Sucesso Redirecionamento Erro do cliente Erro do servidor Falha Global Descrio Pedido recebido, continuando a processar o pedido Ao completada com sucesso Necessidade de uma ao adicional para completar o pedido Pedido com sintaxe invlida ou no pode ser executado neste servidor Erro no servidor Falha global
Tabela 2 Classes ou categorias das respostas As mensagens SIP so compostas de trs campos, start line, headers e body. A linha de incio, ou start line, identifica o tipo da mensagem e a verso do protocolo. Quando a mensagem um pedido (request-line), a linha de incio inclui uma Request URI que indica o usurio ou o servio ao qual este pedido est sendo encaminhado (Diferentemente do campo To, onde o endereo pode ser escrito pelos servidores proxy). E quando ela uma resposta (status-line) guarda o cdigo de status numrico e sua frase textual associada. O segundo campo, headers, usado para transportar os atributos da mensagem e modificar o signicado deles. A sua sintaxe e semntica similar ao aos campos do cabealho HTTP e todos seguem o formato <name>:<value>. E por fim o campo Body usado para descrever a sesso a ser iniciada. Os corpos de mensagem podem aparecer no pedido e em mensagens de resposta. O protocolo SIP faz uma distino clara entre a informao de sinalizao, carregada na linha de nicio do SIP e headers, e a sesso de descrio da informao, que fora ao escopo do SIP. Este campo pode utilizar o SDP (Session Description Protocol), o MIME(Multipurpose Internet Mail Extensions) ou outra futura implementao a ser definida pelo IETF. Como ilustrao coloremos duas mensagens SIP, um pedido e uma resposta, para o fechamento de uma chamada de voz. O cliente SIP romildo@unifacs.br est convidando o usurio ricardo@ietf.org para uma chamada e este aprova o pedido realizado.
Campos do pedido
INVITE sip:ricardo@ietf.org SIP/2.0 Via: SIP/2.0/UDP 192.168.0.25 From: Romildo. <sip: romildo@unifacs.br >
Descrio
Request line composta do tipo da mensagem, request URI e SIP version Endereo do n anterior Cliente SIP solicitante
To: Ricardo. <sip: ricardo@ietf.org > Call-ID: 2325031978@romildo@unifacs.br CSeq: 1 INVITE Subject: Resenha de Artigo. Content-Type: application/SDP Content-Length:
Cliente SIP convidado ID nico global para esta chamada Sequencia de comando Ttulo da mensgem Tipo do body (neste caso SDP) Tamanho da mensagem Linha em branco para indicar o fim do cabealho Sip e o incio do body.
v=0 o=Romildo 4532 235655 IN IP4 192.168.0.25 s=Call from Romildo c=IN IP4 192.168.0.25 m=audio 3217 RTP/AVP 0 3 4 5
Campos da resposta
SIP / 2.0 200 OK Via: SIP/2.0/UDP 192.168.0.25 From: Romildo. <sip: romildo@unifacs.br >
Descrio
Status line SIP version, response code e reason phrase Copiado do pedido Copiado do pedido
To: Ricardo. <sip: ricardo@ietf.org >, tag=8643 Copiado do pedido Call-ID: 2325031978@romildo@unifacs.br CSeq: 1 INVITE Content-Type: application/SDP Content-Length: Copiado do pedido Copiado do pedido Tipo do body (neste caso SDP) Tamanho da mensagem Linha em branco para indicar o fim do cabealho Sip e o incio do body. v=0 o=Ricardo 3376 653897 IN IP4 192.168.0.17 s=Lunch c=IN IP4 192.168.0.17 m=audio 50013 RTP/AVP 0 3 Informao da conexo Descrio da media Verso do SDP Criador, identificador da sesso e endereo
Figura 3 Porcentagem de prestadoras de servio no mercado por protocolo A interoperabilidade com o mundo Internet, a flexibilidade e a mobilidade abrem possibilidade de uma infinidade de novos servios com este protocolo. A seguir descreveremos o uso da mobilidade com o protocolo SIP.
Se durante a sesso o dispositivo mvel se desloca, um novo pedido tem que ser enviado ao dispositivo um novo pedido utilizando o mesmo identificador de chamada usado na conexo original. Um novo IP deve ser colocado nas mensagens SIP que corresponder o servidor onde as futuras mensagens SIP sero enviadas. Para redirecionamento do fluxo de trfego com o deslocamento do dispositivo mvel, o endereo IP deve ser alterado no memento em que o dispositivo mudar de estao mvel (poderia ser dito tambm mudana de clula).
Figura 5 Atualizao constante de informaes Para o funcionamento desta arquitetura mvel com o protocolo SIP, se faz necessrio o constante registro da localizao do dispositivo no SIP server local, para que todos os redirecionamentos sejam feitos com exatido. recomendado que neste processo seja utilizado autenticao e criptografia nas mensagens SIP, utilizando o conceito de chaves pblicas/privadas.
Figura 6 Atualizao no SIP Redirect Server Caso o dispositivo mvel esta utilizando Mbile IP, no estritamente necessrio (embora til) que o servidor SIP tenha a localizao atual do dispositivo mvel. Alm de ser um desperdcio de recursos manter a localizao do usurio em dois servidores, isto pode acarretar problemas de inconsistncia e/ou gerenciamento do servio. Algumas solues para correo de tal problema podem ser vistas em [Schulzrinne 2003].
Se um cliente SIP tem por algum motivo a localizao antiga (e errada) do dispositivo mvel necessrio um mecanismo para correo deste erro. Certamente este erro ser comum quando o UAC e o UAS sejam dispositivos mveis. Para isso preciso que durante o processo e dilogo entre os clientes, o SIP server local seja infromado de todas as mudanas. A nica exigncia feita para este mecanismo que o SIP server com a base de localizao dos usurios no seja tambm um idspositivo mvel ou o seu endereo no seja alterado durante o processo. Numa arquitetura para utilizao de mobilidade com o protocolo SIP no podemos utilizar o protocolo TCP, ficando restrito apenas ao uso do UDP. Numa eventual utilizao com o IP Mvel, os dois protocolos seriam utilizados para que suporte a aplicaes como FTP, TELNET e HTTP sejam utilizadas sem problemas. Uma soluo para tal problema seria a possibilidade de escolha por parte do dispositivo mvel de quando utilizar cada protocolo, associando-o a qual endereo SIP (se o mvel ou o fixo) ser utilizado. Obviamente, tal escolha pode ficar totalmente transparente pra o usurio se tal escolha estiver associada ao tipo de aplicao utilizada. Outra soluo seria uma readaptao dos protocolos de rede para o novo mundo da telefonia mvel. Fatores relativos a implementao ainda no foram padronizados e no acredito que tal padronizao esteja perto de ocorrer, pois envolve uma gama de reas distintas (provedores de servios, universidades, fabricantes de dispositivos moveis e de equipamentos de telecomunicaes, desenvolvedores de sistemas operacionais e aplicaes mveis, dentre outros). Alguns problemas inerentes a esta soluo como atraso fim-a-fim, delay do handoff dos disposivos e a dependncia da tecnologia wireless disponvel pela operadora de servios mveis esto sendo estudados e tem uma vasta rea de pesquisa a ser percorrida.
6. Consideraes finais
Existe uma enorme diversidade de servios oferecidos com o SIP como disponibilizao de servios de call centers virtuais [Kaish 2003], aplicaes para servios de mensagens instantneas [Schulzrinne 2002a] e servios de localizao de veculos. Entretanto foi escolhido o servio de telefonia mvel por atingir uma margem bem maior de usurios. As capacidades que o SIP oferece so essenciais para a rede de telefonia mvel, colocando-o numa posio confortvel em relao aos seus correntes. O crescimento do uso do protocolo SIP para estas aplicaes dever estar associado com a integrao crescente dos dispositivos mveis, a reduo de custos e uma melhoria na largura de banda do servio (pelo menos aqui no Brasil) para que um leque maior de aplicativos possam ser executados nos dispositivos. Alguns detalhes do SIP tero ainda que evoluir como a segurana [Cisco 2002], implementao de QoS e mecanismos de controle de prioridade [Schulzrinne 2002b]. Especificamente no servio de telefonia mvel preocupante o atraso fim-a-fim e delay no handoff esto sendo ainda estudados.
7. Bibliografia
[Cisco 2002] Cisco Systems. Security in SIP-Based Networks.2002. [Hersent 2002] Oliver Hersent. Telefonia IP Comunicao baseada em pacotes. Addison Waley. 2002. [Kaish 2003] Henning Schulzrinne. How Sip Is Transforming The Call Center Industry. Interney Telephony. 2003. [Nelson 2002] Jim Nelson. SIP For Next-Generation Mobile Services:Mobile IP and SIP). 2002. [Oslo 2002] University of Oslo. Applying different types of mobility on one network (particular case:Mobile IP and SIP). 2002. [Schulzrinne 2001] Henning Schulzrinne SIP for emergency services. 2001. [Schulzrinne 2002] Henning Schulzrinne RFC 3261 - SIP: Session Initiation Protocol. IETF. 2002. [Schulzrinne 2002a] Henning Schulzrinne RFC 3428 - Session Initiation Protocol (SIP) Extension for Instant Messaging. IETF. 2002. [Schulzrinne 2002b] Henning Schulzrinne Draft IETF - Requirements for Resource Priority Mechanisms for the Session Initiation Protocol (SIP). IETF. 2002. [Schulzrinne 2003] Henning Schulzrinne. Mobiliby support using SIP. 2003. [Ubiquity 2001] Uniquity Software Corporation. Application-Layer Mobility Using SIP. Ubiquity. 2001. [Ubiquity 2002] Uniquity Software Corporation. SIP Enhanced Mobile Network Service. Ubiquity. 2002.