aboutsummaryrefslogtreecommitdiffstats
path: root/configs
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-18 21:45:13 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-18 21:45:13 +0000
commit852e93e07c03c5289067af53f2d7a3294f0b725f (patch)
tree80940dd6683a810dd916c78d8a080531ce4785d6 /configs
parent70ae1d18dbb3fc9c760798ef2c2c12038ef5cebd (diff)
Add DUNDi.... (http://www.dundi.com)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4033 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'configs')
-rwxr-xr-xconfigs/dundi.conf.sample172
-rwxr-xr-xconfigs/extensions.conf.sample64
-rwxr-xr-xconfigs/iax.conf.sample9
3 files changed, 243 insertions, 2 deletions
diff --git a/configs/dundi.conf.sample b/configs/dundi.conf.sample
new file mode 100755
index 000000000..e63b1dfad
--- /dev/null
+++ b/configs/dundi.conf.sample
@@ -0,0 +1,172 @@
+;
+; DUNDi configuration file
+;
+;
+[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
+;
+; 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!)
+;
+;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)
+;
+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
+; 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
+
+[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.
+;
+; tech is the technology to use (IAX, SIP, H323)
+;
+; dest is the destination to supply for reaching that number. Note
+; that the variable ${NUMBER} shall be replaced by the number being
+; requested.
+;
+; 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.
+;
+;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}
+;asdf =>
+
+
+;
+;
+; The remaining sections represent the peers
+; that we fundamentally trust. The section name
+; represents the name and optionally at a specific
+; DUNDi context if you want the trust to be established
+; for only a specific DUNDi context.
+;
+; inkey - What key they will be authenticating to us with
+;
+; outkey - What key we use to authenticate to them
+;
+; host - What their host is
+;
+; 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 sacraficing performance.
+;
+; include - Includes this peer when searching a particular context
+; for lookup (set "all" to perform all lookups with that
+; host.
+;
+; 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.
+;
+; 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.
+;
+; 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
+
+
+;[*]
+;
diff --git a/configs/extensions.conf.sample b/configs/extensions.conf.sample
index 8e925be55..32e43e09c 100755
--- a/configs/extensions.conf.sample
+++ b/configs/extensions.conf.sample
@@ -109,6 +109,64 @@ TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
;
;
+; Sample entries for extensions.conf
+;
+;
+[dundi-e164-canonical]
+;
+; List canonical entries here
+;
+;exten => 12564286000,1,Macro(std-exten,6000,IAX2/foo)
+;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})
+
+[dundi-e164-customers]
+;
+; If you are an ITSP or Reseller, list your customers here.
+;
+;exten => _12564286000,1,Dial(SIP/customer1)
+;exten => _12564286001,1,Dial(IAX2/customer2)
+
+[dundi-e164-via-pstn]
+;
+; If you are freely delivering calls to the PSTN, list them here
+;
+;exten => _1256428XXXX,1,Dial(Zap/g2/${EXTEN:7}) ; Expose all of 256-428
+;exten => _1256325XXXX,1,Dial(Zap/g2/${EXTEN:7}) ; Ditto for 256-325
+
+[dundi-e164-local]
+;
+; Context to put your dundi IAX2 or SIP user in for
+; full access
+;
+include => dundi-e164-canonical
+include => dundi-e164-customers
+include => dundi-e164-via-pstn
+
+[dundi-e164-switch]
+;
+; Just a wrapper for the switch
+;
+switch => DUNDi/e164
+
+[dundi-e164-lookup]
+;
+; Locally to lookup, try looking for a local E.164 solution
+; then try DUNDi if we don't have one.
+;
+include => dundi-e164-local
+include => dundi-e164-switch
+;
+; DUNDi can also be implemented as a Macro instead of using
+; the Local channel driver.
+;
+[macro-dundi-e164]
+;
+; ARG1 is the extension to Dial
+;
+exten => s,1,Goto(${ARG1},1)
+include => dundi-e164-lookup
+
+;
; Here are the entries you need to participate in the IAXTEL
; call routing system. Most IAXTEL numbers begin with 1-700, but
; there are exceptions. For more information, and to sign
@@ -130,13 +188,15 @@ exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
;
; International long distance through trunk
;
-exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
+exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
+exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunkld]
;
; Long distance context accessed through trunk
;
-exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
+exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
+exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunklocal]
;
diff --git a/configs/iax.conf.sample b/configs/iax.conf.sample
index 90b195e16..13e1a6364 100755
--- a/configs/iax.conf.sample
+++ b/configs/iax.conf.sample
@@ -200,6 +200,15 @@ auth=rsa
inkeys=freeworlddialup
;
+; Trust callerid delivered over DUNDi/e164
+;
+;
+;[dundi]
+;type=user
+;dbsecret=dundi/secret
+;context=dundi-e164-local
+
+;
; Further user sections may be added, specifying a context and a
; secret used for connections with that given authentication name.
; Limited IP based access control is allowed by use of "allow" and