asterisk/dundi.conf

Fri, 22 Oct 2010 19:54:57 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 22 Oct 2010 19:54:57 +0200
changeset 281
acad5c9dea5f
permissions
-rw-r--r--

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 ;

mercurial