• Nenhum resultado encontrado

Protocolos usados pelo Asterisk

No documento Introdução à Voz sobre IP e Asterisk (páginas 154-161)

\

\ Uso de protocolos VoIP no Asterisk:

\

\ Estabelecer as conexões; \

\ Determinar o ponto de destino; \

\ Estabelecer questões relacionadas à sinalização de telefonia, como: \ \ Indentificador de chamada; \ \ Desconexão. \ \ IAX e o Asterisk: \ \ Protocolo aberto; \ \ Histórico: \

\ Desenvolvido pela Digium com o propósito de comunicação com outros

Figura 4.5

Exemplos de uso AGI

Capítulo 4 – Asterisk \

\ Utiliza porta UDP (4569):

\

\ Canais de sinalização; \

\ Tansporte de mídia. \

\ No IAX, usuários são autenticados de três formas:

\ \ Plain text; \ \ MD5 hashing; \ \ RSA. \ \ Facilidades do IAX: \

\ Fornece controle e transmissão de voz sobre redes IP; \

\ Utiliza qualquer tipo de mídia, como: \ \ Voz; \ \ Vídeo. \ \ Características do IAX: \

\ Derivado da experiência dos protocolos: \

\ SIP; \ \ MGCP. \

\ Utiliza o mesmo protocolo para sinalização e mídia em uma mesma porta UDP.

\

\ Objetivos do protocolo IAX:

\

\ Minimizar o uso de banda; \

\ Prover transparência à NAT; \

\ Facilidade de uso na presença de firewalls; \

\ Possibilidade de transmitir informações sobre plano de discagem.

O protocolo é um conjunto de regras. Fazendo uma analogia, imagine que você encontra uma pessoa na rua e a cumprimenta com um “bom-dia”. No mínimo você espera um “bom-dia” de resposta. Mas imagine que você não recebeu de volta a sua resposta. Então você repete o “bom-dia”. Desta vez você recebe a sua resposta e inicia uma conversa. Durante a conversa, enquanto a outra pessoa fala, de vez em quando você balança a cabeça afirmativamente para demonstrar que está

acompanhando seu interlocutor. No final, vocês se despedem dizendo “tchau”. Essas ações fazem parte de um protocolo de comunicação pessoal. Nada foi declarado, escrito ou documentado para fazer desses gestos e frases um protocolo formal, mas

Introdução à V

oz sobre IP e Asterisk

Note que, mesmo quando a informação é perdida, quando no início da conversa você não recebe a resposta do seu interlocutor, existe uma “regra” que o faz tentar novamente o estabelecimento da conversa. Esta regra diz: caso não haja resposta em um tempo adequado, repita o “bom-dia”.

A mesma coisa pode-se dizer das comunicações de dados. A forma como uma página da internet é solicitada e transferida faz parte de protocolos como HTTP, TCP, UDP, RTP, IP, FTP, exemplos de protocolos para transferência de informação.

Em VoIP não é diferente; H.323, SIP, MCGP e IAX são protocolos de Voz sobre IP suportados pelo Asterisk, e todos eles possuem uma forma de estabelecer, controlar e finalizar chamadas, além de uma forma de lidar com a perda de mensagens importantes. Mesmo na telefonia tradicional, digital ou analógica, existem meios de estabelecer, controlar e finalizar chamadas.

Principais protocolos de Voz sobre IP suportados pelo Asterisk:

\

\ SIP (Session Initiation Protocol); \

\ H.323 (padrão definido pela ITU); \

\ IAX (Inter-Asterisk eXchange Protocol) v1 e v2; \

\ MGCP (Media Gateway Control Protocol); \

\ SCCP (Cisco Skinny), protocolo proprietário da Cisco.

Protocolo IAX

O IAX (Inter Asterisk eXchange) foi desenvolvido pela Digium com o propósito de comunicação eficiente com outros servidores Asterisk. A versão 2 do protocolo (IAX2) está definida na RFC 5456. É um protocolo aberto, isto é, qualquer pessoa pode baixá-lo da internet e aprimorá-lo. De acordo com o texto da RFC, ele não é um padrão do IETF e deve ser utilizado com cautela.

O Asterisk utiliza apenas uma porta UDP conhecida e fixa (4569), para tráfego de sinalização e mídia. Esta estratégia cria uma boa vantagem sobre os outros

protocolos de VoIP, pois não sofre com implementações de NAT. Além disso, também facilita o tratamento dos pacotes em firewalls, sem a necessidade da instalação de módulos específicos para VoIP.

