Distributed Universal Number Discovery

Distributed Universal Number Discovery (DUNDi) is a VoIP routing protocol that provides directory services similar to what is provided by ENUM. DUNDi allows peered nodes to share dialplan information with each other. It does not actually carry any calls, but rather provides addressing information. In simple terms, it is like asking your neighbouring peer whether he knows how to reach a certain phone-extension or VoIP client. Some sort of P2P phonebook.

The protocol was invented by Mark Spencer who also made the PBX-system called Asterisk. Therefore the syntax of the output of a DUNDi-lookup can be directly used in the dial commands in an Asterisk Dial Plan.

Peers

For DUNDi to work, each DUNDi client has to know at least one other DUNDi client. Since these DUNDi clients belong to the same network, they are called peers. Also at least one of the reachable peers must know how to reach the wanted extension.

In the DUNDi configuration one can limit the number of consecutive lookups between peers by setting the TTL.

Advertising extensions

Each DUNDi peer can advertise its own extensions and their context. E.g. if you can connect some local E.164 number(s), you can advertise these.

Each advertised extension (this can also be a range of extensions) has its own priority. Low values represent a high priority and must be chosen first when more than one answer is received from a lookup.

Example

In the Asterisk CLI one can do a lookup by hand to test if a DUNDi configuration works.

asterisk1*CLI> dundi lookup 301@priv bypass
  1.     0 IAX2/priv:ByWFbOGKgGmZbM43BJHSZw@192.168.1.2/301 (EXISTS)
     from 00:0c:29:d2:d8:ec, expires in 3600 s
DUNDi lookup completed in 113 ms

The above DUNDi lookup tells the PBX to ask the known peers if they know how to reach extension 301 in the "priv" network. The answer consists of 6 parts:

In order to prevent the network from overloading and at the same time keep the responses as quick as possible, the involved peers will cache the lookups they see. Because the used keys may become invalid after some period, each lookup has some expiry date. This defaults to one hour.

When no context is given with a lookup, DUNDi defaults to the E.164 context. This means you are looking for normal (international) phone-numbers, like 0031201234567 (some bogus number in Amsterdam, The Netherlands) In order to do so, you have to peer with at least one other peer in the E164 trust group. The peers in this group are bound to the Digium GPA (Digium General Peering Agreement) (PDF)

External links

This article is issued from Wikipedia - version of the Tuesday, May 06, 2014. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.