• Nenhum resultado encontrado

Session Initiation Protocol – SIP

CAPÍTULO 5 TELEFONIA IP

5.2 Protocolos Relacionados à Telefonia Ip

5.2.4 Session Initiation Protocol – SIP

Para suporte a telefonia na Internet, a IETF (Internet Engineering Task Force) propôs um mecanismo mais simples para sinalização telefônica na rede IP, criando um protocolo chamado SIP (Session Initiation Protocol) (HANDLEY,1998), com raízes no amplamente utilizado protocolo HTTP. Em pouco tempo, o SIP mostrou-se tão abrangente para a telefonia e com tanto poder de integração com as tecnologias voltadas para a própria Web, que muitas empresas passaram a desenvolver implementações a partir dele (SINGH,2000). Ele se tornou um grande concorrente na arena de Telefonia IP.

O SIP (Session Initiation Protocol) (HANDLEY,1998) é um protocolo em nível de aplicação da IETF, que estabelece, modifica e termina sessões multimídia e/ou ligações. Estas sessões podem ser conferências multimídia, aulas pela Internet, telefonia sobre Internet, entre outras.

Na Figura 18 presenta-se um ambiente SIP genérico, com os três componentes principais: SIP User, Agent, SIP Proxy Server e SIP Redirect Server. O conjunto destes componentes operando numa rede IP é definido como “rede” SIP. Estes componentes são descritos na tabela abaixo (MARCONDES, 2002).

Tabela 7 Componentes Protoco SIP

Componente SIP Função

SIP User Agent Cliente da arquitetura, ou o ponto final da comunicação

multimídia.

SIP Proxy Server Servidor de redirecionamento de requisições e respostas

SIP. Passa a realizar a sinalização como se fosse o originador da chamada, e quando a resposta lhes é enviada, ela redirecionada para o originador real.

SIP Redirect Server Redireciona requisições e respostas, enviando uma

mensagem para os clientes com o novo endereço SIP procurado, e não fazendo o papel de continuar a chamada.

SIP Registrar Server Servidor SIP que suporta requisições REGISTER, usadas

para registrar as informações dos usuários em algum Servidor de Localização.

Servidor de Localização Na RFC do SIP [ART-SIP, apenas as funcionalidades de

armazenamento e consulta de

registros de usuários SIP neste servidor são descritas, ficando a critério do implementador da solução SIP a escolha da melhor tecnologia para esta finalidade.

Fonte: Marcondes (2002)

Figura 18 Ambiente SIP Genérico

Fonte: Marcondes (2002)

A “rede” SIP pode ser acessada via Internet usando uma URI (Uniform Resource Identifier). A URI é uma string compacta para endereçar os recursos físicos ou abstratos dentro da rede. Exemplos de endereçamentos SIP são "alias" (ou apelido) como esta URI <sip://usuário@servidor> ou pode ser um # de telefone,

como <tel://5556666@gw.ufrj.br>. A parte do host na identificação URI pode ser um domínio internet alfanumérico válido ou um endereço IP numérico.

O protocolo SIP é baseado no HTTP e, assim como este, suporta o transporte de qualquer tipo de carga em seus pacotes, pelo uso de Mime-Types (Multipurpose Internet Mail Extensions). O SIP funciona numa arquitetura cliente/servidor, e suas operações envolvem apenas métodos de requisição e respostas, como observado também no HTTP e no RTSP. Os métodos de requisição do SIP são os seguintes: INVITE, ACK, OPTIONS, BYE, CANCEL, e REGISTER. O comportamento destes métodos é descrito na abaixo.

Tabela 8 Métodos de requisição do protocolo SIP

Nome do Método Comportamento

INVITE

Indica que o usuário está sendo convidado a participar de uma sessão multimídia. O corpo da mensagem pode conter uma descrição da sessão, utilizando-se o protocolo de descrição de sessão SDP (Session Description Protocol)[4].

ACK Mensagem recebida como resposta final a um INVITE. A

requisição ACK pode conter o SDP de descrição da sessão negociada entre ambos os clientes. Se não contiver o SDP, o usuário chamado pode assumir a descrição dada pelo primeiro INVITE, se houver.

OPTIONS Faz uma pergunta sobre quais métodos e extensões são

suportados pelo servidor e pelo usuário descrito no campo de cabeçalho <To:> . O servidor pode responder a esta pergunta

com o conjunto de métodos e extensões suportado pelo usuário e por ele mesmo.

BYE Usado para liberar os recursos associados a uma ligação

e forçar a desconexão da mesma.

CANCEL Cancela uma requisição que ainda esteja pendente, ou

seja, em andamento. Uma requisição é considerada pendente, se e somente se, ela não foi atendida com uma resposta final.

REGISTER Um cliente usa este método para registrar o "alias"

(apelido) do seu endereço em algum servidor SIP, que, por aceitar registro de usuários, chamamos de serviço REGISTRAR.

Fonte: Marcondes (2002)

Para localização, são usadas bases de dados locais ou servidores LDAP (Lightweigth Directory Access Protocol), onde é possivel montar diretórios de usuários e seus perfis.Para cada requisição ou resposta, temos um grupo de cabeçalhos, dividos em:

a) cabeçalhos gerais, com informações importantes sobre a chamada; cabeçalhos de entidade, com metainformação sobre o corpo da mensagem;

b) e os cabeçalhos específicos, que permitem passar informações adicionais, que não couberam na linha de status da requisição ou da

resposta.

Quando requisições são atendidas, as respostas enviadas são identificadas por números, que significam a classe da resposta. Pode-se enviar diversas mensagens provisórias antes de se enviar uma resposta definitiva. Existem seis classes possíveis de resposta: Classe 1XX, respostas temporárias ou informativas; Classe 2XX, resposta final de sucesso; Classe 3XX, redirecionamento da requisição; Classe 4XX, erros no cliente; Classe 5XX, erros do servidor; e Classe 6XX, erros globais na rede.

Figura 19 Estabelecimento de chamada em SIP

Fonte: Marcondes (2002)

Na Figura 19, tem-se o exemplo de um fluxo de convite para um usuário na “rede” SIP, mostrando características de mobilidade do usuário, mensagens de requisição, e mensagens de resposta finais. Acompanha-se na Figura 19 as descrições numeradas a seguir:

a) usuário bruno pede para ser criada uma sessão entre ele e o usuário de "alias" cesar@land.ufrj.br. [Requisição SIP INVITE];

(Location Server Database) onde está o usuário com esse "alias" [usando o Protocolo LDAP];

c) a resposta deste servidor é a atual localização do usuário (esta é a caracteristica de mobilidade na rede SIP. Seu último REGISTER partiu de ipanema.land.ufrj.br);

d) a requisição de abertura de sessão é então redirecionada pelo proxy para o endereço correto [Requisicao SIP INVITE]. Então, o usuário cesar na máquina ipanema.land.ufrj.br sera alertado, recebendo o toque de chamada [RING-RING];

e) Cesar decide se juntar à sessão e o seu cliente SIP responde para o servidor proxy que a sessão pode ser aberta [Resposta de Sucesso 200 OK para o Servidor Proxy];

f) o servidor proxy redireciona essa resposta ao cliente chamador [Resposta de Sucesso 200 OK redirecionada para bruno];

g) o cliente chamador bruno indica para o servidor que a negociação da sessão acabou e a sessão está aberta [Requisição ACK contendo a negociação final de mídia];

h) enfim, o servidor proxy indica para o cliente chamado que a negociação da sessão acabou e a sessão está aberta [Requisição ACK contendo a negociação final de mídia].