chan_sip: Allow Asterisk to retry after 403 on register
[asterisk/asterisk.git] / configs / dundi.conf.sample
old mode 100755 (executable)
new mode 100644 (file)
index e1d21c7..70f97d4
@@ -1,6 +1,8 @@
 ;
 ; DUNDi configuration file
 ;
 ;
 ; DUNDi configuration file
 ;
+; For more information about DUNDi, see http://www.dundi.com
+;
 ;
 [general]
 ;
 ;
 [general]
 ;
 ;bindaddr=0.0.0.0
 ;port=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 (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*
 ; Our entity identifier (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!)
+; 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
 ;
 ;
 ;entityid=00:07:E9:3B:76:60
 ;
-; Define the max depth in which to search the DUNDi system (also max # of 
-; seconds to wait for a reply)
+; Peers shall cache our query responses for the specified time,
+; given in seconds. Default is 3600.
+;
+;cachetime=3600
+;
+; This defines the max depth 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
 ;
 ;
 ttl=32
 ;
-; If we don't get ACK to our DPREQUEST within 2000ms, and autokill is set
-; to yes, then we cancel the whole thing (that's enough time for one 
+; 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
 ; 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 
+; 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.
 ; 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.
@@ -48,7 +60,7 @@ ttl=32
 autokill=yes
 ;
 ; pbx_dundi creates a rotating key called "secret", under the family
 autokill=yes
 ;
 ; pbx_dundi creates a rotating key called "secret", under the family
-; 'secretpath'.  The default family is dundi (resulting in 
+; 'secretpath'.  The default family is dundi (resulting in
 ; the key being held at dundi/secret).
 ;
 ;secretpath=dundi
 ; the key being held at dundi/secret).
 ;
 ;secretpath=dundi
@@ -66,22 +78,28 @@ autokill=yes
 ;
 ; The "mappings" section maps DUNDi contexts
 ; to contexts on the local asterisk system.  Remember
 ;
 ; 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 
+; 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]]
 ;
 ; 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
+; 'dundi_context' is the name of the context being requested
 ; within the DUNDi request
 ;
 ; within the DUNDi request
 ;
-; local_context is the name of the context on the local system
+; '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.
 ;
 ; in which numbers can be looked up for which responses shall be given.
 ;
-; tech is the technology to use (IAX, SIP, H323)
+; '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 (IAX, SIP, H323)
 ;
 ;
-; dest is the destination to supply for reaching that number.  The
+; 'dest' is the 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
 ; following variables can be used in the destination string and will
 ; be automatically substituted:
 ; ${NUMBER}: The number being requested
@@ -90,14 +108,14 @@ autokill=yes
 ;
 ; Further options may include:
 ;
 ;
 ; Further options may include:
 ;
-; nounsolicited:  No unsolicited calls of any type permitted via this 
+; nounsolicited:  No unsolicited calls of any type permitted via this
 ;                 route
 ;                 route
-; nocomunsolicit: No commercial unsolicited calls permitted via 
+; 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
 ;                 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 
+; nocomunsolicit: No commercial unsolicited calls permitted via
 ;                 this route
 ; nopartial:      Do not search for partial matches
 ;
 ;                 this route
 ; nopartial:      Do not search for partial matches
 ;
@@ -111,8 +129,31 @@ autokill=yes
 ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
 ;asdf =>
 
 ;digexten => default,0,IAX2,guest@lappy/${NUMBER}
 ;asdf =>
 
-
 ;
 ;
+; 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 shouuld 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 than 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
 ;
 ; The remaining sections represent the peers
 ; that we fundamentally trust.  The section name
@@ -126,11 +167,13 @@ autokill=yes
 ;
 ; host - What their host is
 ;
 ;
 ; host - What their host is
 ;
-; order - What search order to use.  May be 'primary', 'secondary', 
+; port - The port where their host is listening (default: 4520)
+;
+; 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
 ;         '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 sacraficing performance.
+;         redundancy without sacrificing performance.
 ;
 ; include - Includes this peer when searching a particular context
 ;           for lookup (set "all" to perform all lookups with that
 ;
 ; include - Includes this peer when searching a particular context
 ;           for lookup (set "all" to perform all lookups with that
@@ -150,7 +193,7 @@ autokill=yes
 ;          the local system.  Set "all" to deny this host to
 ;          lookup all contexts.
 ;
 ;          the local system.  Set "all" to deny this host to
 ;          lookup all contexts.
 ;
-; model - inbound, outbound, or symmetric for whether we receive 
+; 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
 ;         requests only, transmit requests only, or do both.
 ;
 ; precache - Utilize/Permit precaching with this peer (to pre
@@ -172,14 +215,14 @@ autokill=yes
 ;
 ; Sample Primary e164 DUNDi peer
 ;
 ;
 ; 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
+;[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
 
 ;
 ; Sample Secondary e164 DUNDi peer
@@ -204,7 +247,7 @@ qualify = yes
 ;inkey = littleguy
 ;outkey = ourkey
 ;include = e164        ; In this case used only for precaching
 ;inkey = littleguy
 ;outkey = ourkey
 ;include = e164        ; In this case used only for precaching
-;permit = e164      
+;permit = e164
 ;qualify = yes
 
 ;
 ;qualify = yes
 
 ;
@@ -217,7 +260,7 @@ qualify = yes
 ;register = yes
 ;inkey = dhcp34
 ;permit = all ; In this case used only for precaching
 ;register = yes
 ;inkey = dhcp34
 ;permit = all ; In this case used only for precaching
-;include = all 
+;include = all
 ;qualify = yes
 ;outkey=foo
 
 ;qualify = yes
 ;outkey=foo