Upgrade 3CX to v18 and get it hosted free!

DUNDi Enterprise Configuration SIP

Author image

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.


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.
Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.