2. DUNDi (del inglés Distributed Universal Number Discovery) es un protocolo de enrutamiento VoIP que
proporciona un servicio de directorio similar al de ENUM. DUNDi permite a los nodos enlazados compartir
información sobre sus respectivos dialplans entre ellos.
No es un transporte de llamadas, sino que proporciona información de direccionamiento de números.
Por poner un ejemplo, nos permite preguntar a tu nodo vecino si sabe como contactar con una extensión
telefónica concreta o un cliente de VoIP. Una especie de agenda de teléfonos P2P.
El protocolo fue inventado por Mark Spencer quien además hizo el sistema de telefonía PBX llamado Asterisk.
Por tanto, la sintaxis de una búsqueda DUNDi puede utilizarse directamente en los comandos de llamada de un
dialplan de Asterisk.
iptegra
ludwigramirez
4. iptegra
ludwigramirez
Nodos
Para que DUNDi funcione, cada cliente DUNDi tiene que conocer por lo menos otro cliente DUNDi. Como
estos clientes DUNDi pertenecen a la misma red, se les llama nodos. Además, al menos uno de los nodos
alcanzables deben conocer cómo llegar a la extensión consultada.
En una configuración DUNDi se puede limitar el número de búsquedas consecutivas entre nodos
estableciendo un TTL.
- Un TTL de 1 significa que sólo puedes preguntar a los nodos con los que estás enlazado y no más allá.
- Un TTL de n significa que el nodo al que le haces la pregunta puede regirigir tu consulta a otros nodos que
conozca, con un TTL de n-1.
5. En dundi.conf
priv => dundi-priv-canonical,0,SIP,${IPADDR}/${NUMBER},nopartial
priv => dundi-priv-customers,100,SIP,${IPADDR}/${NUMBER},nopartial
priv => dundi-priv-via-pstn,400,SIP,${IPADDR}/${NUMBER},nopartial
iptegra
ludwigramirez
En extensions.conf
; Private DUNDi network
[dundi-priv-canonical]
; Direct numbers
;example:
;exten => 201,1,Dial(SIP/201,20,tT)
;exten => 203,1,Dial(SIP/201,20,tT)
;exten => 204,1,Dial(SIP/204,20,tT)
; ATTENTION! this part should be added on box A
;--------start ; in order to advertise Zap extentions
; we must use _[3-5]XX wildcard
; not to mess up numeration with BP250
; please see attached scheme
; this part should be added on box A
;exten => _[3-5]XX,1,Dial(Zap/g1/${EXTEN},20,rtT)
;--------finish
[dundi-priv-customers]
; If you are an ITSP or Reseller, list your customers here.
[dundi-priv-via-pstn]
; If you are freely delivering calls to the PSTN, list them here
[dundi-priv-local]
include => dundi-priv-canonical
include => dundi-priv-customers
Include => dundi-priv-via-pstn
[dundi-priv-switch]
; Just a wrapper for the switch switch => DUNDi/priv
[dundi-priv-lookup]
include => dundi-priv-local
include => dundi-priv-switch
[macro-dundi-priv]
exten => s,1,Goto(${ARG1},1)
include => dundi-priv-lookup
Paso 1
En sip.conf
[priv]
type=peer
context=dundi-priv-local
disallow=all
allow=gsm
Paso 3
Paso 2
Paso 4Generacion de Certificados
# cd /var/lib/asterisk/keys
# astgenkey -n [NOMBRE_DE_CAJA]
En dundi.conf
[DE:AD:BE:EF:DE:AD] <-- EID/MAC from BOX B
model = symmetric
host = boxb.domain.com
inkey = BOXB <- BOX B's public key
outkey = BOXA <- BOX A's private key
include = priv
permit = priv
qualify = yes
order = primary
Paso 5
exten => _91NXX.,1,Macro(dundi-priv,${EXTEN:1})
exten => _91NXX.,2,Dial(Zap/g1/${EXTEN:1})
Paso 6En el contexto de marcación
Antes de Version 2.3