System information

Bob asks Sally if she knows how to reach the requested extension, and she responds
with, “You can reach that extension at IAX2/dundi:very_long_password@hostname/
extension.” Bob then stores the address in his database and passes on to you the in-
formation about how to reach 4001. With the newfound information, you can then
make a separate request to actually place the call to Sally’s box in order to reach ex-
tension 4001. (DUNDi only helps you find the information you need in order to connect;
it does not actually place the call.)
Because Bob has stored the information he found, he’ll be able to provide it to any peers
who later request the same number from him, so the lookup won’t have to go any
further. This helps reduce the load on the network and decreases response times for
numbers that are looked up often. (However, it should be noted that DUNDi creates
a rotating key, and thus stored information is valid for a limited period of time.)
DUNDi performs lookups dynamically, either with a switch => statement in your
extensions.conf file or with the use of the DUNDILOOKUP() dialplan function.
While DUNDi was originally designed and intended to be used as a peering fabric for
the PSTN, it is used most frequently in private networks. If you’re the Asterisk admin-
istrator of a large enterprise installation (or even an installation with only a pair of
Asterisk boxes at different physical locations), you may wish to simplify the adminis-
tration of extension numbers. DUNDi is a fantastic tool for this, because it allows you
to simply share the extensions that have been configured at each location dynamically,
Figure 23-1. DUNDi peer-to-peer request system
504 | Chapter 23:Distributed Universal Number Discovery (DUNDi)