Enviado por admin el
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:
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:
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.
4 comentarios
ayuda sobre iax2
Enviado por epm1989 el
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.
Re: ayuda sobre iax2
Enviado por admin el
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
Enviado por valter (no verificado) el
essa extensions nao deu certo teria uma outra?
Circuit is busy
Enviado por AlejandroRobles (no verificado) el
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?