123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- ;
- ; DUNDi configuration file
- ;
- ; For more information about DUNDi, see http://www.dundi.com
- ;
- ;
- [general]
- ;
- ; The "general" section contains general parameters relating
- ; to the operation of the dundi client and server.
- ;
- ; The first part should be your complete contact information
- ; should someone else in your peer group need to contact you.
- ;
- ;department=Your Department
- ;organization=Your Company, Inc.
- ;locality=Your City
- ;stateprov=ST
- ;country=US
- ;email=your@email.com
- ;phone=+12565551212
- ;
- ;
- ; Specify bind address and port number. Default is
- ; 4520
- ;
- ;bindaddr=0.0.0.0
- ;port=4520
- ;
- ; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of the tos parameter.
- ;tos=ef
- ;
- ; Our entity identifier. (It should generally be the MAC address of the
- ; machine it's running on. Defaults to the first eth address, but you
- ; can override it here, as long as you set it to the MAC of *something*
- ; you own!) The EID can be overridden by a setting in asterisk.conf
- ; or by setting this option.
- ;
- ;entityid=00:07:E9:3B:76:60
- ;
- ; Peers shall cache our query responses for the specified time
- ; in seconds. Default is 3600.
- ;
- ;cachetime=3600
- ;
- ; This defines the max depth (hops) in which to search the DUNDi system.
- ; Note that the maximum time that we will wait for a response is
- ; (2000 + 200 * ttl) ms.
- ;
- ttl=32
- ;
- ; If we don't get ACK to our DPDISCOVER within 2000ms and autokill is set
- ; to yes then we cancel the whole thing (that's enough time for one
- ; retransmission only). This is used to keep things from stalling for a long
- ; time for a host that is not available, but would be ill advised for bad
- ; connections. In addition to 'yes' or 'no' you can also specify a number
- ; of milliseconds. See 'qualify' for individual peers to turn on for just
- ; a specific peer.
- ;
- autokill=yes
- ;
- ; pbx_dundi creates a rotating key called "secret", under the family
- ; 'secretpath'. The default family is dundi (resulting in
- ; the key being held at dundi/secret).
- ;
- ;secretpath=dundi
- ;
- ; The 'storehistory' option (also changeable at runtime with
- ; 'dundi store history on' and 'dundi store history off') will
- ; cause the DUNDi engine to keep track of the last several
- ; queries and the amount of time each query took to execute
- ; for the purpose of tracking slow nodes. This option is
- ; off by default due to performance impacts.
- ;
- ;storehistory=yes
- [mappings]
- ;
- ; The "mappings" section maps DUNDi contexts
- ; to contexts on the local asterisk system. Remember
- ; that numbers that are made available under the e164
- ; DUNDi context are regulated by the DUNDi General Peering
- ; Agreement (GPA) if you are a member of the DUNDi E.164
- ; Peering System.
- ;
- ; dundi_context => [local_context,weight,tech,dest{,options}]
- ;
- ; 'dundi_context' is the name of the context being requested
- ; within the DUNDi request
- ;
- ; 'local_context' is the name of the context on the local system
- ; in which numbers can be looked up for which responses shall be given.
- ;
- ; 'weight' is the weight to use for the responses provided from this
- ; mapping. The number must be >= 0 and < 60000. Since it is totally
- ; valid to receive multiple responses to a query, responses received
- ; with a lower weight are tried first. Note that the weight has a
- ; special meaning in the e164 context - see the GPA for more details.
- ;
- ; 'tech' is the technology to use (IAX2, SIP, H323)
- ;
- ; 'dest' is the Dial application's channel technology resource destination
- ; to supply for reaching that number. The following variables can be used
- ; in the destination string and will be automatically substituted:
- ; ${NUMBER}: The number being requested
- ; ${IPADDR}: The IP address to connect to
- ; ${SECRET}: The current IAX2 rotating secret key to be used
- ;
- ; Further options may include:
- ;
- ; nounsolicited: No unsolicited calls of any type permitted via this
- ; route
- ; nocomunsolicit: No commercial unsolicited calls permitted via
- ; this route
- ; residential: This number is known to be a residence
- ; commercial: This number is known to be a business
- ; mobile: This number is known to be a mobile phone
- ; nocomunsolicit: No commercial unsolicited calls permitted via
- ; this route
- ; nopartial: Do not search for partial matches
- ;
- ; There *must* exist an entry in mappings for DUNDi to respond
- ; to any request, although it may be empty.
- ;
- ;empty_context =>
- ;
- ;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
- ;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
- ;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial
- ;
- ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
- ;
- ; Weights for mappings can be set a few different ways:
- ;
- ; 1) It can be set as a static number.
- ;testmap1 => context1,222,IAX2,guest@peer1/${NUMBER}
- ;
- ; 2) It can be an Asterisk global variable.
- ;testmap2 => context2,${DUNDITESTVAR},IAX2,guest@peer2${NUMBER}
- ;
- ; 3) It can be retrieved using a dialplan function. This can be extremely
- ; useful if you want to let an external script decide what the weight
- ; in a response should be.
- ;testmap3 => context3,${SHELL(echo 123)},IAX2,guest@peer3/${NUMBER}
- ;
- ; The built in variables ${SECRET}, ${IPADDR} and ${NUMBER} can also be
- ; passed to the weight. For example, you could pass the ${NUMBER} value
- ; to your SHELL() script and use that to dynamically return a weight.
- ;
- ; Note when using a global variable or dialplan function to set the
- ; weight for a mapping that response caching should be disabled if you
- ; plan for these values to change frequently at all. If the results are
- ; cached then any change in value will not take effect until the cache
- ; has expired.
- ;
- ;
- ; The remaining sections represent the peers that we fundamentally trust.
- ; The section name specifies the peer's entityid. You can specify which
- ; DUNDi contexts with which you want the trust to be established.
- ;
- ; inkey - What key they will be authenticating to us with
- ;
- ; outkey - What key we use to authenticate to them
- ;
- ; host - What their host is (DNS name, IP address, or dynamic)
- ;
- ; port - The port where their host is listening (default: 4520)
- ;
- ; ustothem - Explicitly specify the entityid we use with this peer.
- ;
- ; order - What search order to use. May be 'primary', 'secondary',
- ; 'tertiary' or 'quartiary'. In large systems, it is beneficial
- ; to only query one up-stream host in order to maximize caching
- ; value. Adding one with primary and one with secondary gives you
- ; redundancy without sacrificing performance.
- ;
- ; include - Includes this peer when searching a particular context
- ; for lookup (set "all" to perform all lookups with that
- ; host. This is also the context in which peers are permitted
- ; to precache.
- ;
- ; noinclude - Disincludes this peer when searching a particular context
- ; for lookup (set "all" to perform no lookups with that
- ; host.
- ;
- ; permit - Permits this peer to search a given DUNDi context on
- ; the local system. Set "all" to permit this host to
- ; lookup all contexts. This is also a context for which
- ; we will create/forward PRECACHE commands.
- ;
- ; deny - Denies this peer to search a given DUNDi context on
- ; the local system. Set "all" to deny this host to
- ; lookup all contexts.
- ;
- ; model - inbound, outbound, or symmetric for whether we receive
- ; requests only, transmit requests only, or do both.
- ;
- ; precache - Utilize/Permit precaching with this peer (to pre
- ; cache means to provide an answer when no request
- ; was made and is used so that machines with few
- ; routes can push those routes up to a higher level).
- ; outgoing means we send precache routes to this peer,
- ; incoming means we permit this peer to send us
- ; precache routes. symmetric means we do both.
- ;
- ; Note: You cannot mix symmetric/outbound model with symmetric/inbound
- ; precache, nor can you mix symmetric/inbound model with symmetric/outbound
- ; precache.
- ;
- ; qualify - Enable qualifying the peer to determine reachable status.
- ; Set to yes, no, or number of milliseconds for qualifying
- ; the peer's reachable status.
- ;
- ; register - Enable registering with the peer. This presupposes that the
- ; peer's host option for us is dynamic. (yes/no value)
- ;
- ; The '*' peer is special and matches an unspecified entity
- ;
- ;
- ; Sample Primary e164 DUNDi peer
- ;
- ;[00:50:8B:F3:75:BB]
- ;model = symmetric
- ;host = 64.215.96.114
- ;inkey = digium
- ;outkey = misery
- ;include = e164
- ;permit = e164
- ;qualify = yes
- ;
- ; Sample Secondary e164 DUNDi peer
- ;
- ;[00:A0:C9:96:92:84]
- ;model = symmetric
- ;host = misery.digium.com
- ;inkey = misery
- ;outkey = ourkey
- ;include = e164
- ;permit = e164
- ;qualify = yes
- ;order = secondary
- ;
- ; Sample "push mode" downstream host
- ;
- ;[00:0C:76:96:75:28]
- ;model = inbound
- ;host = dynamic
- ;precache = inbound
- ;inkey = littleguy
- ;outkey = ourkey
- ;include = e164 ; In this case used only for precaching
- ;permit = e164
- ;qualify = yes
- ;
- ; Sample "push mode" upstream host
- ;
- ;[00:07:E9:3B:76:60]
- ;model = outbound
- ;precache = outbound
- ;host = 216.207.245.34
- ;register = yes
- ;inkey = dhcp34
- ;permit = all ; In this case used only for precaching
- ;include = all
- ;qualify = yes
- ;outkey=foo
- ;[*]
- ;
|