Conectar dos servidores Asterisk con protocolo SIP

Actualizado 12 Septiembre 2009

Tenemos dos servidores Asterisk, A y B, y queremos conectarlos entre ellos, usando el protocolo SIP, para llamar desde A las extensiones de B y desde B las extensiones de A. Además en A tenemos configurado un proveedor de llamadas VoIP para Colombia y desde B queremos enrutar todas las llamadas para Colombia hacia ese proveedor. Las extensiones locales del servidor A y del servidor B no pueden ser iguales. Ejemplo: en el servidor A las extensiones son de 4 cifras y empiezan por 3, en el servidor B son de 4 cifras y empiezan por 4.

Empezamos con la configuración del servidor A (vozcom)

nano /etc/asterisk/sip.conf

añadimos

register => vozcom:contrasena@sip.voztovoice.net/voznet

[voznet]
type=friend
secret=contraseña
context=phones
qualify=yes
host=dynamic
anguage=es
disallow=all
allow=gsm
allow=ulaw
allow=alaw

Con la línea de register, conectamos el servidor vozcom al servidor voznet. Con las líneas que están después de la etiqueta [voznet] definimos una extensión SIP che será aquella usada por el servidor B para conectarse al servidor A

Ahora pasamos al servidor B (voznet)

nano /etc/asterisk/sip.conf

añadimos

register => voznet:contrasena@sip.voztovoice.com/vozcom

[vozcom]
type=friend
secret=contraseña
context=phones
host=dynamic
language=es
qualify=yes
disallow=all
allow=gsm
allow=ulaw
allow=alaw

Ahora que tenemos los dos servidores configurados tenemos que reiniciarlos. En los dos digitamos el comando:

/etc/init.d/asterisk restart

Si todo salió bien desde la consola veremos:

  • para el servidor A (vozcom)

CLI> sip show registry

sip.voztovoice.net:5060         vozcom             105 Registered           Mon, 15 Dec 2008 09:57:39

CLI> sip show peers

voznet/vozcom              67.18.186.202    D          5060     OK (34 ms)

  • para el servidor B (voznet)

CLI> sip show registry

sip.voztovoice.com:5060        Y      voznet             105 Registered           Mon, 15 Dec 2008 10:00:32

CLI> sip show peers

vozcom/voznet              209.20.72.171    D          5060     OK (34 ms)

Ahora lo único que hace falta es modificar el archivo extensions.conf de ambos servidores.

  • Servidor A

en el contexto local (para las llamadas entre extensiones) añadimos:

exten => _4XXX,1,NoOp()
exten => _4XXX,n,Dial(SIP/voznet/${EXTEN})
exten => _4XXX,n,Hangup()

Con estas líneas le decimos a la centralita que todas las llamadas para las extensiones cuyo numero empiece por 4 y sea de 4 cifras sean enrutadas hacia voznet (servidor B)

  • Servidor B

en el contexto local

exten => _3XXX,1,NoOp()
exten => _3XXX,n,Dial(SIP/voznet/${EXTEN})
exten => _3XXX,n,Hangup()

además para las llamadas a Colombia (en el contexto usado para las llamadas externas) ponemos:

exten => _0057.,1,Dial(SIP/vozcom/${EXTEN})

con esta línea definimos que todas las llamadas para Colombia sean pasadas al servidor A que la enrutarà hacia el proveedor VoIP

Actualizamos la configuración en los dos servidores:

CLI> dialplan reload

Ya podemos hacer nuestras pruebas

 

Technorati Tag: ,,