Aca te dejo una guia que tengo
vamos al directorio KEYS para generar las llaves en los servidores
cd /var/lib/asterisk/keys/
Generamos la llaves, con el nombre del servidor en donde estamos
astgenkey -n ceres
Copiasmos la llave publica a los otros servidores
scp ceres.pub 192.168.254.165:/var/lib/asterisk/keys/
Damos permisos a las llaves publicas que copias
chown asterisk:asterisk merope.pub
Vamos al directorio cd /etc/asterisk y editamos
vim dundi_general_custom_elastix.conf
Agregamos lo siguiente (en el caso mio)
department=Cundinamarca
organization=Redes y Seguridadad
locality=Bogota
stateprov=CU
country=CO
email=your@email.com
phone=+12565551212
bindaddr=0.0.0.0
port=4520
entityid=16:7e:69:08:c2:91 ## debe de ser la mac de la tarjeta de red que se va a conectar con los otros servidores
cachetime=5
ttl=32
autokill=yes
Editamos el siguiente archivo
vim dundi_peers_custom_elastix.conf
Agregamos lo siguiente (en el caso mio)
[a2:4b:b4:a0:20:ec] ;PBX DATANET o B
model=symmetric
host=192.168.254.165 ;ip del servidor B
inkey=merope
outkey=ceres
include=priv
permit=priv
qualify=yes
order=primary
dynamic=yes
Editamos el siguiente archivo
vim dundi_mappings_custom_elastix.conf
Agregamos lo siguiente (en el caso mio) es la ip de la maquina en donde este este archivo
priv => dundi-priv-canonical,0,IAX,dundi:${SECRET}@192.168.254.162/${NUMBER},nopartial,nounsolicited
priv => dundi-priv-customers,100,IAX,dundi:${SECRET}@192.168.254.162/${NUMBER},nopartial,nounsolicited
priv => dundi-priv-via-pstn,400,IAX,dundi:${SECRET}@192.168.254.162/${NUMBER},nopartial,nounsolicited
Editamos el siguiente archivo, y agregamos la siguyientes lineas
vim extensions_custom.conf
[from-internal]
include => from-internal-xfer
include => dundi-priv-lookup
;include => bad-number
; ********************************************
; CONFIGURACION PARA DUDNi
[dundi-priv-canonical]
; Aqui incluimos el contexto que contiene las extensiones.
include => ext-local
; Aqui incluimos el contexto que contiene las colas de atención
include => ext-queues
[dundi-priv-customers]
; Si tenemos clientes (o revendemos servicios) podemos listarlos aqui
[dundi-priv-via-pstn]
; Aquí podemos incluir contexto con nuestras troncales hacia la PSTN,
; si queremos que los demás equipos puedan usar nuestras troncales
; include => outbound-allroutes
[dundi-priv-local]
; En este contexto unificamos los tres contextos, este lo podemos
; usar como contexto de la troncal iax de dundi
include => dundi-priv-canonical
include => dundi-priv-customers
include => dundi-priv-via-pstn
[dundi-priv-lookup]
; Este contexto se encarga de hacer la busqueda de un numero por dundi
; Antes de hacer la busqueda definimos apropiadamente nuestro
; caller id. ya que si no tendremos un caller id como "device<0000>".
exten => X.,1,Macro(user-callerid)
exten => X.,n,Macro(dundi-priv,${EXTEN})
exten => X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?100)
exten => X.,n,Goto(bad-number,${EXTEN},1)
exten => X.,100,Playtones(congestion)
exten => X.,101,Congestion(10)
[macro-dundi-priv]
; Esta es la macro que llamamos desde el contexto [dundi-priv-lookup]
; Tambien evita que hayan loops en las consultas dundi.
exten => s,1,Goto(${ARG1},1)
switch => DUNDi/priv
; ********************************************
Editamos extensions.conf, y comentamos la linea include => bad-number
[from-internal]
include => from-internal-noxfer
include => from-internal-xfer
;include => bad-number ; auto-generated