Remove inconsistency in CEL eventtype for user defined events.
[asterisk/asterisk.git] / configs / dundi.conf.sample
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 ; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of the tos parameter.
31 ;tos=ef
32 ;
33 ; Our entity identifier (Should generally be the MAC address of the
34 ; machine it's running on.  Defaults to the first eth address, but you
35 ; can override it here, as long as you set it to the MAC of *something*
36 ; you own!)  The EID can be overridden by a setting in asterisk.conf,
37 ; or by setting this option.
38 ;
39 ;entityid=00:07:E9:3B:76:60
40 ;
41 ; Peers shall cache our query responses for the specified time,
42 ; given in seconds. Default is 3600.
43 ;
44 ;cachetime=3600
45 ;
46 ; This defines the max depth in which to search the DUNDi system.
47 ; Note that the maximum time that we will wait for a response is
48 ; (2000 + 200 * ttl) ms.
49 ;
50 ttl=32
51 ;
52 ; If we don't get ACK to our DPDISCOVER within 2000ms, and autokill is set
53 ; to yes, then we cancel the whole thing (that's enough time for one
54 ; retransmission only).  This is used to keep things from stalling for a long
55 ; time for a host that is not available, but would be ill advised for bad
56 ; connections.  In addition to 'yes' or 'no' you can also specify a number
57 ; of milliseconds.  See 'qualify' for individual peers to turn on for just
58 ; a specific peer.
59 ;
60 autokill=yes
61 ;
62 ; pbx_dundi creates a rotating key called "secret", under the family
63 ; 'secretpath'.  The default family is dundi (resulting in
64 ; the key being held at dundi/secret).
65 ;
66 ;secretpath=dundi
67 ;
68 ; The 'storehistory' option (also changeable at runtime with
69 ; 'dundi store history' and 'dundi no store history') will
70 ; cause the DUNDi engine to keep track of the last several
71 ; queries and the amount of time each query took to execute
72 ; for the purpose of tracking slow nodes.  This option is
73 ; off by default due to performance impacts.
74 ;
75 ;storehistory=yes
76
77 [mappings]
78 ;
79 ; The "mappings" section maps DUNDi contexts
80 ; to contexts on the local asterisk system.  Remember
81 ; that numbers that are made available under the e164
82 ; DUNDi context are regulated by the DUNDi General Peering
83 ; Agreement (GPA) if you are a member of the DUNDi E.164
84 ; Peering System.
85 ;
86 ; dundi_context => local_context,weight,tech,dest[,options]]
87 ;
88 ; 'dundi_context' is the name of the context being requested
89 ; within the DUNDi request
90 ;
91 ; 'local_context' is the name of the context on the local system
92 ; in which numbers can be looked up for which responses shall be given.
93 ;
94 ; 'weight' is the weight to use for the responses provided from this
95 ; mapping.  The number must be >= 0 and < 60000.  Since it is totally
96 ; valid to receive multiple responses to a query, responses received
97 ; with a lower weight are tried first.  Note that the weight has a
98 ; special meaning in the e164 context - see the GPA for more details.
99 ;
100 ; 'tech' is the technology to use (IAX, SIP, H323)
101 ;
102 ; 'dest' is the destination to supply for reaching that number.  The
103 ; following variables can be used in the destination string and will
104 ; be automatically substituted:
105 ; ${NUMBER}: The number being requested
106 ; ${IPADDR}: The IP address to connect to
107 ; ${SECRET}: The current rotating secret key to be used
108 ;
109 ; Further options may include:
110 ;
111 ; nounsolicited:  No unsolicited calls of any type permitted via this
112 ;                 route
113 ; nocomunsolicit: No commercial unsolicited calls permitted via
114 ;                 this route
115 ; residential:    This number is known to be a residence
116 ; commercial:     This number is known to be a business
117 ; mobile:         This number is known to be a mobile phone
118 ; nocomunsolicit: No commercial unsolicited calls permitted via
119 ;                 this route
120 ; nopartial:      Do not search for partial matches
121 ;
122 ; There *must* exist an entry in mappings for DUNDi to respond
123 ; to any request, although it may be empty.
124 ;
125 ;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
126 ;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
127 ;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
128
129 ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
130 ;asdf =>
131
132 ;
133 ; Weights for mappings can be set a few different ways:
134 ;
135 ; 1) It can be set as a static number.
136 ;testmap1 => context1,222,IAX2,guest@peer1/${NUMBER}
137 ;
138 ; 2) It can be an Asterisk global variable.
139 ;testmap2 => context2,${DUNDITESTVAR},IAX2,guest@peer2${NUMBER}
140 ;
141 ; 3) It can be retrieved using a dialplan function.  This can be extremely
142 ;    useful if you want to let an external script decide what the weight
143 ;    in a response shouuld be.
144 ;testmap3 => context3,${SHELL(echo 123)},IAX2,guest@peer3/${NUMBER}
145 ;
146 ; The built in variables ${SECRET}, ${IPADDR} and ${NUMBER} can also be
147 ; passed to the weight. For example, you could pass the ${NUMBER} value
148 ; to your SHELL() script and use that to dynamically return a weight.
149 ;
150 ; Note than when using a global variable or dialplan function to set the
151 ; weight for a mapping, that response caching should be disabled if you
152 ; plan for these values to change frequently at all.  If the results are
153 ; cached, then any change in value will not take effect until the cache
154 ; has expired.
155 ;
156
157 ;
158 ; The remaining sections represent the peers
159 ; that we fundamentally trust.  The section name
160 ; represents the name and optionally at a specific
161 ; DUNDi context if you want the trust to be established
162 ; for only a specific DUNDi context.
163 ;
164 ; inkey - What key they will be authenticating to us with
165 ;
166 ; outkey - What key we use to authenticate to them
167 ;
168 ; host - What their host is
169 ;
170 ; port - The port where their host is listening (default: 4520)
171 ;
172 ; order - What search order to use.  May be 'primary', 'secondary',
173 ;         'tertiary' or 'quartiary'.  In large systems, it is beneficial
174 ;         to only query one up-stream host in order to maximize caching
175 ;         value.  Adding one with primary and one with secondary gives you
176 ;         redundancy without sacrificing performance.
177 ;
178 ; include - Includes this peer when searching a particular context
179 ;           for lookup (set "all" to perform all lookups with that
180 ;           host.  This is also the context in which peers are permitted
181 ;           to precache.
182 ;
183 ; noinclude - Disincludes this peer when searching a particular context
184 ;             for lookup (set "all" to perform no lookups with that
185 ;             host.
186 ;
187 ; permit - Permits this peer to search a given DUNDi context on
188 ;          the local system.  Set "all" to permit this host to
189 ;          lookup all contexts.  This is also a context for which
190 ;          we will create/forward PRECACHE commands.
191 ;
192 ; deny -   Denies this peer to search a given DUNDi context on
193 ;          the local system.  Set "all" to deny this host to
194 ;          lookup all contexts.
195 ;
196 ; model - inbound, outbound, or symmetric for whether we receive
197 ;         requests only, transmit requests only, or do both.
198 ;
199 ; precache - Utilize/Permit precaching with this peer (to pre
200 ;            cache means to provide an answer when no request
201 ;            was made and is used so that machines with few
202 ;            routes can push those routes up a to a higher level).
203 ;            outgoing means we send precache routes to this peer,
204 ;            incoming means we permit this peer to send us
205 ;            precache routes.  symmetric means we do both.
206 ;
207 ; Note: You cannot mix symmetric/outbound model with symmetric/inbound
208 ; precache, nor can you mix symmetric/inbound model with symmetric/outbound
209 ; precache.
210 ;
211 ;
212 ; The '*' peer is special and matches an unspecified entity
213 ;
214
215 ;
216 ; Sample Primary e164 DUNDi peer
217 ;
218 ;[00:50:8B:F3:75:BB]
219 ;model = symmetric
220 ;host = 64.215.96.114
221 ;inkey = digium
222 ;outkey = misery
223 ;include = e164
224 ;permit = e164
225 ;qualify = yes
226
227 ;
228 ; Sample Secondary e164 DUNDi peer
229 ;
230 ;[00:A0:C9:96:92:84]
231 ;model = symmetric
232 ;host = misery.digium.com
233 ;inkey = misery
234 ;outkey = ourkey
235 ;include = e164
236 ;permit = e164
237 ;qualify = yes
238 ;order = secondary
239
240 ;
241 ; Sample "push mode" downstream host
242 ;
243 ;[00:0C:76:96:75:28]
244 ;model = inbound
245 ;host = dynamic
246 ;precache = inbound
247 ;inkey = littleguy
248 ;outkey = ourkey
249 ;include = e164 ; In this case used only for precaching
250 ;permit = e164
251 ;qualify = yes
252
253 ;
254 ; Sample "push mode" upstream host
255 ;
256 ;[00:07:E9:3B:76:60]
257 ;model = outbound
258 ;precache = outbound
259 ;host = 216.207.245.34
260 ;register = yes
261 ;inkey = dhcp34
262 ;permit = all ; In this case used only for precaching
263 ;include = all
264 ;qualify = yes
265 ;outkey=foo
266
267 ;[*]
268 ;