Conhecendo o IAX
IAX2- IAX (“ Inter Asterisk eXchange”) é um protocolo desenvolvido pela Digium com o objectivo de estabelecer comunicação entre servidores Asterisk. IAX é um protocolo de transporte, tal como o SIP, no entanto faz uso apenas de uma única porta UDP (4569) tanto para sinalização como para streams RTP. O fato de utilizar apenas uma porta é uma vantagem em cenários de Firewall e ou NAT. IAX2 é versão 2 do IAX.
O IAX2 utiliza um único fluxo de dados UDP (usualmente na porta 4569) para comunicar entre pontos finais, tanto para sinalização quanto para dados. O trafego de voz é trasmitido in-band, fazendo o IAX mais fácil de ser trabalhado sobre firewalls e também atrás de NAT’s. É o principal contraste com o protocolo SIP, H323 e o “Media Gateway Control Protocol” que são utilizados RTP’s out-bands para entregar as informações do fluxo.
O IAX2 suporta entroncamento, e canais de multiplexação em um único link. Quando entroncado, dados de múltiplas chamadas são unidas em um único ‘set’ de pacotes, o que significa que um datagrama IP pode entregar informações para mais de uma chamada, reduzindo o gasto efetivo de banda e sem criar latência adicional. Essa é uma grande vantagem para usuários VoIP.
Configurando o IAX no Asterisk
Já vimos como configurar o SIP em nosso Asterisk. Agora veremos como configurar extensões utilizando o protocolo IAX2. O arquivo que temos que modificar é iax.conf e podemos encontra-lo como os demais no diretorio /etc/asterisk. Iremos trabalhar só com os parametros mais importantes os demais podem ser vistos no seu arquivo iax.conf.
cd /etc/asterisk
nano iax.conf
[general]
bindport=4569 ; é a porta UDP utilizada por esse protocolo. Este parametro é configurado antes do bindaddr.
bindaddr=192.168.0.105 ; é o ip que o Asterisk escutara os pedidos de conexão. 0.0.0.0 para todos os ip’s do servidor.
delayreject=yes ; melhora a segurança contra “Brute force password attacks” atrasando os envios de rejeição de autenticação.
srvlookup=yes ; permite uma gestão otimizada dos DNS.
accountcode=Server1 ; gera uma conta geral para gravar os CDR.
language=en ; language definida por você (ingles)
disallow=all ; desativa todos os codecs de audio e video.
allow=ulaw ; definimos alguns codecs de audio para todas as extensões.
allow=alaw
allow=gsm
Aqui definimos os provedores Voip e outros Asterisk PBX que queremos registrar.
;register => mestre:password@dominio.com.br ; registrando com nome do usuario, senha e dominio.
;register => joao@hostremoto:5656 ; registrando com nome, dominio e porta remota (sem senha).
;register => mestre:[key]@dominio.com.br ; registando com nome, RSA key e dominio.
Agora começamos com a configuração das extensões iax2 (parecido com o sip.conf)
[guest] ; deixaremos este bloco se quisermos configurar um usuario hospede (sem senha).
type=user ; pode somente receber chamadas
context=default ; é o contexto que usara em extensions.conf.
callerid=”Convidado IAX User” ; é a indentificação do usuario hospede.
[iaxfwd] ; extensão para conectar-se a Free World Dialup
type=user ; tipo do usuario
context=default ; contexto
auth=rsa ; autenticação com a chave RSA
inkeys=freeworlddialup ; nome da chave RSA (vai copiada no diretorio /var/lib/asterisk/keys)
Agora configuramos uma extensão de teste para conectar-se através de um cliente IAX2.
[mestre]
type=friend
host=dynamic ; se o cliente não se conecta sempre do mesmo ip temos que indicar dynamic.
secret=password ;senha
context=default ; contexto associado a este usuario no extensions.conf.
mailbox=1234@default ; caixa de correio de voz.
qualify=yes; para verificar regularmente com um ping se o usuario esta conectado ao servidor Asterisk.
callerid = “mestre” ; identificação do usuario na chamada
Salvamos as configurações e recarregamos o modulo iax
CLI> iax2 reload
Download e instalação do Cliente IAX – Zoiper
Clique aqui para fazer o Download Zoiper
Passos da instalação:
1. Execute o Zoiper Communicator Setup application
2. Siga o Setup Wizard
3. Inicie o Zoiper Communicator
4. Depois que o Zoiper estiver iniciado:
Vamos configurar nosso usuario mestre. Depois de instalado vamos no menu Zoiper e escolhemos Preferences, Create New IAX account e criamos um nome para a conta.
Na guia mestre que acabamos de criar inserimos os dados da conta que foi definida no arquivo iax.conf.
Se tudo esta correto na aba da conta aparecera: mestre (Registrado) (IAX)
Agora podemos fazer chamadas interns e externas. Ainda que não exsitam muitos provedores Voip que trabalham com IAX, esse é um protocolo mais voltado para interligação de servidores Asterisk
