Inter-Asterisk Exchange (IAX) o protocolo de Trunks para servidores Asterisk® SCF™ - A.B.Delphini™
Home / Asterisk® SCF™ / IAX2 / Inter-Asterisk Exchange (IAX) o protocolo de Trunks para servidores Asterisk® SCF™
Inter-Asterisk Exchange (IAX) o protocolo de Trunks para servidores Asterisk® SCF™
IAX (protocolo Inter-Asterisk eXchange) é um dos protocolos utilizados pelo Asterisk® SCF™. Ele é usado para gerenciar conexões VoIP entre os servidores Asterisk® SCF™ e entre servidores e clientes que também usam o protocolo IAX. O protocolo IAX agora geralmente se refere ao IAX2, a segunda versão do protocolo IAX. O protocolo original tornou-se obsoleto em favor do IAX2.
O protocolo IAX2 foi criado por Mark Spencer para sinalização VoIP em Asterisk® SCF™. O protocolo cria sessões internas e essas sessões podem usar qualquer CODEC que possa transmitir voz ou vídeo. O IAX2, essencialmente, fornece controle e transmissão de fluxos de dados multimídia em redes IP. IAX2 é extremamente flexível e pode ser usado com qualquer tipo de dados, incluindo o vídeo.
O design IAX2 foi baseado em muitos padrões de transmissão de dados, incluindo SIP (que é o mais comum atualmente), MGCP e Protocolo de Transporte em Tempo Real.
O objetivo principal da IAX2 foi minimizar a largura de banda usada na transmissão de voz e vídeo através da rede IP, com particular atenção ao controle e às chamadas de voz e ao suporte nativo para ser transparente ao NAT. A estrutura básica do IAX2 é baseada na multiplexação da sinalização e no fluxo de dados em uma única porta UDP entre dois sistemas. IAX2 é um protocolo binário e é projetado e organizado de forma a reduzir a carga em fluxos de dados de voz. A largura de banda para algumas aplicações é sacrificada em favor da largura de banda para VoIP.
Arquitetura IAX2
Como o nome indica, ele foi projetado como um protocolo para conexões VoIP entre os servidores Asterisk® SCF™, embora hoje em dia também sirva para conexões entre clientes e servidores que suportam o protocolo.
Para evitar problemas de NAT, o protocolo IAX ou IAX2 usa o protocolo de transporte UDP, geralmente na porta 4569 (IAX1 usava porta 5036), e as informações de sinalização e os dados viajam juntos (ao contrário do SIP) e, portanto, torna menos propenso a problemas de NAT e permite que você passe roteadores e firewalls com mais facilidade.
Tabela 1: Valores possíveis do campo "Tipo Quadro" dos quadros F ou Full Frame:
Tabela 2. Significado dos valores do campo de subclasse para Tipo de estrutura = "0x02" (dados de voz)
Como já informamos, o IAX foi criado por Mark Spencer (também criador do Asterisk® SCF™) para aliviar uma série de problemas ou inconvenientes que foram encontrados ao usar o SIP no modo Trunk VoIP e que ele achava que deveria ser melhorado.
- Largura de banda: O IAX usa uma largura de banda menor do que o SIP, uma vez que as mensagens são codificadas em forma binária enquanto no SIP são mensagens de texto. Da mesma forma, IAX tenta reduzir ao máximo a informação dos cabeçalhos das mensagens, reduzindo também a largura de banda.
- NAT: No IAX, a sinalização e os dados viajam juntos, o que evita os problemas de NAT que freqüentemente aparecem no SIP. No SIP, a sinalização e a viagem de dados são separadas e é por isso que os problemas NAT aparecem no fluxo de áudio quando esse fluxo deve superar os roteadores e firewalls. SIP geralmente precisa de um servidor STUN para esses problemas.
- Padronização e uso: O SIP é um protocolo padronizado pelo IETF há algum tempo e que é amplamente implementado por todos os fabricantes de equipamentos e software. O IAX ainda está sendo padronizado e é por isso que ele não é encontrado em muitos dispositivos existentes no mercado.
- Uso de portas: O IAX usa uma única porta (4569) para enviar as informações de sinalização e os dados de todas as suas chamadas. Para fazer isso, ele usa um mecanismo de multiplexagem ou trunking.
O SIP, no entanto, usa uma (1) porta (5060, 5061 e 5062) para sinalização e duas (2) portas RTP para cada conexão de áudio (pelo menos 3 portas). Por exemplo, para 100 chamadas simultâneas com SIP, 200 portas (RTP) além da sinalização da porta 5060, 5061 e 5062 seriam usadas.
- Fluxo de áudio ao usar um servidor: No SIP, se usarmos um servidor, a sinalização de controle sempre passa pelo servidor, mas as informações de áudio (fluxo RTP) podem viajar de ponta a ponta sem necessariamente passar pelo servidor SIP. No IAX, quando a sinalização e os dados viajam juntos, todo o tráfego de áudio deve necessariamente passar pelo servidor IAX. Isso produz um aumento no uso da largura de banda que os servidores IAX devem suportar, especialmente quando há muitas chamadas simuladas.
- Outras funcionalidades: O IAX é um protocolo projetado para transmissão de VoIP e vídeo e apresenta recursos interessantes, como a possibilidade de enviar ou receber planos de discagem (dialplans) que são muito interessantes quando usados em conjunto com os servidores Asterisk® SCF™. O SIP é um protocolo de propósito geral e pode transmitir sem dificuldade qualquer informação e não apenas áudio ou vídeo.