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