• Nenhum resultado encontrado

Capítulo 03

Introdução à VoIP

Uma rede SIP típica contém basicamente dois tipos de elementos: telefones ou EndPoints, chamados User Agent e os servidores, chamados de proxy servers.

O User Agent (UA) é uma entidade lógica da arquitetura SIP e se subdivide em User Agent Client (UAC) e User Agent Server (UAS). O UAC (User Agent Client) executa a função de cliente da aplicação e é responsável por iniciar uma chamada SIP enviando requisições. O UAS (User Agent Server) é a parte com função de servidor e permanece “ouvindo” a rede, aguardando requisições. Um user agent chamador atua como UAC quando envia uma mensagem de requisição INVITE e recebe resposta das requisições feitas. Um user agent chamado se comporta como um UAS quando este recebe a requisição INVITE e retorna uma resposta. Esta situação muda quando a pessoa chamada decide enviar um BYE e terminar a sessão. Neste caso, o user agent chamado (que envia BYE) se comporta como um UAC e o user agent chamador atua como um UAS. Dito de outra forma, o UAC e UAS só existem durante a transação SIP (SIP Transaction).

Os servidores (ou SIP Proxies) são elementos encarregados de executar o registro dos telefones e o encaminhamento das chamadas entre os diferentes domínios. São usados para traduzir nomes e números de identificação dos UA para o endereço IP em que eles estão instalados.

Os SIP Proxies são classificados de acordo com sua função principal:

● Registar ou Servidor de registro: Servidor onde os telefones IP se registram para que possam ser encontrados quando uma chamada chega para eles.

● Redirect Server ou Servidores de redirecionamento: Servidor utilizado apenas para indicar rotas alternativas. Responde às requisições com mensagens 3xx.

● Servidor Proxy: Seu propósito é receber requisições e encaminhá-las para o destino. Sua função principal é rotear as chamadas. Também podem exercer funções de controle, admissão e segurança. Podem ser de dois tipos:

○ Proxies Stateless não mantêm o estado das chamadas. Eles reencaminham as mensagens para o destino ou para outro proxy. São mais simples e mais rápidos. São similares às “centrais tandem” da velha telefonia. Armazenam poucas

informações e são indicados para implementação de centrais trânsito, a fim de evitar congestionamentos.

○ Proxies Stateful mantêm o estado das chamadas. Podem se encarregar de tarefas como bilhetagem e contabilização. São mais lentos e consomem mais recursos computacionais.

atlanta.com . . . biloxi.com . proxy proxy . . .

Alice's . . . Bob's softphone SIP Phone | | | | | INVITE F1 | | |

Capítulo 03

Introdução à VoIP

|--->| INVITE F2 | | | 100 Trying F3 |--->| INVITE F4 | |<---| 100 Trying F5 |--->| | |<--- | 180 Ringing F6 | | | 180 Ringing F7 |<---| | 180 Ringing F8 |<---| 200 OK F9 | |<---| 200 OK F10 |<---| | 200 OK F11 |<---| | |<---| | | | ACK F12 | |--->| | Media Session | |<================================================>| | BYE F13 | |<---| | 200 OK F14 | |--->| | |

Figura – Comunicação entre dois domínios diferentes

A figura acima foi retirada da RFC 3261 e representa o “Trapézio do SIP”, onde Alice, utilizando o proxy atlanta liga para Bob, no proxy biloxi. Neste caso, os servidores em questão são ‘Stateless’, pois não se mantém na chamada até sua finalização.

Também é possível observar o trapézio SIP em um cenário hipotético com duas companhias, A e B, com dois servidores proxy diferentes, um para cada. Neste caso, observe a etapa onde o proxy A encontra o endereço do proxy B.

O funcionário Joe da companhia A deseja se comunicar com o funcionário Bob da companhia B. O usuário Joe utiliza o endereço “sip:bob@b.com” para fazer uma ligação para o usuário Bob. O

Capítulo 03

Introdução à VoIP

user agent de Joe não sabe a localização de Bob, mas está configurado para enviar todas as chamadas para o servidor SIP “proxy.a.com” de sua companhia.

O servidor proxy de A descobre que o usuário “sip:bob@b.com” está em uma companhia diferente, então irá procurar servidor SIP proxy da companhia B e enviar o convite para lá. Os endereços dos servidores proxy da companhia B podem estar pré-configurados no “proxy.a.com”, ou o proxy de A utilizará os registros DNS SRV para encontrar os servidores proxy de Bob.

O convite chega até “proxy.b.com”, que sabe que Bob tem condições de atender a chamada em seu telefone. Então o proxy envia o convite para o endereço do telefone IP de Bob.

Servidor de redirecionamento (Redirect Server)

Figura 2.3 – Funcionamento do redirect server

1. Servidor que recebe uma requisição e retorna uma resposta contendo uma lista da localização atual do cliente

2. Gera respostas do tipo 3xx para as requisições feitas.

Um servidor de redirecionamento (redirect server) mapeia um endereço em zero ou mais novos endereços associados a um cliente, que não é nada mais do que um servidor gerador de respostas 3xx para as requisições que recebe, direcionado o cliente ao contato com um conjunto de URIs alternativos.

Pode ser utilizado para a implementação de serviços de voz, como o correio eletrônico, ou para a configuração de rotas alternativas.

Neste cenário, o redirect server recebe a requisição e consulta o destinatário no banco de dados criado pelo servidor de registro (registrar). Depois disso, uma lista da localização atual do usuário é criada e enviada ao originador da requisição em uma resposta SIP 3xx da classe de resposta de redirecionamento. O originador da requisição extrai a lista de endereços e envia outra requisição diretamente para eles.

Servidor de registro (Registrar Server)

O servidor de registro é um dos elementos da arquitetura SIP, onde se recebe os registros dos usuários. Ele extrai a informação de sua localização atual (endereço IP, porta e username) e a armazena em um banco de dados. Armazena informações sobre os locais onde uma parte pode ser encontrada, trabalhando em conjunto com o servidor de redirecionamento e o servidor proxy. O propósito do banco de dados é mapear clientes em uma mesma zona, permitindo que sejam

Capítulo 03

Introdução à VoIP

encontrados no momento de uma requisição.

Figura 2.4 – Funcionamento do servidor de registro

Este cenário demonstra um exemplo de um servidor de registro (registrar), no qual uma mensagem REGISTER contendo o endereço de registro “sip:jan@iptel.org” e o endereço de contato

“sip:jan@1.2.3.4:5060”, em que 1.2.3.4 é o endereço IP do telefone enviado ao servidor de registro, que extrai a informação e a armazena em um banco de dados local. Se tudo correr bem, o servidor de registro envia uma mensagem de resposta 200 OK ao telefone e o processo de registro termina corretamente.