Hola,
Vamos a repasar cómo podemos interconectar dos servidores Asterisk usando el protocolo IAX2. Para este laboratorio hemos usado dos servidores con las siguientes características.
Server A.
Asterisk versión 1.6.2
IP: 192.168.1.210
Host: pbx.fware.pro
Server B.
Asterisk version 1.4.27
IP: 192.168.1.220
Host: go.fware.pro
La configuración para Server A en /etc/asterisk/iax.conf debe ser la siguiente:
register => go:123456@192.168.1.220 [pbx] type=friend host=dynamic secret=123456 trunk=yes context=to-external deny=0.0.0.0/0.0.0.0 permit=192.168.1.0/255.255.255.0 disallow=all allow=alaw allow=ulaw
La configuración para el Server B en /etc/asterisk/iax.conf debe ser la siguiente:
register => pbx:123456@192.168.1.210 [go] type=friend host=dynamic secret=123456 trunk=yes context=default deny=0.0.0.0/0.0.0.0 permit=192.168.1.0/255.255.255.0 disallow=all allow=ulaw allow=alaw
Después de grabar las configuraciones debemos recargar el entorno de iax2 en cada uno de los Server.
Server A.
[root@pbx ~]# asterisk –rvvv pbx*CLI> iax2 reload
Server B.
[root@go ~]# asterisk –rvvv go*CLI> iax2 reload
Luego hay que revisar en las dos consolas de asterisk si los equipos se han registrado exitosamente.
Server A.
pbx*CLI> iax2 show registry Host dnsmgr Username Perceived Refresh State 192.168.1.220:4569 N go 192.168.1.210:4569 60 Registered 1 IAX2 registrations. pbx*CLI>
Server B.
go*CLI> iax2 show registry Host dnsmgr Username Perceived Refresh State 192.168.1.210:4569 N pbx 192.168.1.220:4569 60 Registered go*CLI>
Luego que los dos servidores estén interconectados, hay que configurar el archivo /etc/asterisk/extensions.conf dependiendo del flujo que se le desee dar a las llamadas. Teniendo en cuenta esto el contexto que le demos a la extensión es muy importante ya que el servidor asterisk recibirá las llamadas del trunk y las va tramitar con las reglas del contexto mencionado. Para entender mejor el tema vamos a exponer nuestro caso.
Queremos que el Server B tenga al Server A como Carrier hacia la PSTN, y que todas las llamadas salientes estén precedidas por el número 9, es decir que para poder llamar a la PSTN los usuarios del Server B deben marcar 9XXXXXXX donde las XXXXXXX indican el número a marcar en la PSTN. El contexto en Server A para las llamadas externas se llama to-external esto debe quedar registrado en la extensión que creamos en el /etc/asterisk/iax.conf de Server A.
Con lo cual debemos incluir en el /etc/asterisk/extensions.conf de Server B la siguiente sentencia.
exten => _9.,1,Dial(IAX2/go/${EXTEN:1},90,tr) exten => _9.,n,Hangup()
_9. Indica que va levantar el trunk para todos los números que precedan el número 9.
IAX2/go lo envía a nuestro trunk en Server A.
/${EXTEN:1} es una variable que lee lo que marcas en el teléfono que será lo que envías por el trunk, el :1 quiere decir que le quitara el 9 que precede el número para que al momento de llegar al contexto de Server A lo puedo transferir hacia la PSTN sin problema.
no me registra nada, ni con protocolo iax2 ni con sip, puedes ayudarme?
gracias
Hola Isa,
Bueno es importante saber si tienes conectividad entre los dos servidores, verifica si logras alcanzar el equipo y los puertos, recuerda que iax usa el puerto 4569.
Por favor déjanos saber el resultado de tus pruebas.
Slds.
MUchas gracias, por fin despues de 20 dias pude conectarme por IAX2.
un saludo desde cartagena colombia muchas gracias por sus aportes y en especial la parte de asterisk.
me gustaría contar con asesoría para la puesta en marcha de un proyecto de voip utilizando asterisk.
la idea es interconectar 3 sedes y relizar llamadas entre ellas a traves de extensiones y hacia la pstn
Muchas gracias, con este tutorial pude hacer que se registraran entre dos PBX Asterisk, ya me estaba moliendo la cabeza tratando de resolverlo.
Lo que me di cuenta es me rechazaba el registro al colocar la IP remota en el campo “host=” en lugar de usar “permit” y “deny” con “host=dynamic” por qué será esto?
Que seguridad hay con el protocolo IAX2 , que tan seguro es conectar 2 servidores o extensiones a través de este protocolo ??