O protocolo IAX2 permite a autenticação de dispositivos utilizando:

\

\ MD5 Message-Digest (conforme a RFC 1321) – neste caso, a senha não trafega

pela rede, mas sim a resposta a um desafio calculado, utilizando uma combinação com o domínio e um número aleatório. Forma utilizada pelo SIP, com base na autenticação www.

Capítulo 4 – Asterisk Como já sabemos, o IAX utiliza apenas a porta UDP 4569 tanto para a sinalização

das chamadas quanto para o transporte da voz. Além disso, diferentemente do SIP e do H.323, o IAX não utiliza o RTP para transporte de mídia, mas implementa seu próprio mecanismo para transporte e controle do canal de mídia, seja de voz ou vídeo. O IAX foi desenvolvido para prover controle e transmissão de voz e vídeo por meio de servidores Asterisk. Também é utilizado para conexões entre clientes e servidores que o suportam.

Ele aproveita ideias do SIP, do H323 e de outros protocolos. Por exemplo, evita fortemente o envio de informação redundante e já conhecida, que não seria aproveitada. Também utiliza códigos ao invés de descrever textualmente a

informação. Estas características tornam o IAX um protocolo mais rápido e eficiente para tratamento de chamadas.

NAT (Network Address Translation) é um recurso de tradução de endereço de rede muito comum, usado quando é necessário ligar mais de um dispositivo de rede a internet, mas só há um endereço roteável pela grande rede. O NAT causa problemas com protocolos como H.323 e SIP, porque eles utilizam um canal (par de portas origem e destino) para o controle das chamadas e, durante o estabelecimento da chamada, negociam dinamicamente outros dois canais para mídia, um em cada sentido. O que acontece é que o roteador que implementa o NAT fica “perdido” e não consegue saber o par de portas através do qual o canal de mídia será transmitido. Esta alocação dinâmica dos canais de mídia representa um problema adicional para os firewalls que, da mesma forma que no NAT, não conseguem saber que portas devem ser abertas para as ligações estabelecidas.

Já existem implementações de firewall e NAT que conseguem identificar os canais de mídia porque, ao perceberem um pacote com características de uma ligação SIP ou H.323, analisam o pacote completamente até a camada 7 (de aplicação) e verificam os endereços e portas que serão utilizadas para o tráfego de mídia. Obviamente, este artifício consome recursos computacionais do firewall e deve ser evitado quando possível.

O protocolo IAX resolve facilmente estes problemas, porque utiliza apenas a porta UDP 4569 para controle e transmissão de todas as chamadas entre os dois servidores. Outra vantagem do protocolo IAX é o modo trunk (tronco) para

transmissão das chamadas entre servidores. Quando configurados para operar neste modo, dois servidores Asterisk são capazes de otimizar o consumo de banda quando

Introdução à V

oz sobre IP e Asterisk

possui 40 bytes e cada payload (carga útil do pacote de voz) também possui 40 bytes, teremos 30 x (40+ 40) bytes trafegando na rede 50 vezes por segundo. O resultado da conta revela um consumo de banda de aproximadamente 960 kbps.

Por outro lado, se for utilizado o IAX2 em modo tronco com as mesmas 30 ligações e codec G.729, teremos um cabeçalho IP + UDP de 28 bytes mais 30 vezes 4 bytes, mais 30 vezes o payload de 40 bytes: 28 + 30 x (4 + 40). O resultado desta conta indica um consumo de banda de 539,2 kbps, pouco mais que a metade dos protocolos consagrados.

\

\ As mensagens IAX são chamadas de frames; \

\ Existem vários tipos de frames:

\

\ Frame completo; \

\ Miniframe.

As mensagens IAX são chamadas de frames. Existem vários tipos de frames. Um bit F é usado para indicar se o frame é completo (full) ou não. O valor 0 indica que é completo. Um número de chamada de 15 bits é usado para identificar o ponto final do fluxo de mídia. Valor 0 indica que o ponto final não é conhecido. Uma chamada tem dois números de chamada associados a ele em qualquer uma das direções. O horário (timestamp) pode ser um campo de 32 ou 16 bits. De qualquer forma, o campo ocupa 32 bits.

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Timestamp

OSeqno ISeqno Frame Type C Subclasse

F Número originador da chamada R Número de destino da chamada

A figura ilustra o formato binário de um frame completo.

