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.

     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
    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
   125 ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
   126 ;asdf =>
   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 ;
   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
   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
   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
   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
   238 ;[*]
   239 ;

mercurial