DUNDi Enterprise Configuration SIP

This is all you should need to setup DUNDi between two boxes with SIP.
You can add more boxes to your network in a similar way.

(Based on configurations in the configs directory of the Asterisk source code and documents published by Brian K. West aka bkw_)
DUNDi Enterprise Configuration IAX

Note: This configuration is currently non-functional, as chan_sip does not support "dbsecret" at this time. You can create a configuration where the passwords are actually included in the DUNDi mappings or in the peer definitions. A patch to support dbsecret in chan_sip is forthcoming (for CVS HEAD only).

Things to keep in mind:
  • Unless you have specifically listed a host in your sip.conf the call will come in on the context defined in the [general] section by context. You may want to include the [dundi-priv-local] in this context.


On both boxes in your extensions.conf:
; Private DUNDi network
[dundi-priv-canonical]
; Direct numbers

[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


sip.conf on both boxes:
[priv]
type=user
dbsecret=dundi/secret
context=dundi-priv-local


dundi.conf on both boxes under [mappings]:
In many cases you will need to replace ${IPADDR} with your local IP address
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



now on each box cd /var/lib/asterisk/keys

astgenkey -n [BOXNAMEHERE]


Press enter do not put a password on the keys unless you want to init
keys every time you start asterisk.

Now put exchange public keys between the boxes.



Box A 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


Box B dundi.conf:


[BE:EF:DE:AD:BE:EF]  <-- EID/MAC from BOX A
model = symmetric
host = boxa.domain.com
inkey = BOXA   <- BOX A's public key
outkey = BOXB  <- BOX B's private key
include = priv
permit = priv
qualify = yes
order = primary


Now you can do this in the context which your devices dialout:

exten => _91NXXNXXXXXX,1,Macro(dundi-priv,${EXTEN:1})
exten => _91NXXNXXXXXX,2,Dial(Zap/g1/${EXTEN:1}) ; This is fall through example to a PSTN such a as PRI


And find numbers in your enterprise DUNDi network.

These same things apply to the e164 DUNDi network too.
This is all you should need to setup DUNDi between two boxes with SIP.
You can add more boxes to your network in a similar way.

(Based on configurations in the configs directory of the Asterisk source code and documents published by Brian K. West aka bkw_)
DUNDi Enterprise Configuration IAX

Note: This configuration is currently non-functional, as chan_sip does not support "dbsecret" at this time. You can create a configuration where the passwords are actually included in the DUNDi mappings or in the peer definitions. A patch to support dbsecret in chan_sip is forthcoming (for CVS HEAD only).

Things to keep in mind:
  • Unless you have specifically listed a host in your sip.conf the call will come in on the context defined in the [general] section by context. You may want to include the [dundi-priv-local] in this context.


On both boxes in your extensions.conf:
; Private DUNDi network
[dundi-priv-canonical]
; Direct numbers

[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


sip.conf on both boxes:
[priv]
type=user
dbsecret=dundi/secret
context=dundi-priv-local


dundi.conf on both boxes under [mappings]:
In many cases you will need to replace ${IPADDR} with your local IP address
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



now on each box cd /var/lib/asterisk/keys

astgenkey -n [BOXNAMEHERE]


Press enter do not put a password on the keys unless you want to init
keys every time you start asterisk.

Now put exchange public keys between the boxes.



Box A 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


Box B dundi.conf:


[BE:EF:DE:AD:BE:EF]  <-- EID/MAC from BOX A
model = symmetric
host = boxa.domain.com
inkey = BOXA   <- BOX A's public key
outkey = BOXB  <- BOX B's private key
include = priv
permit = priv
qualify = yes
order = primary


Now you can do this in the context which your devices dialout:

exten => _91NXXNXXXXXX,1,Macro(dundi-priv,${EXTEN:1})
exten => _91NXXNXXXXXX,2,Dial(Zap/g1/${EXTEN:1}) ; This is fall through example to a PSTN such a as PRI


And find numbers in your enterprise DUNDi network.

These same things apply to the e164 DUNDi network too.
Created by: gdalgliesh, Last modification: Sat 12 of May, 2012 (20:39 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+