Merged revisions 77424,77429 via svnmerge from
[asterisk/asterisk.git] / doc / tex / dundi.tex
1 \url{http://www.dundi.com}
2
3 Mark Spencer, Digium, Inc.
4
5 DUNDi is essentially a trusted, peer-to-peer system for being able to
6 call any phone number from the Internet.  DUNDi works by creating a
7 network of nodes called the "DUNDi E.164 Trust Group" which are bound by
8 a common peering agreement known as the General Peering Agreement or
9 GPA.  The GPA legally binds the members of the Trust Group to provide
10 good-faith accurate information to the other nodes on the network, and
11 provides standards by which the community can insure the integrity of
12 the information on the nodes themselves.  Unlike ENUM or similar
13 systems, DUNDi is explicitly designed to preclude any necessity for a
14 single centralized system which could be a source of fees, regulation,
15 etc.
16
17 Much less dramatically, DUNDi can also be used within a private
18 enterprise to share a dialplan efficiently between multiple nodes,
19 without incurring a risk of a single point of failure.  In this way,
20 administrators can locally add extensions which become immediately
21 available to the other nodes in the system.
22
23 For more information visit \url{http://www.dundi.com}
24
25 \section{DUNDIQUERY and DUNDIRESULT}
26
27 The DUNDIQUERY and DUNDIRESULT dialplan functions will let you initiate
28 a DUNDi query from the dialplan, see how many results there are, and access
29 each one.  Here is some example usage:
30
31 \begin{verbatim}
32 exten => 1,1,Set(ID=${DUNDIQUERY(1|dundi_test|b)})
33 exten => 1,n,Set(NUM=${DUNDIRESULT(${ID}|getnum)})
34 exten => 1,n,NoOp(There are ${NUM} results)
35 exten => 1,n,Set(X=1) 
36 exten => 1,n,While($[${X} <= ${NUM}])
37 exten => 1,n,NoOp(Result ${X} is ${DUNDIRESULT(${ID}|${X})}) 
38 exten => 1,n,Set(X=$[${X} + 1])
39 exten => 1,n,EndWhile
40 \end{verbatim}
41