Ambiente de pruebas:
Asterisk: 1.4.16
trisbox: 2.4.0
softphone: zoiper 2.14
Servidor asterisk con ip privado detras de un firewall(cualquiera)
cliente detras de un firewall (cualquiera)
1.- Configurar el servidor asterisk para que acepte extensiones IAX2.
Ejemplo:
El siguiente contenido es del archivo iax.conf.
Iax.conf
[general]
bindport = 4569 ; Port to bind to (IAX is 4569. Forward this port to your Asterisk box)
externip =
externhost =
localnet = 192.168.1.0/255.255.255.0
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=g729
allow=ilbc
allow=gsm
allow=g723
allow=alaw
allow=ulaw
delayreject = yes
jitterbuffer = yes
mailboxdetail = yes
#include iax_additional.conf
#include iax_custom.conf
Si usas trixbox ya esta preconfigurado por defecto para aceptar extensiones iax/iax2.
Crear luego una extension iax2 de igual manera que se crea una extension SIP.
Usando trixbox la extension debe quedar con esta configuracion:
2.- Configurar el firewall donde esta el servidor.
Agregar una linea en el firewall en la cual el ip interno del server se publique al exterior mediante un numero IP publico y estatico, o publico y dinamico o por dominio, de acuerdo a como deseen configurarlo.
Lo que deben tener en cuenta es configurar adecuadamente el puerto UDP 4569 que usa iax/iax2 para la comunicacion, recomiendo programar el trafico de la siguiente manera:
UDP 4569 received/send
UDP 4569 send/received
De esa manera aseguran que la comunicacion por este puerto sea full duplex.
3.- Configurar el firewall del cliente.
Agregar el protocolo udp 4569 a los protocolos permitidos para comunicacion fuera de la red lan controlada por el firewall.
UDP 4569 send/received
4.- Configurar el zoiper.
ver este grafico: