• Nenhum resultado encontrado

Protocolos de sinalização

O VoIP, em consonância com a telefonia antiga, implementou protocolos de sinalização. Estes têm como funções estabelecer, manter e terminar as sessões de voz. É através destes

5

15 protocolos que se definem as características da sessão, desde a definição dos intervenientes da sessão, dos codecs que são suportados e os mecanismos de segurança que serão utilizados. Os protocolos definem, não só as mensagens e os parâmetros de configuração da sessão, como as várias entidades que auxiliam o VoIP. Nesta secção serão abordados os três principais protocolos de sinalização: a recomendação H.323, SIP e IAX2.

2.4.1

H.323

A recomendação H.323 faz parte de um conjunto de recomendações definidas pelo ITU [H.323, 1998] com o objectivo de especificar a sinalização para a transmissão de conteúdos de média através de uma rede de pacotes, ou seja, o propósito para que foi criada não foi exclusivamente o VoIP, porém, foi este o primeiro protocolo a ser utilizado para a sinalização. Devido à extensão e complexidade da recomendação, o H.323 não foi bem aceite pela comunidade, sendo que foi abandonado assim que um protocolo mais simples apareceu.

2.4.2

Session Iniciation Protocol

O SIP é um protocolo de sinalização que funciona na camada de aplicação. Foi desenvolvido pelo IETF com o objectivo de criar um protocolo de sinalização simples de implementar. O SIP tem como principal objectivo criar, manter e terminar uma sessão de qualquer tipo de média entre um ou vários participantes. Este foi idealizado à semelhança do HTTP e são ambos baseados no modelo pedido/resposta, com uma estrutura baseada em texto, codificam as suas mensagens de forma semelhante e o endereçamento é feito de forma semelhante à web e ao e-

mail, onde o uso do Uniform Resource Locator (URL) permite encaminhar as mensagens ao seu

destino [Gonzalo, 2002].

O SIP define as entidades segundo duas categorias: user agent (UA) e servidores. Estão incluídos na categoria UA todos os terminais que permitem ao cliente efectuar uma chamada, como, por exemplo, softphone ou telefones IP. Todos têm em comum o facto de terem uma interface IP com o qual se conectam à rede. Os servidores encontram-se divididos conforme as suas funções: (i) proxy server, que medeia os pedidos em nome do UA, contactando outro proxy

server até conseguir estabelecer contacto com o outro interveniente; (ii) forking server que

medeia também pedidos dos UA, contactando outros servidores. Se este contacto for efectuado paralelamente, este contactará vários servidores ao mesmo tempo, caso o faça sequencialmente,

16

contactará um servidor de cada vez até encontrar um disponível; (iii) registrar é o servidor responsável por aceitar registos dos UA e usualmente encontra-se associado ao proxy server e ao

redirect server; (iv) location server que, apesar de não ser uma entidade oficial do SIP, é

bastante importante para o protocolo, este guarda as possíveis localizações do UA e retorna essa localização sempre que lhe é pedido; e (v) redirect server que fornece informações sobre uma localização alternativa do UA [Gonzalo, 2002].

A Figura 2 ilustra a típica transacção SIP. Nesta consegue-se perceber o modelo pedido/resposta, onde para cada acção de um dos UA existe uma resposta de outro UA. Neste caso, a Alice inicia uma sessão enviando a mensagem de pedido INVITE ao seu proxy server, que analisa e reencaminha para o proxy server do receptor que em seguida faz chegar a mensagem recebida a Bob. A mensagem INVITE inclui as características da sessão, listando todas as opções suportadas pelo terminal da Alice, para que o terminal de Bob seleccione aquelas que são compatíveis com as suas características. O proxy server do Bob responde com a mensagem 100 Trying indicando que recebeu a mensagem e que se encontra a processar a mensagem de INVITE. Após a sua recepção, o terminal alerta o Bob que a Alice lhe enviou um convite para iniciar uma sessão através de um sinal sonoro para que Bob possa tomar a decisão de atender ou não. Em simultâneo, envia a mensagem 180 Ringing que o terminal da Alice processa como um sinal sonoro que indica à Alice que Bob recebeu a mensagem e que foi alertado. Quando Bob decide atender a chamada o terminal envia a mensagem 200 OK que responde à mensagem INVITE, mencionando quais as características da sessão que irá utilizar. Alice confirma a recepção desta última mensagem com um ACK que dá início à criação de um canal de média entre os intervenientes, dando início à transmissão de voz [Rosenberg, 2002].

