Commit | Line | Data |
---|---|---|
b2e905a6 TN |
1 | ; |
2 | ; DUNDi configuration file | |
3 | ; | |
4 | ; For more information about DUNDi, see http://www.dundi.com | |
5 | ; | |
6 | ; | |
7 | [general] | |
8 | ; | |
9 | ; The "general" section contains general parameters relating | |
10 | ; to the operation of the dundi client and server. | |
11 | ; | |
12 | ; The first part should be your complete contact information | |
13 | ; should someone else in your peer group need to contact you. | |
14 | ; | |
15 | ;department=Your Department | |
16 | ;organization=AUF | |
17 | ;locality=Your City | |
18 | ;stateprov=ST | |
19 | ;country=US | |
20 | ;email=voip@auf.org | |
21 | ;phone=+12565551212 | |
22 | ; | |
23 | ; | |
24 | ; Specify bind address and port number. Default is | |
25 | ; 4520 | |
26 | ; | |
27 | ;bindaddr=0.0.0.0 | |
28 | ;port=4520 | |
29 | ; | |
30 | ; Our entity identifier (Should generally be the MAC address of the | |
31 | ; machine it's running on. Defaults to the first eth address, but you | |
32 | ; can override it here, as long as you set it to the MAC of *something* | |
33 | ; you own!) | |
34 | ; | |
35 | ;entityid=00:07:E9:3B:76:60 | |
36 | ; | |
37 | ; Peers shall cache our query responses for the specified time, | |
38 | ; given in seconds. Default is 3600. | |
39 | ; | |
40 | ;cachetime=3600 | |
41 | ; | |
42 | ; This defines the max depth in which to search the DUNDi system. | |
43 | ; Note that the maximum time that we will wait for a response is | |
44 | ; (2000 + 200 * ttl) ms. | |
45 | ; | |
46 | ttl=32 | |
47 | ; | |
48 | ; If we don't get ACK to our DPDISCOVER within 2000ms, and autokill is set | |
49 | ; to yes, then we cancel the whole thing (that's enough time for one | |
50 | ; retransmission only). This is used to keep things from stalling for a long | |
51 | ; time for a host that is not available, but would be ill advised for bad | |
52 | ; connections. In addition to 'yes' or 'no' you can also specify a number | |
53 | ; of milliseconds. See 'qualify' for individual peers to turn on for just | |
54 | ; a specific peer. | |
55 | ; | |
56 | autokill=yes | |
57 | ; | |
58 | ; pbx_dundi creates a rotating key called "secret", under the family | |
59 | ; 'secretpath'. The default family is dundi (resulting in | |
60 | ; the key being held at dundi/secret). | |
61 | ; | |
62 | ;secretpath=dundi | |
63 | ; | |
64 | ; The 'storehistory' option (also changeable at runtime with | |
65 | ; 'dundi store history' and 'dundi no store history') will | |
66 | ; cause the DUNDi engine to keep track of the last several | |
67 | ; queries and the amount of time each query took to execute | |
68 | ; for the purpose of tracking slow nodes. This option is | |
69 | ; off by default due to performance impacts. | |
70 | ; | |
71 | ;storehistory=yes | |
72 | ||
73 | [mappings] | |
74 | ; | |
75 | ; The "mappings" section maps DUNDi contexts | |
76 | ; to contexts on the local asterisk system. Remember | |
77 | ; that numbers that are made available under the e164 | |
78 | ; DUNDi context are regulated by the DUNDi General Peering | |
79 | ; Agreement (GPA) if you are a member of the DUNDi E.164 | |
80 | ; Peering System. | |
81 | ; | |
82 | ; dundi_context => local_context,weight,tech,dest[,options]] | |
83 | ; | |
84 | ; 'dundi_context' is the name of the context being requested | |
85 | ; within the DUNDi request | |
86 | ; | |
87 | ; 'local_context' is the name of the context on the local system | |
88 | ; in which numbers can be looked up for which responses shall be given. | |
89 | ; | |
90 | ; 'weight' is the weight to use for the responses provided from this | |
91 | ; mapping. The number must be >= 0 and < 60000. Since it is totally | |
92 | ; valid to receive multiple responses to a query, responses received | |
93 | ; with a lower weight are tried first. Note that the weight has a | |
94 | ; special meaning in the e164 context - see the GPA for more details. | |
95 | ; | |
96 | ; 'tech' is the technology to use (IAX, SIP, H323) | |
97 | ; | |
98 | ; 'dest' is the destination to supply for reaching that number. The | |
99 | ; following variables can be used in the destination string and will | |
100 | ; be automatically substituted: | |
101 | ; ${NUMBER}: The number being requested | |
102 | ; ${IPADDR}: The IP address to connect to | |
103 | ; ${SECRET}: The current rotating secret key to be used | |
104 | ; | |
105 | ; Further options may include: | |
106 | ; | |
107 | ; nounsolicited: No unsolicited calls of any type permitted via this | |
108 | ; route | |
109 | ; nocomunsolicit: No commercial unsolicited calls permitted via | |
110 | ; this route | |
111 | ; residential: This number is known to be a residence | |
112 | ; commercial: This number is known to be a business | |
113 | ; mobile: This number is known to be a mobile phone | |
114 | ; nocomunsolicit: No commercial unsolicited calls permitted via | |
115 | ; this route | |
116 | ; nopartial: Do not search for partial matches | |
117 | ; | |
118 | ; There *must* exist an entry in mappings for DUNDi to respond | |
119 | ; to any request, although it may be empty. | |
120 | ; | |
121 | ;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial | |
122 | ;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial | |
123 | ;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial | |
124 | ||
125 | ;digexten => default,0,IAX2,guest@lappy/${NUMBER} | |
126 | ;asdf => | |
127 | ||
128 | ||
129 | ; | |
130 | ; | |
131 | ; The remaining sections represent the peers | |
132 | ; that we fundamentally trust. The section name | |
133 | ; represents the name and optionally at a specific | |
134 | ; DUNDi context if you want the trust to be established | |
135 | ; for only a specific DUNDi context. | |
136 | ; | |
137 | ; inkey - What key they will be authenticating to us with | |
138 | ; | |
139 | ; outkey - What key we use to authenticate to them | |
140 | ; | |
141 | ; host - What their host is | |
142 | ; | |
143 | ; order - What search order to use. May be 'primary', 'secondary', | |
144 | ; 'tertiary' or 'quartiary'. In large systems, it is beneficial | |
145 | ; to only query one up-stream host in order to maximize caching | |
146 | ; value. Adding one with primary and one with secondary gives you | |
147 | ; redundancy without sacrificing performance. | |
148 | ; | |
149 | ; include - Includes this peer when searching a particular context | |
150 | ; for lookup (set "all" to perform all lookups with that | |
151 | ; host. This is also the context in which peers are permitted | |
152 | ; to precache. | |
153 | ; | |
154 | ; noinclude - Disincludes this peer when searching a particular context | |
155 | ; for lookup (set "all" to perform no lookups with that | |
156 | ; host. | |
157 | ; | |
158 | ; permit - Permits this peer to search a given DUNDi context on | |
159 | ; the local system. Set "all" to permit this host to | |
160 | ; lookup all contexts. This is also a context for which | |
161 | ; we will create/forward PRECACHE commands. | |
162 | ; | |
163 | ; deny - Denies this peer to search a given DUNDi context on | |
164 | ; the local system. Set "all" to deny this host to | |
165 | ; lookup all contexts. | |
166 | ; | |
167 | ; model - inbound, outbound, or symmetric for whether we receive | |
168 | ; requests only, transmit requests only, or do both. | |
169 | ; | |
170 | ; precache - Utilize/Permit precaching with this peer (to pre | |
171 | ; cache means to provide an answer when no request | |
172 | ; was made and is used so that machines with few | |
173 | ; routes can push those routes up a to a higher level). | |
174 | ; outgoing means we send precache routes to this peer, | |
175 | ; incoming means we permit this peer to send us | |
176 | ; precache routes. symmetric means we do both. | |
177 | ; | |
178 | ; Note: You cannot mix symmetric/outbound model with symmetric/inbound | |
179 | ; precache, nor can you mix symmetric/inbound model with symmetric/outbound | |
180 | ; precache. | |
181 | ; | |
182 | ; | |
183 | ; The '*' peer is special and matches an unspecified entity | |
184 | ; | |
185 | ||
186 | ; | |
187 | ; Sample Primary e164 DUNDi peer | |
188 | ; | |
189 | ;[00:50:8B:F3:75:BB] | |
190 | ;model = symmetric | |
191 | ;host = 64.215.96.114 | |
192 | ;inkey = digium | |
193 | ;outkey = misery | |
194 | ;include = e164 | |
195 | ;permit = e164 | |
196 | ;qualify = yes | |
197 | ||
198 | ; | |
199 | ; Sample Secondary e164 DUNDi peer | |
200 | ; | |
201 | ;[00:A0:C9:96:92:84] | |
202 | ;model = symmetric | |
203 | ;host = misery.digium.com | |
204 | ;inkey = misery | |
205 | ;outkey = ourkey | |
206 | ;include = e164 | |
207 | ;permit = e164 | |
208 | ;qualify = yes | |
209 | ;order = secondary | |
210 | ||
211 | ; | |
212 | ; Sample "push mode" downstream host | |
213 | ; | |
214 | ;[00:0C:76:96:75:28] | |
215 | ;model = inbound | |
216 | ;host = dynamic | |
217 | ;precache = inbound | |
218 | ;inkey = littleguy | |
219 | ;outkey = ourkey | |
220 | ;include = e164 ; In this case used only for precaching | |
221 | ;permit = e164 | |
222 | ;qualify = yes | |
223 | ||
224 | ; | |
225 | ; Sample "push mode" upstream host | |
226 | ; | |
227 | ;[00:07:E9:3B:76:60] | |
228 | ;model = outbound | |
229 | ;precache = outbound | |
230 | ;host = 216.207.245.34 | |
231 | ;register = yes | |
232 | ;inkey = dhcp34 | |
233 | ;permit = all ; In this case used only for precaching | |
234 | ;include = all | |
235 | ;qualify = yes | |
236 | ;outkey=foo | |
237 | ||
238 | ;[*] | |
239 | ; | |
240 | ||
241 | #include "auf/dundi.local" | |
242 |