Conectar dos servidores Asterisk con IAX2

Ya hemos visto como conectar dos servidor Asterisk usando el protocolo SIP. En este articulo veremos como hacerlo con el protocolo IAX2. La ventaja  con IAX2 está en su característica, llamada trunking, que utiliza  el mismo encabezado (header) para el envío del audio de todas las llamadas. De esta forma cuando hay un numero considerable de llamadas que están pasando por el trunk, hay un notable ahorro de banda. Otra ventaja es que la señalización y los datos audio/video pasan por el mismo puerto (UDP 4569), anulando en la practica los típicos problemas de NAT que “padece” el protocolo SIP.

Si tenemos dos o más VPS alquilados con la empresa Linode y si estos se encuentran en el mismo centro de datos, tenemos la posibilidad de conectarlos entre ellos como si estuvieran en la misma LAN. Los datos que pasan a través de la LAN no vienen contabilizados para el calculo del consumo de banda.

Entramos en nuestra cuenta de Linode. En seguida aparecerá una lista de los VPS alquilados:

iax1

Es importante que en location aparezca el mismo centro de datos (en mi caso Dallas). Clicamos sobre el primer VPS y vamos al menú Network. En private IP settings activamos la dirección IP de la red local. Ahora tenemos que crear una tarjeta de red virtual para esa dirección IP (en mi caso 192.168.142.246). Entramos en nuestro VPS y seguimos estos pasos:

nano /etc/sysconfig/network-scripts/ifcfg-eth0:1

Pegamos estas líneas:

DEVICE=eth0:1
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.142.246
NETMASK=255.255.128.0

Guardamos los cambios y volvemos a arrancar la red:

service network restart

Con el comando ifconfig deberíamos ver:

iax2

Ahora seguimos el mismo procedimiento para el segundo VPS. Al terminar podemos empezar con la configuración de los dos servidores Asterisk.

Servidor A:

Version Asterisk: 1.6.0.15

IP: 192.168.142.248

usuario: vozcom

Extensiones: 3000-3099

Servidor B:

Version Asterisk: 1.4.26.2

IP: 192.168.142.246

usuario: vozorg

Extensiones: 6000-6099

 

Vamos a empezar con la configuración del servidor A

nano /etc/asterisk/iax.conf

En el bloque register:

register => vozcom:passwordA@192.168.142.246

El usuario:

[vozorg]
type=friend
host=dynamic
trunk=yes
secret=passwordB
context=phones
deny=0.0.0.0/0.0.0.0
permit=192.168.142.246/255.255.255.255
qualify=yes

nano /etc/asterisk/extensions.conf

en nuestro contexto local:

[local]
exten => _60XX,1,Dial(IAX2/vozorg/${EXTEN})
exten => _60XX,n,Hangup

asterisk –rvvvvvvvvvvvvvvv

CLI> iax2 reload

CLI> dialplan reload

 

Servidor B:

nano /etc/asterisk/iax.conf

En el bloque register:

register => vozorg:passwordB@192.168.142.248

El usuario:

[vozcom]
type=friend
host=dynamic
trunk=yes
secret=passwordA
context=phones
deny=0.0.0.0/0.0.0.0
permit=192.168.142.248/255.255.255.255
qualify=yes

nano /etc/asterisk/extensions.conf

en nuestro contexto local:

[local]
exten => _30XX,1,Dial(IAX2/vozcom/${EXTEN})
exten => _30XX,n,Hangup

asterisk –rvvvvvvvvvvvvvvv

CLI> iax2 reload

CLI> dialplan reload

Ahora podemos llamar del servidor A las extensiones del servidor B y viceversa.

Comentarios

ayuda sobre iax2

todos mis usuarios sip, en el archivo sip.conf,  estan en un contexto ''sip-internal'' 

.

[me4]

type=friend

callerid=2109

username=me4

secret=PASSWORD

host=dynamic

context=sip-internal

.

.

[sip-internal]

exten => 2109,1,Dial(SIP/me4)

.

cuando te referis al conterto [local] en el archivo de extension.conf, entonces en mi caso seria [sip-internal] enves de [local].

o en que contexto hay que tener los usuarios.

 
[local] 

exten => _30XX,1,Dial(IAX2/vozcom/${EXTEN}) 
exten => _30XX,n,Hangup.

.
graciass

Re: ayuda sobre iax2

Hola,

exacto. Si el contexto donde manejas todas las llamadas entre las extensiones se llama from-internal, entonces es ahí que pones esa parte.

Saludos

extensions

essa extensions nao deu certo teria uma outra?

Circuit is busy

Hola, estoy implementando tu solución y tanto la troncal de sip como la de iax me marca el error de circuit is busy, sabes porque?

Distribuir contenido Distribuir contenido