Explanation of DUNDi
DUNDi (Distributed Universal Number Discovery) is a peer-to-peer system for locating Internet gateways to telephony services. In order to do so, it publishes routes and this routes can be accessed with the use of protocols sucs as H323, IAX(2) or SIP.
Essentially DUNDi is only a way to find another PBX which claims to be able to terminate your call. In other words. If you want to call a certain number, you will ask DUNDi to search for a PBX which is able to call (locally) this number for you at the lowest possible rate. This answer, given by DUNDi, will be used as a parameter to connect the two PBX's.
All members of a DUNDi network only know a few neighbouring DUNDi peers. When a dialed number cannot be terminated by a known peer, a DUNDi-discovery is sent out to the neighbours. These neighbours also know a few other neighbours, etc. This way, all nodes in the DUNDi-clound can be queried in only a few steps.
If a DUNDi peer, capable of terminating a certain call, is found, this information will be cached by all DUNDi peers involved in the query.
For collaboration on the world-wide E.164-DUNDi cloud, you will have to conform to the General Peering Agreement
Protocol, codecs etc.
DUNDi is only a way to discovery available nodes. It is not a transportation-protocol. This means it will only be used to set up a connection. IAX(2) is the main protocol for transporting the streams between two Asterisk PBX's SIP/H323 are protocols used by some VoIP-telephones to connect to a PBX, or to another SIP/H323 phone. Both are also used as carier for the datastreams.
For both voice and video, several codecs are available. These codecs will put the voice/video data in a certain order and sometimes compress this data. The streams of data, created by a codec will then be transported, using a certain protocol (IAX, SIP, H323, etc) On the other end, the stream is pulled out of the transport-protocol and then fed to the appropriate codec, which decodes the data into (sometimes almost) its original form. (e.g. audiosamples, videoframes)
DUNDi Trust Group
From Another DUNDi site:
DUNDi is essentially a trusted, peer-to-peer system for being able to call any phone number from the Internet. DUNDi works by creating a network of nodes called the "DUNDi E.164 Trust Group" which are bound by a common peering agreement known as the General Peering Agreement or GPA. The GPA legally binds the members of the Trust Group to provide good-faith accurate information to the other nodes on the network, and provides standards by which the community can insure the integrity of the information on the nodes themselves. Unlike ENUM or similar systems, DUNDi is explicitly designed to preclude any necessity for a single centralized system which could be a source of fees, regulation, etc.
Much less dramatically, DUNDi can also be used within a private enterprise to share a dialplan efficiently between multiple nodes, without incuring a risk of a single point of failure. In this way, administrators can locally add extensions which become immediately available to the other nodes in the system.
In the DUNDi model, there is no central repository. Instead, node participate in a trust system in which each node has a trust relationship with at least one other node in the system. When the client requests a number or extension it does not know how to terminate, it queries the nodes directly connected to it. Those nodes in turn will query nodes which are directly connected to them and so on (care is taken in the protocol to minimize the actual number of transactions and nodes that are queried, while maintaining the same effective answer as querying the entire system). The resulting answers are collated, cached appropriately at each involved node, and passed along to the original requesting party.