Conectar 2 Asterisk utilizando un trunk IAX

El protocolo IAX2 (Inter-Asterisk eXchange) es el más recomendado cuando se requiere conectar dos servidores Asterisk. A diferencia del protocolo SIP, el protocolo nativo de Asterisk es mucho más amigable cuando debe trabajar detrás de un firewall (NAT). Utiliza un solo puerto (el 4569 UDP por configuración de base) para señalización y voz.

En el caso en que sea necesario utilizar la conexión entre ambos servidores por un alto número de llamadas, se aconseja utilizar codecs que ocupen poco ancho de banda, por ejemplo el G.729. Recordar que la señal de fax no puede pasar a través de un codec comprimido, siendo necesario utilizar el G711 (ulaw o alaw)

El procedimiento que debe llevarse a cabo para conectar dos servidores Asterisk es muy simple. Será necesario crear un trunk IAX en cada uno de los servidorres y las correspondientes rutas de entrada y salida (outbound routes e inbound routes)

Un ejemplo de como configurar un trunk IAX para conectar dos servidores Asterisk

Imaginemos que tenemos un servidor A (ip: 10.10.20.5) y un servidor B (ip: 172.16.7.20)

Datos servidro A:

  • IP: 10.10.20.5
  • Internos: 2201 al 2299

Datos servidor B:

  • IP: 172.16.7.20
  • Internos: 2300 al 2399

Configuración trunk servidor A

Trunk name: ServidorB

Outgoing Settings

Trunk name: ServidorB

Peer details:

deny=all
allow=ulaw,alaw
type=friend
host=ip_servidor_b
qualify=yes
context=from-internal
secret=sarEf435_sd
auth=md5

Register String

Este parámetro viene formado por: 

  • El nombre del trunk del otro servidor
  • El valor ingresado en el parámetro secret
  • El ip del otro servidor

En este caso, el resultado sería el siguiente:

ServidorA:sarEf435_sd@ip_servidor_b

Configuración trunk servidor B

Trunk name: ServidorA

Peer details:

deny=all
allow=ulaw,alaw
type=friend
host=ip_servidor_a
qualify=yes
context=from-internal
secret=sarEf435_sd
auth=md5

Register String

En este caso, el resultado sería el siguiente:

ServidorB:sarEf435_sd@ip_servidor_a

Configuración del outbound route del Servidor A

Route Name: Servidor B

Dial Patterns that will use this Route: 23XX

Trunk Sequence for Matched Routes: ServidorB

Configuración del outbound route del Servidor B

Route Name: Servidor A

Dial Patterns that will use this Route: 22XX

Trunk Sequence for Matched Routes: ServidorA

Conclusión

Con esta configuración, cuando los interno del servidor A marquen un número 23XX, la llamada será efectuada a través del trunk servidor B y viceversa.