|
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=Your Company, Inc. |
|
17 ;locality=Your City |
|
18 ;stateprov=ST |
|
19 ;country=US |
|
20 ;email=your@email.com |
|
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 ; |