DUNDi performance enhancments and metrics for average lookup time.
[asterisk/asterisk.git] / configs / dundi.conf.sample
1 ;
2 ; DUNDi configuration file
3 ;
4 ;
5 [general]
6 ;
7 ; The "general" section contains general parameters relating
8 ; to the operation of the dundi client and server.
9 ;
10 ; The first part should be your complete contact information
11 ; should someone else in your peer group need to contact you.
12 ;
13 ;department=Your Department
14 ;organization=Your Company, Inc.
15 ;locality=Your City
16 ;stateprov=ST
17 ;country=US
18 ;email=your@email.com
19 ;phone=+12565551212
20 ;
21 ;
22 ; Specify bind address and port number.  Default is
23 ; 4520
24 ;
25 ;bindaddr=0.0.0.0
26 ;port=4520
27 ;
28 ; Our entity identifier (Should generally be the MAC address of the
29 ; machine it's running on.  Defaults to the first eth address, but you
30 ; can override it here, as long as you set it to the MAC of *something*
31 ; you own!)
32 ;
33 ;entityid=00:07:E9:3B:76:60
34 ;
35 ; Define the max depth in which to search the DUNDi system (also max # of 
36 ; seconds to wait for a reply)
37 ;
38 ttl=32
39 ;
40 ; If we don't get ACK to our DPREQUEST within 2000ms, and autokill is set
41 ; to yes, then we cancel the whole thing (that's enough time for one 
42 ; retransmission only).  This is used to keep things from stalling for a long
43 ; time for a host that is not available, but would be ill advised for bad 
44 ; connections.  In addition to 'yes' or 'no' you can also specify a number
45 ; of milliseconds.  See 'qualify' for individual peers to turn on for just
46 ; a specific peer.
47 ;
48 autokill=yes
49 ;
50 ; pbx_dundi creates a rotating key called "secret", under the family
51 ; 'secretpath'.  The default family is dundi (resulting in 
52 ; the key being held at dundi/secret).
53 ;
54 ;secretpath=dundi
55 ;
56 ; The 'storehistory' option (also changeable at runtime with
57 ; 'dundi store history' and 'dundi no store history') will
58 ; cause the DUNDi engine to keep track of the last several
59 ; queries and the amount of time each query took to execute
60 ; for the purpose of tracking slow nodes.  This option is
61 ; off by default due to performance impacts.
62 ;
63 ;slowhistory=yes
64
65 [mappings]
66 ;
67 ; The "mappings" section maps DUNDi contexts
68 ; to contexts on the local asterisk system.  Remember
69 ; that numbers that are made available under the e164 
70 ; DUNDi context are regulated by the DUNDi General Peering 
71 ; Agreement (GPA) if you are a member of the DUNDi E.164
72 ; Peering System.
73 ;
74 ; dundi_context => local_context,weight,tech,dest[,options]]
75 ;
76 ; dundi_context is the name of the context being requested
77 ; within the DUNDi request
78 ;
79 ; local_context is the name of the context on the local system
80 ; in which numbers can be looked up for which responses shall be given.
81 ;
82 ; tech is the technology to use (IAX, SIP, H323)
83 ;
84 ; dest is the destination to supply for reaching that number.  The
85 ; following variables can be used in the destination string and will
86 ; be automatically substituted:
87 ; ${NUMBER}: The number being requested
88 ; ${IPADDR}: The IP address to connect to
89 ; ${SECRET}: The current rotating secret key to be used
90 ;
91 ; Further options may include:
92 ;
93 ; nounsolicited:  No unsolicited calls of any type permitted via this 
94 ;                 route
95 ; nocomunsolicit: No commercial unsolicited calls permitted via 
96 ;                 this route
97 ; residential:    This number is known to be a residence
98 ; commercial:     This number is known to be a business
99 ; mobile:         This number is known to be a mobile phone
100 ; nocomunsolicit: No commercial unsolicited calls permitted via 
101 ;                 this route
102 ; nopartial:      Do not search for partial matches
103 ;
104 ; There *must* exist an entry in mappings for DUNDi to respond
105 ; to any request, although it may be empty.
106 ;
107 ;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
108 ;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
109 ;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
110
111 ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
112 ;asdf =>
113
114
115 ;
116 ;
117 ; The remaining sections represent the peers
118 ; that we fundamentally trust.  The section name
119 ; represents the name and optionally at a specific
120 ; DUNDi context if you want the trust to be established
121 ; for only a specific DUNDi context.
122 ;
123 ; inkey - What key they will be authenticating to us with
124 ;
125 ; outkey - What key we use to authenticate to them
126 ;
127 ; host - What their host is
128 ;
129 ; order - What search order to use.  May be 'primary', 'secondary', 
130 ;         'tertiary' or 'quartiary'.  In large systems, it is beneficial
131 ;         to only query one up-stream host in order to maximize caching
132 ;         value.  Adding one with primary and one with secondary gives you
133 ;         redundancy without sacraficing performance.
134 ;
135 ; include - Includes this peer when searching a particular context
136 ;           for lookup (set "all" to perform all lookups with that
137 ;           host.
138 ;
139 ; noinclude - Disincludes this peer when searching a particular context
140 ;             for lookup (set "all" to perform no lookups with that
141 ;             host.
142 ;
143 ; permit - Permits this peer to search a given DUNDi context on
144 ;          the local system.  Set "all" to permit this host to
145 ;          lookup all contexts.
146 ;
147 ; deny -   Denies this peer to search a given DUNDi context on
148 ;          the local system.  Set "all" to deny this host to
149 ;          lookup all contexts.
150 ;
151 ; model - inbound, outbound, or symmetric for whether we receive 
152 ;         requests only, transmit requests only, or do both.
153 ;
154 ; canprecache - Permits this peer to provide answers (which are cached)
155 ;               for queries we did not make (a.k.a. pre-caching)
156 ;
157 ; The '*' peer is special and matches an unspecified entity
158 ;
159
160 ;
161 ; Sample Primary e164 DUNDi peer
162 ;
163 [00:50:8B:F3:75:BB]
164 model = symmetric
165 host = 64.215.96.114
166 inkey = digium
167 outkey = misery
168 include = e164
169 permit = e164
170 qualify = yes
171
172 ;
173 ; Sample Secondary e164 DUNDi peer
174 ;
175 ;[00:A0:C9:96:92:84]
176 ;model = symmetric
177 ;host = misery.digium.com
178 ;inkey = misery
179 ;outkey = ourkey
180 ;include = e164
181 ;permit = e164
182 ;qualify = yes
183 ;order = secondary
184
185
186 ;[*]
187 ;