17

Figura 2 - Transacção SIP de estabelecimento de sessão através de dois proxies [Rosenberg, 2002]

2.4.3

Inter-Asterisk eXchange

Desde do aparecimento do VoIP que vários esforços têm sido feitos para a desenvolvimento dos seus protocolos, o mais popular, e amplamente aceite pela comunidade, é o SIP mas recentemente surgiu um novo protocolo que tem ganho o seu espaço, em especial junto da comunidade open-source [Abbasi, 2005]. O IAX2 foi desenvolvido no contexto do projecto

Asterisk para garantir as comunicações entre dois servidores Asterisk. Posteriormente, deu-se o

início da criação de um standard que actualmente é um draft do IETF. Com este passo deu-se o início do alastramento do protocolo para além do seu projecto inicial, sendo que é possível encontrar equipamentos e VoIP providers que suportam o IAX2.

O IAX2 é um protocolo que, como o SIP, tem as funções de estabelecer, manter e terminar uma sessão. Contudo, o IAX2 não separa o fluxo de sinalização do fluxo de média e define as suas transacções segundo o modelo pedido/reposta, a codificação, a estrutura baseada em texto

18

das mensagens e utiliza um método de endereçamento semelhante ao SIP. Porém, a ideia de criar um novo protocolo surgiu da necessidade de ultrapassar alguns problemas do SIP, nomeadamente configurações de firewalls e optimização da largura de banda, que são simplificados pelo simples facto do IAX2 não ser só um protocolo de sinalização, como também de transporte de média [Boucadair, 2009]. Embora existam semelhanças entre o IAX2 e o SIP, a principal diferença é no desempenho. Em estudos comparativos entre SIP e IAX2, onde foram analisados os pacotes perdidos, atrasados e fora de ordem através de um modelo de análise baseado em opiniões (MOS) e concluiu-se que o IAX2 obtém uma melhoria de 25% em comparação com o SIP [Abbasi, 2005].

O IAX2 utiliza frames para o transporte de mensagens de sinalização e para o transporte do fluxo de média. Para tal define 3 tipos de frames consoante as características dos dados que transportam. São então definidas as full, as mini e as meta frames. As full frame têm como funções gerir o estabelecimento, terminação e controlo de sessões e controlo da rede. Estas

frames são transmitidas de forma fiável, recorrendo à utilização do envio de mensagens de ACK

que acusam a recepção das frames, isto é, a mensagem de ACK indica que a frame foi recebida e/ ou processada pelo receptor, caso contrário, o emissor assume que ocorreu um problema e retransmite a frame. A full frame transporta mensagens que contêm information elements (IE), estes são objectos que transportam a informação necessária para a gestão das sessões. Encontram-se definidos vários IE mas existe a possibilidade de criar novas, consoante as necessidades de quem implementa o protocolo.

A Figura 3 ilustra uma típica transacção do IAX2 para estabelecer uma sessão entre dois intervenientes. Nesta, A envia a mensagem NEW, que contém a informação sobre a sessão e B responde com a mensagem ACCEPT, indicando que aceita o início do processo de estabelecimento da sessão. A responde com um ACK, de modo a confirmar a recepção da mensagem ACCEPT. B envia ring tones via mini frames e a mensagem RINGRING, para indicar que a chamada será atendida e que é confirmada por um ACK por A. Quando B atende, a chamada envia a mensagem ANSWER que é reconhecida por A com um ACK e dá-se início ao envio das mini frames transportando o fluxo de áudio [Boucadair, 2009].

19

Figura 3 - Transacção IAX2 de establecimento de sessão [Boucadair, 2009]

Documentos relacionados