Um frame completo pode ser usado para enviar sinalização, áudio e vídeo de forma confiável. O frame completo é o único tipo de frame transmitido de maneira confiável. Isso significa que após o recebimento o receptor deve retornar algum tipo de mensagem ao emissor.

O bit R é marcado para 1 se o frame está sendo retransmitido. A retransmissão ocorre após um período de timeout. As retransmissões são tentadas várias vezes, dependendo do contexto. O número de sequência do fluxo de saída (outbound) “OSeqno” inicia com 0 e é incrementado de um em um. O campo “OSeqno” é usado para identificar a ordenação dos frames de mídia. O campo “ISeqno” é o mesmo, só que no sentido de entrada (inbound). O tipo de frame indica a classe da mensagem.

Figura 4.6

Frame completo do IAX

Capítulo 4 – Asterisk 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Dados

F Número originador da chamada Timestamp

O miniframe é usado para enviar áudio ou vídeo (mídia) com um mínimo de sobrecarga de protocolo. O formato do miniframe é o apresentado na figura. O timestamp do miniframe é truncado. O cliente geralmente mantém o timestamp completo de 32 bits. Quando está enviando miniframes, os 16 bits de ordem mais baixa são enviados no campo timestamp. Quando o timestamp de 16 bits dá a volta (estoura), um frame completo é enviado para permitir que o outro lado sincronize. Uma descrição completa do protocolo IAX pode ser encontrada na RFC 5456 ou em:

\

\ www.cornfed.com/iax.pdf

Campo Descrição

F Marcado para 1 indica que é um frame completo. Source Call Number Número de chamada originador do lado de transmissão. R Marcado para 1 indica que o frame está sendo

retransmitido e o valor de 0 para a transmissão inicial. Destination Call

Number

Número de chamada de destino do lado receptor do frame. Timestamp Timestamp completo, 32 bits.

OSeqno Número de sequência do fluxo de saída. ISeqno Número de sequência do fluxo de entrada. Frame Type Tipo de frame.

C Formato do valor da subclasse. Subclasse Subclasse. Figura 4.7 Miniframe do IAX Tabela 4.1 Campos do frame completo do IAX

Introdução à V

oz sobre IP e Asterisk

Campo Descrição

F Marcado para 0 indica que é um frame incompleto Source Call Number Número de chamada originador do lado de transmissão

do frame completo

Timestamp Timestamp completo, 16 bits.

Dados Dados SIP IAX H.323 Vantagens Largamente implementado pelas operadoras VoIP;

Padrão de fato para a telefonia IP no momento. Uso eficiente da banda; Transparente a implementações de NAT; Simples e rápido.

Larga adoção pelo mercado; Padrão de videoconferência; Essencial na conectividade com projetos mais antigos.

Desvantagens Problemas com

NAT e FW. Protocolo ainda pouco difundido, implementado em poucos dispositivos. Arquitetura complexa Problemas com NAT e FW. Este quadro resume as qualidades e defeitos dos dois principais protocolos, confrontando-os com o IAX, o protocolo feito para o Asterisk.

Resumo

\

\ IAX – protocolo eficiente, que procura economizar ao máximo os recursos da

rede, reduzindo o consumo de banda da rede, o consumo de processamento em roteadores e, por ser bem simples, também reduz o consumo de recursos para o processamento das chamadas no PABX.

\

\ H.323 – mais antigo e maduro protocolo de VoIP. Completo e bem consolidado, é

o protocolo mais utilizado para videoconferência. Por outro lado, é relativamente lento e complexo, além de apresentar problemas com implementações de NAT.

\

\ SIP – protocolo da vez na internet, é o mais utilizado para chamadas VoIP, talvez

sendo o mais adequado para uma implementação em larga escala. Mais flexível que o H.323, porém menos eficiente que o IAX.

Tabela 4.2

Campos do Miniframe do IAX

Tabela 4.3

Comparativo entre IAX, SIP e H.323.

4

Roteiro de Atividades

Tópicos e conceitos

\

\ A atividade tem por objetivo instalar e configurar o Asterisk.

Competências técnicas desenvolvidas

\

\ Ao final desta prática o aluno irá aprender a instalar e configurar o Asterisk.

Tempo previsto para as atividades

\

\ 1 hora a 1h30 minutos (trabalho individual).

Requisitos

\

\ Esta prática envolve atividades individuais.

Preparando o ambiente

Descompacte a máquina virtual para o desktop e troque o nome do diretório para Asterisk.

No documento Introdução à Voz sobre IP e Asterisk (páginas 154-161)

Documentos relacionados