summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Raymond <kraymond@avencall.com>2012-10-03 18:00:05 +0200
committerKévin Raymond <kraymond@avencall.com>2012-10-03 18:00:05 +0200
commit9dd5a2ce18e3956ab33bb064f8cdb5343bdae449 (patch)
tree57874571ee61cc4b92c98a218f6f3f405888069d
parent3d09827b355e65086744d88981a6e51c455addbf (diff)
moving the full_IO − test enhenced
-rw-r--r--asterisk-load-tests/full_IO/README46
-rw-r--r--asterisk-load-tests/full_IO/pcb/chan_dahdi.conf65
-rw-r--r--asterisk-load-tests/full_IO/pcb/extensions.conf80
-rw-r--r--asterisk-load-tests/full_IO/pcb/sip.conf686
-rw-r--r--asterisk-load-tests/full_IO/xhd/chan_dahdi.conf79
-rw-r--r--asterisk-load-tests/full_IO/xhd/conf.py31
-rw-r--r--asterisk-load-tests/full_IO/xhd/extensions.conf76
-rw-r--r--asterisk-load-tests/full_IO/xhd/sip.conf1340
-rw-r--r--asterisk-load-tests/full_IO/xhd/system.conf44
-rw-r--r--factory/full_IO/README11
-rw-r--r--factory/full_IO/chan_dahdi.conf.nt1457
-rw-r--r--factory/full_IO/chan_dahdi.conf.te1457
-rwxr-xr-xfactory/full_IO/extensions.conf67
-rwxr-xr-xfactory/full_IO/install.sh95
-rw-r--r--factory/full_IO/screen_test12
-rw-r--r--factory/full_IO/system.conf.nt (renamed from asterisk-load-tests/full_IO/pcb/system.conf)7
-rw-r--r--factory/full_IO/system.conf.te42
17 files changed, 3148 insertions, 2447 deletions
diff --git a/asterisk-load-tests/full_IO/README b/asterisk-load-tests/full_IO/README
deleted file mode 100644
index facfc96..0000000
--- a/asterisk-load-tests/full_IO/README
+++ /dev/null
@@ -1,46 +0,0 @@
-# TODO:
-# - write the conf files and the script..
-# - should probably remove the ssh key on PCB after the test
-# - on error, get PCB serial number, IP, MAC, logs and conf files (PCB and XHD
-# side)
-
-Objective
----------
-This will checks that all port are basically fonctioning.
-It runs 3 tests:
- * Set the PCB[T0] ports in TE mode and the XHD[T0] ones in NT and then initiate
- the call from XHD, the PCB should call back.
- * Then it sets ports in the other way (NT/TE) an send a new call from XHD.
- * Finally checks the FXO and FXS ports.
-
-Needs:
- * Both card on the same network (ssh connection)
- * The ssh key of XHD in the PCB' `~/.ssh/authorized_keys'
-
-Setup
------
-
-You need to connect the proto board (ref bellow as "PCB") to the testing
-computer (ref bellow as "XHD") which embbed a Digium BRI card.
-
- ------------ ------------
- PCB T0 -|−−−−−−−−−|- T0 XHD
- T0 -|−−−−−−−−−|- T0
- T0 -|−−−−−−−−−|- T0
- T0 -|−−−−−−−−−|- T0
- | |
- FXS -|−−−−−−−−−|- FXO
- FXO -|−−−−−−−−−|- FXS
- ------------ ------------
-
-
-Running the test
-----------------
-#FIXME
-#
-run the full_IO.sh script
-
-
-<!-- vi:syntax=markdown tw=80
- -->
-
diff --git a/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf b/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf
deleted file mode 100644
index 46dca53..0000000
--- a/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf
+++ /dev/null
@@ -1,65 +0,0 @@
-;
-; DAHDI Telephony Configuration file
-;
-; You need to restart Asterisk to re-configure the DAHDI channel
-
-[trunkgroups]
-; Trunk groups are used for NFAS connections.
-
-[channels]
-usecallerid=yes
-callwaiting=yes
-usecallingpres=yes
-callwaitingcallerid=yes
-threewaycalling=yes
-transfer=yes
-canpark=yes
-cancallforward=yes
-callreturn=yes
-group=1
-callgroup=1
-pickupgroup=1
-
-
-signalling=fxo_ks
-callerid="Analog Phone" <1>
-overlapdial=yes
-mailbox=101
-group=11
-context=from-pstn
-channel => 1
-
-signalling=fxs_ks
-callerid=asreceived
-overlapdial=yes
-group=12
-context=from-pstn
-channel => 2
-
-signalling=bri_net_ptmp
-switchtype=euroisdn
-overlapdial=yes
-context=from-isdn
-group=21
-channel => 3-4
-
-signalling=bri_net_ptmp
-switchtype=euroisdn
-context=from-isdn
-overlapdial=yes
-group=22
-channel => 6-7
-
-signalling=bri_net_ptmp
-context=from-isdn
-switchtype=euroisdn
-overlapdial=yes
-group=23
-channel => 9-10
-
-signalling=bri_net_ptmp
-context=from-isdn
-switchtype=euroisdn
-overlapdial=yes
-group=24
-channel => 12-13
diff --git a/asterisk-load-tests/full_IO/pcb/extensions.conf b/asterisk-load-tests/full_IO/pcb/extensions.conf
deleted file mode 100644
index 50d9f14..0000000
--- a/asterisk-load-tests/full_IO/pcb/extensions.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-[from-internal]
-include => default
-
-[from-sip]
-exten = s,1,Dial(DAHDI/g11)
-
-[from-isdn]
-include => default
-
-[from-pstn]
-include => default
-
-exten = 103,1,NoOp(Dial FXS port - this is intended to be a loop)
-exten = 103,n,Dial(DAHDI/g11/${EXTEN})
-
-[default]
-; FXS port
-exten = 11,1,NoOp( Call 11 )
-same = n,Dial(DAHDI/g11)
-same = n,Goto(hangup)
-
-; FXO port
-exten = 12,1,NoOp( Call 12 )
-same = n,Dial(DAHDI/g12)
-same = n,Hangup()
-
-; ISDN port#1
-exten = _21.,1,NoOp( Call 21 )
-same = n,Dial(DAHDI/g21/${EXTEN:2})
-;same = n,Hangup()
-
-; ISDN port#2
-exten = _22.,1,NoOp( Call 22 )
-same = n,Dial(DAHDI/g22/${EXTEN:2})
-;same = n,Hangup()
-
-; ISDN port#3
-exten = _23.,1,NoOp( Call 23 )
-same = n,Dial(DAHDI/g23/${EXTEN:2})
-;same = n,Hangup()
-
-; ISDN port#4
-exten = _24.,1,NoOp( Call 24 )
-same = n,Dial(DAHDI/g24/${EXTEN:2})
-;same = n,Hangup()
-
-; Aastra IP Phone
-exten = 3,1,NoOp( Call 3 )
-exten = 3, n,Dial(SIP/${EXTEN})
-
-; vers XiVO
-exten = _9X.,1,NoOp()
-exten = _9X.,n,Dial(SIP/test-oh/${EXTEN:1})
-
-
-; Call via ISDN port #2 from ISDN phone
-exten = _7X.,1,NoOp( Call ${EXTEN:1} via port #2)
-exten = _7X.,n,Dial(DAHDI/g22/${EXTEN:1})
-
-
-; Test sounds
-exten => 123,1,Answer()
-exten => 123,2,Playback(spy-agent)
-exten => 123,3,Hangup
-
-exten = 666,1,While(1)
-exten = 666,n,Playback(/root/sounds/schnappi_satan_8k)
-exten = 666,n,Sleep(1)
-exten = 666,n,EndWhile
-
-exten = hangup,1,NoOp()
-same = n,Answer()
-same = n,Wait(3)
-same = n,Hangup()
-
-
-;exten = _1XX,1,Dial(SIP/test/${EXTEN})
-
-[te]
-exten = s,1,NoOp(${CALLERID} => ${EXTEN})
diff --git a/asterisk-load-tests/full_IO/pcb/sip.conf b/asterisk-load-tests/full_IO/pcb/sip.conf
deleted file mode 100644
index 83b744e..0000000
--- a/asterisk-load-tests/full_IO/pcb/sip.conf
+++ /dev/null
@@ -1,686 +0,0 @@
-;
-; SIP Configuration example for Asterisk
-;
-; Syntax for specifying a SIP device in extensions.conf is
-; SIP/devicename where devicename is defined in a section below.
-;
-; You may also use
-; SIP/username@domain to call any SIP user on the Internet
-; (Don't forget to enable DNS SRV records if you want to use this)
-;
-; If you define a SIP proxy as a peer below, you may call
-; SIP/proxyhostname/user or SIP/user@proxyhostname
-; where the proxyhostname is defined in a section below
-;
-; Useful CLI commands to check peers/users:
-; sip show peers Show all SIP peers (including friends)
-; sip show users Show all SIP users (including friends)
-; sip show registry Show status of hosts we register with
-;
-; sip debug Show all SIP messages
-;
-; reload chan_sip.so Reload configuration file
-; Active SIP peers will not be reconfigured
-;
-
-[general]
-context=from-sip ; Default context for incoming calls
-;allowguest=no ; Allow or reject guest calls (default is yes)
-allowoverlap=no ; Disable overlap dialing support. (Default is yes)
-;allowtransfer=no ; Disable all transfers (unless enabled in peers or users)
- ; Default is enabled
-;realm=mydomain.tld ; Realm for digest authentication
- ; defaults to "asterisk". If you set a system name in
- ; asterisk.conf, it defaults to that system name
- ; Realms MUST be globally unique according to RFC 3261
- ; Set this to your host name or domain name
-bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
- ; bindport is the local UDP port that Asterisk will listen on
-bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
-srvlookup=yes ; Enable DNS SRV lookups on outbound calls
- ; Note: Asterisk only uses the first host
- ; in SRV records
- ; Disabling DNS SRV lookups disables the
- ; ability to place SIP calls based on domain
- ; names to some other SIP users on the Internet
-
-;domain=mydomain.tld ; Set default domain for this host
- ; If configured, Asterisk will only allow
- ; INVITE and REFER to non-local domains
- ; Use "sip show domains" to list local domains
-;pedantic=yes ; Enable checking of tags in headers,
- ; international character conversions in URIs
- ; and multiline formatted headers for strict
- ; SIP compatibility (defaults to "no")
-
-; See doc/ip-tos.txt for a description of these parameters.
-;tos_sip=cs3 ; Sets TOS for SIP packets.
-;tos_audio=ef ; Sets TOS for RTP audio packets.
-;tos_video=af41 ; Sets TOS for RTP video packets.
-
-;maxexpiry=3600 ; Maximum allowed time of incoming registrations
- ; and subscriptions (seconds)
-;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60)
-;defaultexpiry=120 ; Default length of incoming/outgoing registration
-;t1min=100 ; Minimum roundtrip time for messages to monitored hosts
- ; Defaults to 100 ms
-;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY
-;checkmwi=10 ; Default time between mailbox checks for peers
-;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC
- ; fully. Enable this option to not get error messages
- ; when sending MWI to phones with this bug.
-;vmexten=voicemail ; dialplan extension to reach mailbox sets the
- ; Message-Account in the MWI notify message
- ; defaults to "asterisk"
-;disallow=all ; First disallow all codecs
-;allow=ulaw ; Allow codecs in order of preference
-;allow=ilbc ; see doc/rtp-packetization for framing options
-;
-; This option specifies a preference for which music on hold class this channel
-; should listen to when put on hold if the music class has not been set on the
-; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
-; channel putting this one on hold did not suggest a music class.
-;
-; This option may be specified globally, or on a per-user or per-peer basis.
-;
-;mohinterpret=default
-;
-; This option specifies which music on hold class to suggest to the peer channel
-; when this channel places the peer on hold. It may be specified globally or on
-; a per-user or per-peer basis.
-;
-;mohsuggest=default
-;
-;language=en ; Default language setting for all users/peers
- ; This may also be set for individual users/peers
-;relaxdtmf=yes ; Relax dtmf handling
-;trustrpid = no ; If Remote-Party-ID should be trusted
-;sendrpid = yes ; If Remote-Party-ID should be sent
-;progressinband=never ; If we should generate in-band ringing always
- ; use 'never' to never use in-band signalling, even in cases
- ; where some buggy devices might not render it
- ; Valid values: yes, no, never Default: never
-;useragent=Asterisk PBX ; Allows you to change the user agent string
-;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address
- ; Note that promiscredir when redirects are made to the
- ; local system will cause loops since Asterisk is incapable
- ; of performing a "hairpin" call.
-;usereqphone = no ; If yes, ";user=phone" is added to uri that contains
- ; a valid phone number
-;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
- ; Other options:
- ; info : SIP INFO messages
- ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw)
- ; auto : Use rfc2833 if offered, inband otherwise
-
-;compactheaders = yes ; send compact sip headers.
-;
-;videosupport=yes ; Turn on support for SIP video. You need to turn this on
- ; in the this section to get any video support at all.
- ; You can turn it off on a per peer basis if the general
- ; video support is enabled, but you can't enable it for
- ; one peer only without enabling in the general section.
-;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s)
- ; Videosupport and maxcallbitrate is settable
- ; for peers and users as well
-;callevents=no ; generate manager events when sip ua
- ; performs events (e.g. hold)
-;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected,
- ; for any reason, always reject with '401 Unauthorized'
- ; instead of letting the requester know whether there was
- ; a matching user or peer for their request
-
-;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing
- ; order instead of RFC3551 packing order (this is required
- ; for Sipura and Grandstream ATAs, among others). This is
- ; contrary to the RFC3551 specification, the peer _should_
- ; be negotiating AAL2-G726-32 instead :-(
-
-;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches
- ; your localnet setting. Unless you have some sort of strange network
- ; setup you will not need to enable this.
-
-;
-; If regcontext is specified, Asterisk will dynamically create and destroy a
-; NoOp priority 1 extension for a given peer who registers or unregisters with
-; us and have a "regexten=" configuration item.
-; Multiple contexts may be specified by separating them with '&'. The
-; actual extension is the 'regexten' parameter of the registering peer or its
-; name if 'regexten' is not provided. If more than one context is provided,
-; the context must be specified within regexten by appending the desired
-; context after '@'. More than one regexten may be supplied if they are
-; separated by '&'. Patterns may be used in regexten.
-;
-;regcontext=sipregistrations
-;
-;--------------------------- RTP timers ----------------------------------------------------
-; These timers are currently used for both audio and video streams. The RTP timeouts
-; are only applied to the audio channel.
-; The settings are settable in the global section as well as per device
-;
-;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity
- ; on the audio channel
- ; when we're not on hold. This is to be able to hangup
- ; a call in the case of a phone disappearing from the net,
- ; like a powerloss or grandma tripping over a cable.
-;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity
- ; on the audio channel
- ; when we're on hold (must be > rtptimeout)
-;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open
- ; (default is off - zero)
-;--------------------------- SIP DEBUGGING ---------------------------------------------------
-;sipdebug = yes ; Turn on SIP debugging by default, from
- ; the moment the channel loads this configuration
-;recordhistory=yes ; Record SIP history by default
- ; (see sip history / sip no history)
-;dumphistory=yes ; Dump SIP history at end of SIP dialogue
- ; SIP history is output to the DEBUG logging channel
-
-
-;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ----------------------------
-; You can subscribe to the status of extensions with a "hint" priority
-; (See extensions.conf.sample for examples)
-; chan_sip support two major formats for notifications: dialog-info and SIMPLE
-;
-; You will get more detailed reports (busy etc) if you have a call limit set
-; for a device. When the call limit is filled, we will indicate busy. Note that
-; you need at least 2 in order to be able to do attended transfers.
-;
-; For queues, you will need this level of detail in status reporting, regardless
-; if you use SIP subscriptions. Queues and manager use the same internal interface
-; for reading status information.
-;
-; Note: Subscriptions does not work if you have a realtime dialplan and use the
-; realtime switch.
-;
-;allowsubscribe=no ; Disable support for subscriptions. (Default is yes)
-;subscribecontext = default ; Set a specific context for SUBSCRIBE requests
- ; Useful to limit subscriptions to local extensions
- ; Settable per peer/user also
-;notifyringing = yes ; Notify subscriptions on RINGING state (default: no)
-;notifyhold = yes ; Notify subscriptions on HOLD state (default: no)
- ; Turning on notifyringing and notifyhold will add a lot
- ; more database transactions if you are using realtime.
-;limitonpeers = yes ; Apply call limits on peers only. This will improve
- ; status notification when you are using type=friend
- ; Inbound calls, that really apply to the user part
- ; of a friend will now be added to and compared with
- ; the peer limit instead of applying two call limits,
- ; one for the peer and one for the user.
- ; "sip show inuse" will only show active calls on
- ; the peer side of a "type=friend" object if this
- ; setting is turned on.
-
-;----------------------------------------- T.38 FAX PASSTHROUGH SUPPORT -----------------------
-;
-; This setting is available in the [general] section as well as in device configurations.
-; Setting this to yes, enables T.38 fax (UDPTL) passthrough on SIP to SIP calls, provided
-; both parties have T38 support enabled in their Asterisk configuration
-; This has to be enabled in the general section for all devices to work. You can then
-; disable it on a per device basis.
-;
-; T.38 faxing only works in SIP to SIP calls, with no local or agent channel being used.
-;
-; t38pt_udptl = yes ; Default false
-;
-;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------
-; Asterisk can register as a SIP user agent to a SIP proxy (provider)
-; Format for the register statement is:
-; register => user[:secret[:authuser]]@host[:port][/extension]
-;
-; If no extension is given, the 's' extension is used. The extension needs to
-; be defined in extensions.conf to be able to accept calls from this SIP proxy
-; (provider).
-;
-; host is either a host name defined in DNS or the name of a section defined
-; below.
-;
-; Examples:
-;
-
-; XIVO XIVO XIVO
-
-; register => test-oh:toto@192.168.0.252
-
-register => wg4xt2:29PUQE@192.168.17.252
-
-; 41302
-
-[test-oh]
-type=friend
-username=wg4xt2
-fromuser=41302
-secret=29PUQE
-host=192.168.17.252
-nat=no
-
-
-;
-; This will pass incoming calls to the 's' extension
-;
-;
-;register => 2345:password@sip_proxy/1234
-;
-; Register 2345 at sip provider 'sip_proxy'. Calls from this provider
-; connect to local extension 1234 in extensions.conf, default context,
-; unless you configure a [sip_proxy] section below, and configure a
-; context.
-; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com]
-; Tip 2: Use separate type=peer and type=user sections for SIP providers
-; (instead of type=friend) if you have calls in both directions
-
-;registertimeout=20 ; retry registration calls every 20 seconds (default)
-;registerattempts=10 ; Number of registration attempts before we give up
- ; 0 = continue forever, hammering the other server
- ; until it accepts the registration
- ; Default is 0 tries, continue forever
-
-;----------------------------------------- NAT SUPPORT ------------------------
-; The externip, externhost and localnet settings are used if you use Asterisk
-; behind a NAT device to communicate with services on the outside.
-
-;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP
- ; messages if we're behind a NAT
-
- ; The externip and localnet is used
- ; when registering and communicating with other proxies
- ; that we're registered with
-;externhost=foo.dyndns.net ; Alternatively you can specify an
- ; external host, and Asterisk will
- ; perform DNS queries periodically. Not
- ; recommended for production
- ; environments! Use externip instead
-;externrefresh=10 ; How often to refresh externhost if
- ; used
- ; You may add multiple local networks. A reasonable
- ; set of defaults are:
-;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks
-;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918
-;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation
-;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network
-
-; The nat= setting is used when Asterisk is on a public IP, communicating with
-; devices hidden behind a NAT device (broadband router). If you have one-way
-; audio problems, you usually have problems with your NAT configuration or your
-; firewall's support of SIP+RTP ports. You configure Asterisk choice of RTP
-; ports for incoming audio in rtp.conf
-;
-;nat=no ; Global NAT settings (Affects all peers and users)
- ; yes = Always ignore info and assume NAT
- ; no = Use NAT mode only according to RFC3581 (;rport)
- ; never = Never attempt NAT mode or RFC3581 support
- ; route = Assume NAT, don't send rport
- ; (work around more UNIDEN bugs)
-
-;----------------------------------- MEDIA HANDLING --------------------------------
-; By default, Asterisk tries to re-invite the audio to an optimal path. If there's
-; no reason for Asterisk to stay in the media path, the media will be redirected.
-; This does not really work with in the case where Asterisk is outside and have
-; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat
-;
-;canreinvite=yes ; Asterisk by default tries to redirect the
- ; RTP media stream (audio) to go directly from
- ; the caller to the callee. Some devices do not
- ; support this (especially if one of them is behind a NAT).
- ; The default setting is YES. If you have all clients
- ; behind a NAT, or for some other reason wants Asterisk to
- ; stay in the audio path, you may want to turn this off.
-
- ; In Asterisk 1.4 this setting also affect direct RTP
- ; at call setup (a new feature in 1.4 - setting up the
- ; call directly between the endpoints instead of sending
- ; a re-INVITE).
-
-;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up
- ; the call directly with media peer-2-peer without re-invites.
- ; Will not work for video and cases where the callee sends
- ; RTP payloads and fmtp headers in the 200 OK that does not match the
- ; callers INVITE. This will also fail if canreinvite is enabled when
- ; the device is actually behind NAT.
-
-;canreinvite=nonat ; An additional option is to allow media path redirection
- ; (reinvite) but only when the peer where the media is being
- ; sent is known to not be behind a NAT (as the RTP core can
- ; determine it based on the apparent IP address the media
- ; arrives from).
-
-;canreinvite=update ; Yet a third option... use UPDATE for media path redirection,
- ; instead of INVITE. This can be combined with 'nonat', as
- ; 'canreinvite=update,nonat'. It implies 'yes'.
-
-;----------------------------------------- REALTIME SUPPORT ------------------------
-; For additional information on ARA, the Asterisk Realtime Architecture,
-; please read realtime.txt and extconfig.txt in the /doc directory of the
-; source code.
-;
-;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list
- ; just like friends added from the config file only on a
- ; as-needed basis? (yes|no)
-
-;rtsavesysname=yes ; Save systemname in realtime database at registration
- ; Default= no
-
-;rtupdate=yes ; Send registry updates to database using realtime? (yes|no)
- ; If set to yes, when a SIP UA registers successfully, the ip address,
- ; the origination port, the registration period, and the username of
- ; the UA will be set to database via realtime.
- ; If not present, defaults to 'yes'.
-;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule
- ; as if it had just registered? (yes|no|<seconds>)
- ; If set to yes, when the registration expires, the friend will
- ; vanish from the configuration until requested again. If set
- ; to an integer, friends expire within this number of seconds
- ; instead of the registration interval.
-
-;ignoreregexpire=yes ; Enabling this setting has two functions:
- ;
- ; For non-realtime peers, when their registration expires, the
- ; information will _not_ be removed from memory or the Asterisk database
- ; if you attempt to place a call to the peer, the existing information
- ; will be used in spite of it having expired
- ;
- ; For realtime peers, when the peer is retrieved from realtime storage,
- ; the registration information will be used regardless of whether
- ; it has expired or not; if it expires while the realtime peer
- ; is still in memory (due to caching or other reasons), the
- ; information will not be removed from realtime storage
-
-;----------------------------------------- SIP DOMAIN SUPPORT ------------------------
-; Incoming INVITE and REFER messages can be matched against a list of 'allowed'
-; domains, each of which can direct the call to a specific context if desired.
-; By default, all domains are accepted and sent to the default context or the
-; context associated with the user/peer placing the call.
-; Domains can be specified using:
-; domain=<domain>[,<context>]
-; Examples:
-; domain=myasterisk.dom
-; domain=customer.com,customer-context
-;
-; In addition, all the 'default' domains associated with a server should be
-; added if incoming request filtering is desired.
-; autodomain=yes
-;
-; To disallow requests for domains not serviced by this server:
-; allowexternaldomains=no
-
-;domain=mydomain.tld,mydomain-incoming
- ; Add domain and configure incoming context
- ; for external calls to this domain
-;domain=1.2.3.4 ; Add IP address as local domain
- ; You can have several "domain" settings
-;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains
- ; Default is yes
-;autodomain=yes ; Turn this on to have Asterisk add local host
- ; name and local IP to domain list.
-
-; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to
- ; non-peers, use your primary domain "identity"
- ; for From: headers instead of just your IP
- ; address. This is to be polite and
- ; it may be a mandatory requirement for some
- ; destinations which do not have a prior
- ; account relationship with your server.
-
-;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
-; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
- ; SIP channel. Defaults to "no". An enabled jitterbuffer will
- ; be used only if the sending side can create and the receiving
- ; side can not accept jitter. The SIP channel can accept jitter,
- ; thus a jitterbuffer on the receive SIP side will be used only
- ; if it is forced and enabled.
-
-; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP
- ; channel. Defaults to "no".
-
-; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
-
-; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
- ; resynchronized. Useful to improve the quality of the voice, with
- ; big jumps in/broken timestamps, usually sent from exotic devices
- ; and programs. Defaults to 1000.
-
-; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP
- ; channel. Two implementations are currently available - "fixed"
- ; (with size always equals to jbmaxsize) and "adaptive" (with
- ; variable size, actually the new jb of IAX2). Defaults to fixed.
-
-; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
-;-----------------------------------------------------------------------------------
-
-[authentication]
-; Global credentials for outbound calls, i.e. when a proxy challenges your
-; Asterisk server for authentication. These credentials override
-; any credentials in peer/register definition if realm is matched.
-;
-; This way, Asterisk can authenticate for outbound calls to other
-; realms. We match realm on the proxy challenge and pick an set of
-; credentials from this list
-; Syntax:
-; auth = <user>:<secret>@<realm>
-; auth = <user>#<md5secret>@<realm>
-; Example:
-;auth=mark:topsecret@digium.com
-;
-; You may also add auth= statements to [peer] definitions
-; Peer auth= override all other authentication settings if we match on realm
-
-;------------------------------------------------------------------------------
-; Users and peers have different settings available. Friends have all settings,
-; since a friend is both a peer and a user
-;
-; User config options: Peer configuration:
-; -------------------- -------------------
-; context context
-; callingpres callingpres
-; permit permit
-; deny deny
-; secret secret
-; md5secret md5secret
-; dtmfmode dtmfmode
-; canreinvite canreinvite
-; nat nat
-; callgroup callgroup
-; pickupgroup pickupgroup
-; language language
-; allow allow
-; disallow disallow
-; insecure insecure
-; trustrpid trustrpid
-; progressinband progressinband
-; promiscredir promiscredir
-; useclientcode useclientcode
-; accountcode accountcode
-; setvar setvar
-; callerid callerid
-; amaflags amaflags
-; call-limit call-limit
-; allowoverlap allowoverlap
-; allowsubscribe allowsubscribe
-; allowtransfer allowtransfer
-; subscribecontext subscribecontext
-; videosupport videosupport
-; maxcallbitrate maxcallbitrate
-; rfc2833compensate mailbox
-; t38pt_usertpsource username
-; template
-; fromdomain
-; regexten
-; fromuser
-; host
-; port
-; qualify
-; defaultip
-; rtptimeout
-; rtpholdtimeout
-; sendrpid
-; outboundproxy
-; rfc2833compensate
-; t38pt_usertpsource
-
-;[sip_proxy]
-; For incoming calls only. Example: FWD (Free World Dialup)
-; We match on IP address of the proxy for incoming calls
-; since we can not match on username (caller id)
-;type=peer
-;context=from-fwd
-;host=fwd.pulver.com
-
-;[sip_proxy-out]
-;type=peer ; we only want to call out, not be called
-;secret=guessit
-;username=yourusername ; Authentication user for outbound proxies
-;fromuser=yourusername ; Many SIP providers require this!
-;fromdomain=provider.sip.domain
-;host=box.provider.com
-;usereqphone=yes ; This provider requires ";user=phone" on URI
-;call-limit=5 ; permit only 5 simultaneous outgoing calls to this peer
-;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer
- ; Call-limits will not be enforced on real-time peers,
- ; since they are not stored in-memory
-;port=80 ; The port number we want to connect to on the remote side
- ; Also used as "defaultport" in combination with "defaultip" settings
-
-;------------------------------------------------------------------------------
-; Definitions of locally connected SIP devices
-;
-; type = user a device that authenticates to us by "from" field to place calls
-; type = peer a device we place calls to or that calls us and we match by host
-; type = friend two configurations (peer+user) in one
-;
-; For device names, we recommend using only a-z, numerics (0-9) and underscore
-;
-; For local phones, type=friend works most of the time
-;
-; If you have one-way audio, you probably have NAT problems.
-; If Asterisk is on a public IP, and the phone is inside of a NAT device
-; you will need to configure nat option for those phones.
-; Also, turn on qualify=yes to keep the nat session open
-
-;[grandstream1]
-;type=friend
-;context=from-sip ; Where to start in the dialplan when this phone calls
-;callerid=John Doe <1234> ; Full caller ID, to override the phones config
- ; on incoming calls to Asterisk
-;host=192.168.0.23 ; we have a static but private IP address
- ; No registration allowed
-;nat=no ; there is not NAT between phone and Asterisk
-;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk
-;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone
-;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time
- ; from the phone to asterisk
- ; 1 for the explicit peer, 1 for the explicit user,
- ; remember that a friend equals 1 peer and 1 user in
- ; memory
- ; This will affect your subscriptions as well.
- ; There is no combined call counter for a "friend"
- ; so there's currently no way in sip.conf to limit
- ; to one inbound or outbound call per phone. Use
- ; the group counters in the dial plan for that.
- ;
-;mailbox=1234@default ; mailbox 1234 in voicemail context "default"
-;disallow=all ; need to disallow=all before we can use allow=
-;allow=ulaw ; Note: In user sections the order of codecs
- ; listed with allow= does NOT matter!
-;allow=alaw
-;allow=g723.1 ; Asterisk only supports g723.1 pass-thru!
-;allow=g729 ; Pass-thru only unless g729 license obtained
-;callingpres=allowed_passed_screen ; Set caller ID presentation
- ; See doc/callingpres.txt for more information
-
-
-;[xlite1]
-; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
-; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
-;type=friend
-;regexten=1234 ; When they register, create extension 1234
-;callerid="Jane Smith" <5678>
-;host=dynamic ; This device needs to register
-;nat=yes ; X-Lite is behind a NAT router
-;canreinvite=no ; Typically set to NO if behind NAT
-;disallow=all
-;allow=gsm ; GSM consumes far less bandwidth than ulaw
-;allow=ulaw
-;allow=alaw
-;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes
-
-
-;[snom]
-;type=friend ; Friends place calls and receive calls
-;context=from-sip ; Context for incoming calls from this user
-;secret=blah
-;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions
-;language=de ; Use German prompts for this user
-;host=dynamic ; This peer register with us
-;dtmfmode=inband ; Choices are inband, rfc2833, or info
-;defaultip=192.168.0.59 ; IP used until peer registers
-;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator
-;subscribemwi=yes ; Only send notifications if this phone
- ; subscribes for mailbox notification
-;vmexten=voicemail ; dialplan extension to reach mailbox
- ; sets the Message-Account in the MWI notify message
- ; defaults to global vmexten which defaults to "asterisk"
-;disallow=all
-;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw!
-
-
-;[polycom]
-;type=friend ; Friends place calls and receive calls
-;context=from-sip ; Context for incoming calls from this user
-;secret=blahpoly
-;host=dynamic ; This peer register with us
-;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info
-;username=polly ; Username to use in INVITE until peer registers
- ; Normally you do NOT need to set this parameter
-;disallow=all
-;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw!
-;progressinband=no ; Polycom phones don't work properly with "never"
-
-
-;[pingtel]
-;type=friend
-;secret=blah
-;host=dynamic
-;insecure=port ; Allow matching of peer by IP address without
- ; matching port number
-;insecure=invite ; Do not require authentication of incoming INVITEs
-;insecure=port,invite ; (both)
-;qualify=1000 ; Consider it down if it's 1 second to reply
- ; Helps with NAT session
- ; qualify=yes uses default value
-;
-; Call group and Pickup group should be in the range from 0 to 63
-;
-;callgroup=1,3-4 ; We are in caller groups 1,3,4
-;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5
-;defaultip=192.168.0.60 ; IP address to use if peer has not registered
-;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address
-;permit=192.168.0.60/255.255.255.0
-
-;[cisco1]
-;type=friend
-;secret=blah
-;qualify=200 ; Qualify peer is no more than 200ms away
-;nat=yes ; This phone may be natted
- ; Send SIP and RTP to the IP address that packet is
- ; received from instead of trusting SIP headers
-;host=dynamic ; This device registers with us
-;canreinvite=no ; Asterisk by default tries to redirect the
- ; RTP media stream (audio) to go directly from
- ; the caller to the callee. Some devices do not
- ; support this (especially if one of them is
- ; behind a NAT).
-;defaultip=192.168.0.4 ; IP address to use until registration
-;username=goran ; Username to use when calling this device before registration
- ; Normally you do NOT need to set this parameter
-;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device
-
-;[pre14-asterisk]
-;type=friend
-;secret=digium
-;host=dynamic
-;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine.
- ; You must have this turned on or DTMF reception will work improperly.
-;t38pt_usertpsource=yes ; Use the source IP address of RTP as the destination IP address for UDPTL packets
- ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the
- ; external IP address of the remote device. If port forwarding is done at the client side
- ; then UDPTL will flow to the remote device.
diff --git a/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf b/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf
deleted file mode 100644
index e076b91..0000000
--- a/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf
+++ /dev/null
@@ -1,79 +0,0 @@
-;
-; DAHDI Telephony Configuration file
-;
-[trunkgroups]
-
-[channels]
-usecallerid=yes
-callwaiting=yes
-usecallingpres=yes
-callwaitingcallerid=yes
-threewaycalling=yes
-transfer=yes
-canpark=yes
-cancallforward=yes
-callreturn=yes
-echocancel=yes
-echocancelwhenbridged=yes
-group=1
-callgroup=1
-pickupgroup=1
-
-; Span 1: B4/0/1 "B4XXP (PCI) Card 0" (MASTER)
-signalling=bri_cpe_ptmp
-switchtype=euroisdn
-overlapdial=yes
-context=from-isdn
-group=11
-channel => 1-2
-
-; Span 2: B4/0/2 "B4XXP (PCI) Card 0"
-signalling=bri_cpe_ptmp
-switchtype=euroisdn
-context=from-isdn
-group=12
-overlapdial=yes
-channel => 4-5
-
-; Span 3: B4/0/3 "B4XXP (PCI) Card 0"
-signalling=bri_cpe_ptmp
-switchtype=euroisdn
-context=from-isdn
-group=13
-overlapdial=yes
-channel => 7-8
-
-; Span 4: B4/0/4 "B4XXP (PCI) Card 0"
-signalling=bri_cpe_ptmp
-switchtype=euroisdn
-context=from-isdn
-group=14
-overlapdial=yes
-;layer1_presence=ignore
-channel => 10-11
-
-; line="13 WCTDM/4/0 FXOKS"
-signalling=fxo_ks
-callerid="Analog Phone" <1>
-overlapdial=yes
-mailbox=11
-group=6
-context=from-pstn
-channel => 13
-
-; line="14 WCTDM/4/1 FXOKS"
-signalling=fxo_ks
-callerid="Analog Phone" <1>
-overlapdial=yes
-mailbox=12
-group=5
-context=from-pstn
-channel => 14
-
-; line="15 WCTDM/4/2 FXSKS"
-signalling=fxs_ks
-callerid=asreceived
-group=4
-context=from-pstn
-channel => 15
-
diff --git a/asterisk-load-tests/full_IO/xhd/conf.py b/asterisk-load-tests/full_IO/xhd/conf.py
deleted file mode 100644
index 7e6b6d4..0000000
--- a/asterisk-load-tests/full_IO/xhd/conf.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*- coding: UTF-8 -*-
-
-from __future__ import unicode_literals
-
-## global configuration
-
-sipp_remote_host = '127.0.0.1'
-
-sipp_local_ip = '127.0.0.1'
-sipp_call_rate = 1.0
-sipp_pause_in_ms = 6000
-sipp_rate_period_in_ms = 18000 + sipp_pause_in_ms
-
-## scenarios configuration
-
-called_line = {
- 'username': 'loadtester2',
- 'bind_port': 5070,
-}
-
-calling_line = {
- 'username': 'loadtester1',
- 'password': 'loadtester1',
-}
-
-# scenarios.call_then_hangup.calling_line = calling_line
-# calling trhough FXS port 1 to reach port FXO on pcb#4 - cf dialplan for 105
-scenarios.call_then_hangup.called_exten = '105'
-
-#scenarios.call_then_wait.calling_line = calling_line
-scenarios.call_then_wait.called_exten = '102'
diff --git a/asterisk-load-tests/full_IO/xhd/extensions.conf b/asterisk-load-tests/full_IO/xhd/extensions.conf
deleted file mode 100644
index 7d862d2..0000000
--- a/asterisk-load-tests/full_IO/xhd/extensions.conf
+++ /dev/null
@@ -1,76 +0,0 @@
-[default]
-; -- Carte Digium B410p
-; appel via le port B410p BRI 1
-exten = _11.,1,NoOp()
-same = n,Dial(DAHDI/g11/${EXTEN:2})
-same = n,Hangup()
-
-; appel via le port B410p BRI 2
-exten = _12.,1,NoOp()
-same = n,Dial(DAHDI/g12/${EXTEN:2})
-same = n,Hangup()
-
-; appel via le port B410p BRI 3
-exten = _13.,1,NoOp()
-same = n,Dial(DAHDI/g13/${EXTEN:2})
-same = n,Hangup()
-
-; appel via le port B410p BRI 4
-exten = _14.,1,NoOp()
-;same = n,Goto(hangup,1)
-same = n,Dial(DAHDI/g14/${EXTEN:2})
-same = n,Hangup()
-
-; -- Carte TDM400
-; appel via le port FXS 1 de la carte TDM400
-exten = 51,1,NoOp()
-same = n,Dial(DAHDI/g6/${EXTEN:2})
-same = n,Hangup()
-
-; appel via le port FXS 2 de la carte TDM400
-exten = 52,1,NoOp()
-same = n,Dial(DAHDI/g5/${EXTEN:2})
-same = n,Hangup()
-
-; appel via le port FXO 1 de la carte TDM400
-exten = 53,1,NoOp()
-same = n,Dial(DAHDI/g4/${EXTEN:2})
-same = n,Hangup()
-
-exten = s,1,NoOp()
-;same = n,Goto(wait-and-hangup,1)
-same = n,Goto(call-loadtester2,1)
-
-exten = wait-and-hangup,1,NoOp()
-same = n,Answer()
-same = n,Wait(60)
-same = n,Hangup()
-
-exten = call-loadtester2,1,NoOp()
-same = n,Dial(SIP/loadtester2)
-same = n,Hangup()
-
-exten = hangup,1,NoOp()
-same = n,Answer()
-same = n,Wait(10)
-same = n,Hangup()
-
-[from-internal]
-include => default
-
-[from-pstn]
-include => default
-
-[from-isdn]
-;include => default
-exten => _X.,1,Answer
- same => n,Echo
- same => n,Hangup
-
-[loadtest]
-exten => s,1,NoOp(Init call for test)
-exten => s,n,Answer
-exten => s,n,Playback(hello-world)
-exten => s,n,Echo
-exten => s,n,Hangup
-
diff --git a/asterisk-load-tests/full_IO/xhd/sip.conf b/asterisk-load-tests/full_IO/xhd/sip.conf
deleted file mode 100644
index 98fad2d..0000000
--- a/asterisk-load-tests/full_IO/xhd/sip.conf
+++ /dev/null
@@ -1,1340 +0,0 @@
-;
-; SIP Configuration example for Asterisk
-;
-; Note: Please read the security documentation for Asterisk in order to
-; understand the risks of installing Asterisk with the sample
-; configuration. If your Asterisk is installed on a public
-; IP address connected to the Internet, you will want to learn
-; about the various security settings BEFORE you start
-; Asterisk.
-;
-; Especially note the following settings:
-; - allowguest (default enabled)
-; - permit/deny - IP address filters
-; - contactpermit/contactdeny - IP address filters for registrations
-; - context - Which set of services you offer various users
-;
-; SIP dial strings
-;-----------------------------------------------------------
-; In the dialplan (extensions.conf) you can use several
-; syntaxes for dialing SIP devices.
-; SIP/devicename
-; SIP/username@domain (SIP uri)
-; SIP/username[:password[:md5secret[:authname[:transport]]]]@host[:port]
-; SIP/devicename/extension
-; SIP/devicename/extension/IPorHost
-; SIP/username@domain//IPorHost
-;
-;
-; Devicename
-; devicename is defined as a peer in a section below.
-;
-; username@domain
-; Call any SIP user on the Internet
-; (Don't forget to enable DNS SRV records if you want to use this)
-;
-; devicename/extension
-; If you define a SIP proxy as a peer below, you may call
-; SIP/proxyhostname/user or SIP/user@proxyhostname
-; where the proxyhostname is defined in a section below
-; This syntax also works with ATA's with FXO ports
-;
-; SIP/username[:password[:md5secret[:authname]]]@host[:port]
-; This form allows you to specify password or md5secret and authname
-; without altering any authentication data in config.
-; Examples:
-;
-; SIP/*98@mysipproxy
-; SIP/sales:topsecret::account02@domain.com:5062
-; SIP/12345678::bc53f0ba8ceb1ded2b70e05c3f91de4f:myname@192.168.0.1
-;
-; IPorHost
-; The next server for this call regardless of domain/peer
-;
-; All of these dial strings specify the SIP request URI.
-; In addition, you can specify a specific To: header by adding an
-; exclamation mark after the dial string, like
-;
-; SIP/sales@mysipproxy!sales@edvina.net
-;
-; A new feature for 1.8 allows one to specify a host or IP address to use
-; when routing the call. This is typically used in tandem with func_srv if
-; multiple methods of reaching the same domain exist. The host or IP address
-; is specified after the third slash in the dialstring. Examples:
-;
-; SIP/devicename/extension/IPorHost
-; SIP/username@domain//IPorHost
-;
-; CLI Commands
-; -------------------------------------------------------------
-; Useful CLI commands to check peers/users:
-; sip show peers Show all SIP peers (including friends)
-; sip show registry Show status of hosts we register with
-;
-; sip set debug on Show all SIP messages
-;
-; sip reload Reload configuration file
-; sip show settings Show the current channel configuration
-;
-;------- Naming devices ------------------------------------------------------
-;
-; When naming devices, make sure you understand how Asterisk matches calls
-; that come in.
-; 1. Asterisk checks the SIP From: address username and matches against
-; names of devices with type=user
-; The name is the text between square brackets [name]
-; 2. Asterisk checks the From: addres and matches the list of devices
-; with a type=peer
-; 3. Asterisk checks the IP address (and port number) that the INVITE
-; was sent from and matches against any devices with type=peer
-;
-; Don't mix extensions with the names of the devices. Devices need a unique
-; name. The device name is *not* used as phone numbers. Phone numbers are
-; anything you declare as an extension in the dialplan (extensions.conf).
-;
-; When setting up trunks, make sure there's no risk that any From: username
-; (caller ID) will match any of your device names, because then Asterisk
-; might match the wrong device.
-;
-; Note: The parameter "username" is not the username and in most cases is
-; not needed at all. Check below. In later releases, it's renamed
-; to "defaultuser" which is a better name, since it is used in
-; combination with the "defaultip" setting.
-;-----------------------------------------------------------------------------
-
-; ** Old configuration options **
-; The "call-limit" configuation option is considered old is replaced
-; by new functionality. To enable callcounters, you use the new
-; "callcounter" setting (for extension states in queue and subscriptions)
-; You are encouraged to use the dialplan groupcount functionality
-; to enforce call limits instead of using this channel-specific method.
-; You can still set limits per device in sip.conf or in a database by using
-; "setvar" to set variables that can be used in the dialplan for various limits.
-
-[general]
-context=default ; Default context for incoming calls
-canreinvite=no
-;allowguest=no ; Allow or reject guest calls (default is yes)
- ; If your Asterisk is connected to the Internet
- ; and you have allowguest=yes
- ; you want to check which services you offer everyone
- ; out there, by enabling them in the default context (see below).
-;match_auth_username=yes ; if available, match user entry using the
- ; 'username' field from the authentication line
- ; instead of the From: field.
-allowoverlap=no ; Disable overlap dialing support. (Default is yes)
-;allowtransfer=no ; Disable all transfers (unless enabled in peers or users)
- ; Default is enabled. The Dial() options 't' and 'T' are not
- ; related as to whether SIP transfers are allowed or not.
-;realm=mydomain.tld ; Realm for digest authentication
- ; defaults to "asterisk". If you set a system name in
- ; asterisk.conf, it defaults to that system name
- ; Realms MUST be globally unique according to RFC 3261
- ; Set this to your host name or domain name
-;domainsasrealm=no ; Use domans list as realms
- ; You can serve multiple Realms specifying several
- ; 'domain=...' directives (see below).
- ; In this case Realm will be based on request 'From'/'To' header
- ; and should match one of domain names.
- ; Otherwise default 'realm=...' will be used.
-
-; With the current situation, you can do one of four things:
-; a) Listen on a specific IPv4 address. Example: bindaddr=192.0.2.1
-; b) Listen on a specific IPv6 address. Example: bindaddr=2001:db8::1
-; c) Listen on the IPv4 wildcard. Example: bindaddr=0.0.0.0
-; d) Listen on the IPv4 and IPv6 wildcards. Example: bindaddr=::
-; (You can choose independently for UDP, TCP, and TLS, by specifying different values for
-; "udpbindaddr", "tcpbindaddr", and "tlsbindaddr".)
-; (Note that using bindaddr=:: will show only a single IPv6 socket in netstat.
-; IPv4 is supported at the same time using IPv4-mapped IPv6 addresses.)
-;
-; You may optionally add a port number. (The default is port 5060 for UDP and TCP, 5061
-; for TLS).
-; IPv4 example: bindaddr=0.0.0.0:5062
-; IPv6 example: bindaddr=[::]:5062
-;
-; The address family of the bound UDP address is used to determine how Asterisk performs
-; DNS lookups. In cases a) and c) above, only A records are considered. In case b), only
-; AAAA records are considered. In case d), both A and AAAA records are considered. Note,
-; however, that Asterisk ignores all records except the first one. In case d), when both A
-; and AAAA records are available, either an A or AAAA record will be first, and which one
-; depends on the operating system. On systems using glibc, AAAA records are given
-; priority.
-
-udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all)
- ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060)
-
-; When a dialog is started with another SIP endpoint, the other endpoint
-; should include an Allow header telling us what SIP methods the endpoint
-; implements. However, some endpoints either do not include an Allow header
-; or lie about what methods they implement. In the former case, Asterisk
-; makes the assumption that the endpoint supports all known SIP methods.
-; If you know that your SIP endpoint does not provide support for a specific
-; method, then you may provide a comma-separated list of methods that your
-; endpoint does not implement in the disallowed_methods option. Note that
-; if your endpoint is truthful with its Allow header, then there is no need
-; to set this option. This option may be set in the general section or may
-; be set per endpoint. If this option is set both in the general section and
-; in a peer section, then the peer setting completely overrides the general
-; setting (i.e. the result is *not* the union of the two options).
-;
-; Note also that while Asterisk currently will parse an Allow header to learn
-; what methods an endpoint supports, the only actual use for this currently
-; is for determining if Asterisk may send connected line UPDATE requests. Its
-; use may be expanded in the future.
-;
-; disallowed_methods = UPDATE
-
-;
-; Note that the TCP and TLS support for chan_sip is currently considered
-; experimental. Since it is new, all of the related configuration options are
-; subject to change in any release. If they are changed, the changes will
-; be reflected in this sample configuration file, as well as in the UPGRADE.txt file.
-;
-tcpenable=no ; Enable server for incoming TCP connections (default is no)
-tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)
- ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060)
-
-;tlsenable=no ; Enable server for incoming TLS (secure) connections (default is no)
-;tlsbindaddr=0.0.0.0 ; IP address for TLS server to bind to (0.0.0.0) binds to all interfaces)
- ; Optionally add a port number, 192.168.1.1:5063 (default is port 5061)
- ; Remember that the IP address must match the common name (hostname) in the
- ; certificate, so you don't want to bind a TLS socket to multiple IP addresses.
- ; For details how to construct a certificate for SIP see
- ; http://tools.ietf.org/html/draft-ietf-sip-domain-certs
-
-srvlookup=yes ; Enable DNS SRV lookups on outbound calls
- ; Note: Asterisk only uses the first host
- ; in SRV records
- ; Disabling DNS SRV lookups disables the
- ; ability to place SIP calls based on domain
- ; names to some other SIP users on the Internet
- ; Specifying a port in a SIP peer definition or
- ; when dialing outbound calls will supress SRV
- ; lookups for that peer or call.
-
-;pedantic=yes ; Enable checking of tags in headers,
- ; international character conversions in URIs
- ; and multiline formatted headers for strict
- ; SIP compatibility (defaults to "no")
-
-; See qos.tex or Quality of Service section of asterisk.pdf for a description of these parameters.
-;tos_sip=cs3 ; Sets TOS for SIP packets.
-;tos_audio=ef ; Sets TOS for RTP audio packets.
-;tos_video=af41 ; Sets TOS for RTP video packets.
-;tos_text=af41 ; Sets TOS for RTP text packets.
-
-;cos_sip=3 ; Sets 802.1p priority for SIP packets.
-;cos_audio=5 ; Sets 802.1p priority for RTP audio packets.
-;cos_video=4 ; Sets 802.1p priority for RTP video packets.
-;cos_text=3 ; Sets 802.1p priority for RTP text packets.
-
-;maxexpiry=3600 ; Maximum allowed time of incoming registrations
- ; and subscriptions (seconds)
-;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60)
-;defaultexpiry=120 ; Default length of incoming/outgoing registration
-;mwiexpiry=3600 ; Expiry time for outgoing MWI subscriptions
-;maxforwards=70 ; Setting for the SIP Max-Forwards: header (loop prevention)
- ; Default value is 70
-;qualifyfreq=60 ; Qualification: How often to check for the host to be up in seconds
- ; Set to low value if you use low timeout for NAT of UDP sessions
- ; Default: 60
-;qualifygap=100 ; Number of milliseconds between each group of peers being qualified
- ; Default: 100
-;qualifypeers=1 ; Number of peers in a group to be qualified at the same time
- ; Default: 1
-;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY
-;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC
- ; fully. Enable this option to not get error messages
- ; when sending MWI to phones with this bug.
-;mwi_from=asterisk ; When sending MWI NOTIFY requests, use this setting in
- ; the From: header as the "name" portion. Also fill the
- ; "user" portion of the URI in the From: header with this
- ; value if no fromuser is set
- ; Default: empty
-;vmexten=voicemail ; dialplan extension to reach mailbox sets the
- ; Message-Account in the MWI notify message
- ; defaults to "asterisk"
-
-;preferred_codec_only=yes ; Respond to a SIP invite with the single most preferred codec
- ; rather than advertising all joint codec capabilities. This
- ; limits the other side's codec choice to exactly what we prefer.
-
-;disallow=all ; First disallow all codecs
-;allow=ulaw ; Allow codecs in order of preference
-;allow=ilbc ; see doc/rtp-packetization for framing options
-;
-; This option specifies a preference for which music on hold class this channel
-; should listen to when put on hold if the music class has not been set on the
-; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
-; channel putting this one on hold did not suggest a music class.
-;
-; This option may be specified globally, or on a per-user or per-peer basis.
-;
-;mohinterpret=default
-;
-; This option specifies which music on hold class to suggest to the peer channel
-; when this channel places the peer on hold. It may be specified globally or on
-; a per-user or per-peer basis.
-;
-;mohsuggest=default
-;
-;parkinglot=plaza ; Sets the default parking lot for call parking
- ; This may also be set for individual users/peers
- ; Parkinglots are configured in features.conf
-;language=en ; Default language setting for all users/peers
- ; This may also be set for individual users/peers
-;relaxdtmf=yes ; Relax dtmf handling
-;trustrpid = no ; If Remote-Party-ID should be trusted
-;sendrpid = yes ; If Remote-Party-ID should be sent (defaults to no)
-;sendrpid = rpid ; Use the "Remote-Party-ID" header
- ; to send the identity of the remote party
- ; This is identical to sendrpid=yes
-;sendrpid = pai ; Use the "P-Asserted-Identity" header
- ; to send the identity of the remote party
-;rpid_update = no ; In certain cases, the only method by which a connected line
- ; change may be immediately transmitted is with a SIP UPDATE request.
- ; If communicating with another Asterisk server, and you wish to be able
- ; transmit such UPDATE messages to it, then you must enable this option.
- ; Otherwise, we will have to wait until we can send a reinvite to
- ; transmit the information.
-;prematuremedia=no ; Some ISDN links send empty media frames before
- ; the call is in ringing or progress state. The SIP
- ; channel will then send 183 indicating early media
- ; which will be empty - thus users get no ring signal.
- ; Setting this to "yes" will stop any media before we have
- ; call progress (meaning the SIP channel will not send 183 Session
- ; Progress for early media). Default is "yes". Also make sure that
- ; the SIP peer is configured with progressinband=never.
- ;
- ; In order for "noanswer" applications to work, you need to run
- ; the progress() application in the priority before the app.
-
-;progressinband=never ; If we should generate in-band ringing always
- ; use 'never' to never use in-band signalling, even in cases
- ; where some buggy devices might not render it
- ; Valid values: yes, no, never Default: never
-;useragent=Asterisk PBX ; Allows you to change the user agent string
- ; The default user agent string also contains the Asterisk
- ; version. If you don't want to expose this, change the
- ; useragent string.
-;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address
- ; Note that promiscredir when redirects are made to the
- ; local system will cause loops since Asterisk is incapable
- ; of performing a "hairpin" call.
-;usereqphone = no ; If yes, ";user=phone" is added to uri that contains
- ; a valid phone number
-;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
- ; Other options:
- ; info : SIP INFO messages (application/dtmf-relay)
- ; shortinfo : SIP INFO messages (application/dtmf)
- ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw)
- ; auto : Use rfc2833 if offered, inband otherwise
-
-;compactheaders = yes ; send compact sip headers.
-;
-;videosupport=yes ; Turn on support for SIP video. You need to turn this
- ; on in this section to get any video support at all.
- ; You can turn it off on a per peer basis if the general
- ; video support is enabled, but you can't enable it for
- ; one peer only without enabling in the general section.
- ; If you set videosupport to "always", then RTP ports will
- ; always be set up for video, even on clients that don't
- ; support it. This assists callfile-derived calls and
- ; certain transferred calls to use always use video when
- ; available. [yes|NO|always]
-
-;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s)
- ; Videosupport and maxcallbitrate is settable
- ; for peers and users as well
-;callevents=no ; generate manager events when sip ua
- ; performs events (e.g. hold)
-;authfailureevents=no ; generate manager "peerstatus" events when peer can't
- ; authenticate with Asterisk. Peerstatus will be "rejected".
-;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected,
- ; for any reason, always reject with an identical response
- ; equivalent to valid username and invalid password/hash
- ; instead of letting the requester know whether there was
- ; a matching user or peer for their request. This reduces
- ; the ability of an attacker to scan for valid SIP usernames.
-
-;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing
- ; order instead of RFC3551 packing order (this is required
- ; for Sipura and Grandstream ATAs, among others). This is
- ; contrary to the RFC3551 specification, the peer _should_
- ; be negotiating AAL2-G726-32 instead :-(
-;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the devices
-;outboundproxy=proxy.provider.domain:8080 ; send outbound signaling to this proxy, not directly to the devices
-;outboundproxy=proxy.provider.domain,force ; Send ALL outbound signalling to proxy, ignoring route: headers
-;outboundproxy=tls://proxy.provider.domain ; same as '=proxy.provider.domain' except we try to connect with tls
-; ; (could also be tcp,udp) - defining transports on the proxy line only
-; ; applies for the global proxy, otherwise use the transport= option
-;matchexternaddrlocally = yes ; Only substitute the externaddr or externhost setting if it matches
- ; your localnet setting. Unless you have some sort of strange network
- ; setup you will not need to enable this.
-
-;dynamic_exclude_static = yes ; Disallow all dynamic hosts from registering
- ; as any IP address used for staticly defined
- ; hosts. This helps avoid the configuration
- ; error of allowing your users to register at
- ; the same address as a SIP provider.
-
-;contactdeny=0.0.0.0/0.0.0.0 ; Use contactpermit and contactdeny to
-;contactpermit=172.16.0.0/255.255.0.0 ; restrict at what IPs your users may
- ; register their phones.
-
-;engine=asterisk ; RTP engine to use when communicating with the device
-
-;
-; If regcontext is specified, Asterisk will dynamically create and destroy a
-; NoOp priority 1 extension for a given peer who registers or unregisters with
-; us and have a "regexten=" configuration item.
-; Multiple contexts may be specified by separating them with '&'. The
-; actual extension is the 'regexten' parameter of the registering peer or its
-; name if 'regexten' is not provided. If more than one context is provided,
-; the context must be specified within regexten by appending the desired
-; context after '@'. More than one regexten may be supplied if they are
-; separated by '&'. Patterns may be used in regexten.
-;
-;regcontext=sipregistrations
-;regextenonqualify=yes ; Default "no"
- ; If you have qualify on and the peer becomes unreachable
- ; this setting will enforce inactivation of the regexten
- ; extension for the peer
-
-; The shrinkcallerid function removes '(', ' ', ')', non-trailing '.', and '-' not
-; in square brackets. For example, the caller id value 555.5555 becomes 5555555
-; when this option is enabled. Disabling this option results in no modification
-; of the caller id value, which is necessary when the caller id represents something
-; that must be preserved. This option can only be used in the [general] section.
-; By default this option is on.
-;
-;shrinkcallerid=yes ; on by default
-
-
-;use_q850_reason = no ; Default "no"
- ; Set to yes add Reason header and use Reason header if it is available.
-;
-;------------------------ TLS settings ------------------------------------------------------------
-;tlscertfile=</path/to/certificate.pem> ; Certificate file (*.pem format only) to use for TLS connections
- ; default is to look for "asterisk.pem" in current directory
-
-;tlsprivatekey=</path/to/private.pem> ; Private key file (*.pem format only) for TLS connections.
- ; If no tlsprivatekey is specified, tlscertfile is searched for
- ; for both public and private key.
-
-;tlscafile=</path/to/certificate>
-; If the server your connecting to uses a self signed certificate
-; you should have their certificate installed here so the code can
-; verify the authenticity of their certificate.
-
-;tlscadir=</path/to/ca/dir>
-; A directory full of CA certificates. The files must be named with
-; the CA subject name hash value.
-; (see man SSL_CTX_load_verify_locations for more info)
-
-;tlsdontverifyserver=[yes|no]
-; If set to yes, don't verify the servers certificate when acting as
-; a client. If you don't have the server's CA certificate you can
-; set this and it will connect without requiring tlscafile to be set.
-; Default is no.
-
-;tlscipher=<SSL cipher string>
-; A string specifying which SSL ciphers to use or not use
-; A list of valid SSL cipher strings can be found at:
-; http://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS
-;
-;tlsclientmethod=tlsv1 ; values include tlsv1, sslv3, sslv2.
- ; Specify protocol for outbound client connections.
- ; If left unspecified, the default is sslv2.
-;
-;--------------------------- SIP timers ----------------------------------------------------
-; These timers are used primarily in INVITE transactions.
-; The default for Timer T1 is 500 ms or the measured run-trip time between
-; Asterisk and the device if you have qualify=yes for the device.
-;
-;t1min=100 ; Minimum roundtrip time for messages to monitored hosts
- ; Defaults to 100 ms
-;timert1=500 ; Default T1 timer
- ; Defaults to 500 ms or the measured round-trip
- ; time to a peer (qualify=yes).
-;timerb=32000 ; Call setup timer. If a provisional response is not received
- ; in this amount of time, the call will autocongest
- ; Defaults to 64*timert1
-
-;--------------------------- RTP timers ----------------------------------------------------
-; These timers are currently used for both audio and video streams. The RTP timeouts
-; are only applied to the audio channel.
-; The settings are settable in the global section as well as per device
-;
-;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity
- ; on the audio channel
- ; when we're not on hold. This is to be able to hangup
- ; a call in the case of a phone disappearing from the net,
- ; like a powerloss or grandma tripping over a cable.
-;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity
- ; on the audio channel
- ; when we're on hold (must be > rtptimeout)
-;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open
- ; (default is off - zero)
-
-;--------------------------- SIP Session-Timers (RFC 4028)------------------------------------
-; SIP Session-Timers provide an end-to-end keep-alive mechanism for active SIP sessions.
-; This mechanism can detect and reclaim SIP channels that do not terminate through normal
-; signaling procedures. Session-Timers can be configured globally or at a user/peer level.
-; The operation of Session-Timers is driven by the following configuration parameters:
-;
-; * session-timers - Session-Timers feature operates in the following three modes:
-; originate : Request and run session-timers always
-; accept : Run session-timers only when requested by other UA
-; refuse : Do not run session timers in any case
-; The default mode of operation is 'accept'.
-; * session-expires - Maximum session refresh interval in seconds. Defaults to 1800 secs.
-; * session-minse - Minimum session refresh interval in seconds. Defualts to 90 secs.
-; * session-refresher - The session refresher (uac|uas). Defaults to 'uas'.
-;
-;session-timers=originate
-;session-expires=600
-;session-minse=90
-;session-refresher=uas
-;
-;--------------------------- SIP DEBUGGING ---------------------------------------------------
-;sipdebug = yes ; Turn on SIP debugging by default, from
- ; the moment the channel loads this configuration
-;recordhistory=yes ; Record SIP history by default
- ; (see sip history / sip no history)
-;dumphistory=yes ; Dump SIP history at end of SIP dialogue
- ; SIP history is output to the DEBUG logging channel
-
-
-;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ----------------------------
-; You can subscribe to the status of extensions with a "hint" priority
-; (See extensions.conf.sample for examples)
-; chan_sip support two major formats for notifications: dialog-info and SIMPLE
-;
-; You will get more detailed reports (busy etc) if you have a call counter enabled
-; for a device.
-;
-; If you set the busylevel, we will indicate busy when we have a number of calls that
-; matches the busylevel treshold.
-;
-; For queues, you will need this level of detail in status reporting, regardless
-; if you use SIP subscriptions. Queues and manager use the same internal interface
-; for reading status information.
-;
-; Note: Subscriptions does not work if you have a realtime dialplan and use the
-; realtime switch.
-;
-;allowsubscribe=no ; Disable support for subscriptions. (Default is yes)
-;subscribecontext = default ; Set a specific context for SUBSCRIBE requests
- ; Useful to limit subscriptions to local extensions
- ; Settable per peer/user also
-;notifyringing = no ; Control whether subscriptions already INUSE get sent
- ; RINGING when another call is sent (default: yes)
-;notifyhold = yes ; Notify subscriptions on HOLD state (default: no)
- ; Turning on notifyringing and notifyhold will add a lot
- ; more database transactions if you are using realtime.
-;notifycid = yes ; Control whether caller ID information is sent along with
- ; dialog-info+xml notifications (supported by snom phones).
- ; Note that this feature will only work properly when the
- ; incoming call is using the same extension and context that
- ; is being used as the hint for the called extension. This means
- ; that it won't work when using subscribecontext for your sip
- ; user or peer (if subscribecontext is different than context).
- ; This is also limited to a single caller, meaning that if an
- ; extension is ringing because multiple calls are incoming,
- ; only one will be used as the source of caller ID. Specify
- ; 'ignore-context' to ignore the called context when looking
- ; for the caller's channel. The default value is 'no.' Setting
- ; notifycid to 'ignore-context' also causes call-pickups attempted
- ; via SNOM's NOTIFY mechanism to set the context for the call pickup
- ; to PICKUPMARK.
-;callcounter = yes ; Enable call counters on devices. This can be set per
- ; device too.
-
-;----------------------------------------- T.38 FAX SUPPORT ----------------------------------
-;
-; This setting is available in the [general] section as well as in device configurations.
-; Setting this to yes enables T.38 FAX (UDPTL) on SIP calls; it defaults to off.
-;
-; t38pt_udptl = yes ; Enables T.38 with FEC error correction.
-; t38pt_udptl = yes,fec ; Enables T.38 with FEC error correction.
-; t38pt_udptl = yes,redundancy ; Enables T.38 with redundancy error correction.
-; t38pt_udptl = yes,none ; Enables T.38 with no error correction.
-;
-; In some cases, T.38 endpoints will provide a T38FaxMaxDatagram value (during T.38 setup) that
-; is based on an incorrect interpretation of the T.38 recommendation, and results in failures
-; because Asterisk does not believe it can send T.38 packets of a reasonable size to that
-; endpoint (Cisco media gateways are one example of this situation). In these cases, during a
-; T.38 call you will see warning messages on the console/in the logs from the Asterisk UDPTL
-; stack complaining about lack of buffer space to send T.38 FAX packets. If this occurs, you
-; can set an override (globally, or on a per-device basis) to make Asterisk ignore the
-; T38FaxMaxDatagram value specified by the other endpoint, and use a configured value instead.
-; This can be done by appending 'maxdatagram=<value>' to the t38pt_udptl configuration option,
-; like this:
-;
-; t38pt_udptl = yes,fec,maxdatagram=400 ; Enables T.38 with FEC error correction and overrides
-; ; the other endpoint's provided value to assume we can
-; ; send 400 byte T.38 FAX packets to it.
-;
-; FAX detection will cause the SIP channel to jump to the 'fax' extension (if it exists)
-; based one or more events being detected. The events that can be detected are an incoming
-; CNG tone or an incoming T.38 re-INVITE request.
-;
-; faxdetect = yes ; Default 'no', 'yes' enables both CNG and T.38 detection
-; faxdetect = cng ; Enables only CNG detection
-; faxdetect = t38 ; Enables only T.38 detection
-;
-;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------
-; Asterisk can register as a SIP user agent to a SIP proxy (provider)
-; Format for the register statement is:
-; register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]
-
-;register => 666:666:666@tolapai
-
-;
-;
-;
-; domain is either
-; - domain in DNS
-; - host name in DNS
-; - the name of a peer defined below or in realtime
-; The domain is where you register your username, so your SIP uri you are registering to
-; is username@domain
-;
-; If no extension is given, the 's' extension is used. The extension needs to
-; be defined in extensions.conf to be able to accept calls from this SIP proxy
-; (provider).
-;
-; A similar effect can be achieved by adding a "callbackextension" option in a peer section.
-; this is equivalent to having the following line in the general section:
-;
-; register => username:secret@host/callbackextension
-;
-; and more readable because you don't have to write the parameters in two places
-; (note that the "port" is ignored - this is a bug that should be fixed).
-;
-; Note that a register= line doesn't mean that we will match the incoming call in any
-; other way than described above. If you want to control where the call enters your
-; dialplan, which context, you want to define a peer with the hostname of the provider's
-; server. If the provider has multiple servers to place calls to your system, you need
-; a peer for each server.
-;
-; Beginning with Asterisk version 1.6.2, the "user" portion of the register line may
-; contain a port number. Since the logical separator between a host and port number is a
-; ':' character, and this character is already used to separate between the optional "secret"
-; and "authuser" portions of the line, there is a bit of a hoop to jump through if you wish
-; to use a port here. That is, you must explicitly provide a "secret" and "authuser" even if
-; they are blank. See the third example below for an illustration.
-;
-;
-; Examples:
-;
-;register => 1234:password@mysipprovider.com
-;
-; This will pass incoming calls to the 's' extension
-;
-;
-;register => 2345:password@sip_proxy/1234
-;
-; Register 2345 at sip provider 'sip_proxy'. Calls from this provider
-; connect to local extension 1234 in extensions.conf, default context,
-; unless you configure a [sip_proxy] section below, and configure a
-; context.
-; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com]
-; Tip 2: Use separate inbound and outbound sections for SIP providers
-; (instead of type=friend) if you have calls in both directions
-;
-;register => 3456@mydomain:5082::@mysipprovider.com
-;
-; Note that in this example, the optional authuser and secret portions have
-; been left blank because we have specified a port in the user section
-;
-;register => tls://username:xxxxxx@sip-tls-proxy.example.org
-;
-; The 'transport' part defaults to 'udp' but may also be 'tcp' or 'tls'.
-; Using 'udp://' explicitly is also useful in case the username part
-; contains a '/' ('user/name').
-
-;registertimeout=20 ; retry registration calls every 20 seconds (default)
-;registerattempts=10 ; Number of registration attempts before we give up
- ; 0 = continue forever, hammering the other server
- ; until it accepts the registration
- ; Default is 0 tries, continue forever
-
-;----------------------------------------- OUTBOUND MWI SUBSCRIPTIONS -------------------------
-; Asterisk can subscribe to receive the MWI from another SIP server and store it locally for retrieval
-; by other phones.
-; Format for the mwi register statement is:
-; mwi => user[:secret[:authuser]]@host[:port][/mailbox]
-;
-; Examples:
-;mwi => 1234:password@mysipprovider.com/1234
-;
-; MWI received will be stored in the 1234 mailbox of the SIP_Remote context. It can be used by other phones by following the below:
-; mailbox=1234@SIP_Remote
-;----------------------------------------- NAT SUPPORT ------------------------
-;
-; WARNING: SIP operation behind a NAT is tricky and you really need
-; to read and understand well the following section.
-;
-; When Asterisk is behind a NAT device, the "local" address (and port) that
-; a socket is bound to has different values when seen from the inside or
-; from the outside of the NATted network. Unfortunately this address must
-; be communicated to the outside (e.g. in SIP and SDP messages), and in
-; order to determine the correct value Asterisk needs to know:
-;
-; + whether it is talking to someone "inside" or "outside" of the NATted network.
-; This is configured by assigning the "localnet" parameter with a list
-; of network addresses that are considered "inside" of the NATted network.
-; IF LOCALNET IS NOT SET, THE EXTERNAL ADDRESS WILL NOT BE SET CORRECTLY.
-; Multiple entries are allowed, e.g. a reasonable set is the following:
-;
-; localnet=192.168.0.0/255.255.0.0 ; RFC 1918 addresses
-; localnet=10.0.0.0/255.0.0.0 ; Also RFC1918
-; localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation
-; localnet=169.254.0.0/255.255.0.0 ; Zero conf local network
-;
-; + the "externally visible" address and port number to be used when talking
-; to a host outside the NAT. This information is derived by one of the
-; following (mutually exclusive) config file parameters:
-;
-; a. "externaddr = hostname[:port]" specifies a static address[:port] to
-; be used in SIP and SDP messages.
-; The hostname is looked up only once, when [re]loading sip.conf .
-; If a port number is not present, use the port specified in the "udpbindaddr"
-; (which is not guaranteed to work correctly, because a NAT box might remap the
-; port number as well as the address).
-; This approach can be useful if you have a NAT device where you can
-; configure the mapping statically. Examples:
-;
-; externaddr = 12.34.56.78 ; use this address.
-; externaddr = 12.34.56.78:9900 ; use this address and port.
-; externaddr = mynat.my.org:12600 ; Public address of my nat box.
-; externtcpport = 9900 ; The externally mapped tcp port, when Asterisk is behind a static NAT or PAT.
-; ; externtcpport will default to the externaddr or externhost port if either one is set.
-; externtlsport = 12600 ; The externally mapped tls port, when Asterisk is behind a static NAT or PAT.
-; ; externtlsport port will default to the RFC designated port of 5061.
-;
-; b. "externhost = hostname[:port]" is similar to "externaddr" except
-; that the hostname is looked up every "externrefresh" seconds
-; (default 10s). This can be useful when your NAT device lets you choose
-; the port mapping, but the IP address is dynamic.
-; Beware, you might suffer from service disruption when the name server
-; resolution fails. Examples:
-;
-; externhost=foo.dyndns.net ; refreshed periodically
-; externrefresh=180 ; change the refresh interval
-;
-; c. "stunaddr = stun.server[:port]" queries the STUN server specified
-; as an argument to obtain the external address/port.
-; Queries are also sent periodically every "externrefresh" seconds
-; (as a side effect, sending the query also acts as a keepalive for
-; the state entry on the nat box):
-;
-; stunaddr = foo.stun.com:3478
-; externrefresh = 15
-;
-; NOTE: STUN is only implemented for IPv4.
-;
-; Note that at the moment all these mechanism work only for the SIP socket.
-; The IP address discovered with externaddr/externhost/STUN is reused for
-; media sessions as well, but the port numbers are not remapped so you
-; may still experience problems.
-;
-; NOTE 1: in some cases, NAT boxes will use different port numbers in
-; the internal<->external mapping. In these cases, the "externaddr" and
-; "externhost" might not help you configure addresses properly, and you
-; really need to use STUN.
-;
-; NOTE 2: when using "externaddr" or "externhost", the address part is
-; also used as the external address for media sessions. Even if you
-; use "stunaddr", STUN queries will be sent only from the SIP port,
-; not from media sockets. Thus, the port information in the SDP may be wrong!
-;
-; In addition to the above, Asterisk has an additional "nat" parameter to
-; address NAT-related issues in incoming SIP or media sessions.
-; In particular, depending on the 'nat= ' settings described below, Asterisk
-; may override the address/port information specified in the SIP/SDP messages,
-; and use the information (sender address) supplied by the network stack instead.
-; However, this is only useful if the external traffic can reach us.
-; The following settings are allowed (both globally and in individual sections):
-;
-; nat = no ; Default. Use rport if the remote side says to use it.
-; nat = force_rport ; Force rport to always be on.
-; nat = yes ; Force rport to always be on and perform comedia RTP handling.
-; nat = comedia ; Use rport if the remote side says to use it and perform comedia RTP handling.
-;
-; 'comedia RTP handling' refers to the technique of sending RTP to the port that the
-; the other endpoint's RTP arrived from, and means 'connection-oriented media'. This is
-; only partially related to RFC 4145 which was referred to as COMEDIA while it was in
-; draft form. This method is used to accomodate endpoints that may be located behind
-; NAT devices, and as such the port number they tell Asterisk to send RTP packets to
-; for their media streams is not actual port number that will be used on the nearer
-; side of the NAT.
-;
-; In addition to these settings, Asterisk *always* uses 'symmetric RTP' mode as defined by
-; RFC 4961; Asterisk will always send RTP packets from the same port number it expects
-; to receive them on.
-;
-; The IP address used for media (audio, video, and text) in the SDP can also be overridden by using
-; the media_address configuration option. This is only applicable to the general section and
-; can not be set per-user or per-peer.
-;
-; media_address = 172.16.42.1
-
-;----------------------------------- MEDIA HANDLING --------------------------------
-; By default, Asterisk tries to re-invite media streams to an optimal path. If there's
-; no reason for Asterisk to stay in the media path, the media will be redirected.
-; This does not really work well in the case where Asterisk is outside and the
-; clients are on the inside of a NAT. In that case, you want to set directmedia=nonat.
-;
-;directmedia=yes ; Asterisk by default tries to redirect the
- ; RTP media stream to go directly from
- ; the caller to the callee. Some devices do not
- ; support this (especially if one of them is behind a NAT).
- ; The default setting is YES. If you have all clients
- ; behind a NAT, or for some other reason want Asterisk to
- ; stay in the audio path, you may want to turn this off.
-
- ; This setting also affect direct RTP
- ; at call setup (a new feature in 1.4 - setting up the
- ; call directly between the endpoints instead of sending
- ; a re-INVITE).
-
- ; Additionally this option does not disable all reINVITE operations.
- ; It only controls Asterisk generating reINVITEs for the specific
- ; purpose of setting up a direct media path. If a reINVITE is
- ; needed to switch a media stream to inactive (when placed on
- ; hold) or to T.38, it will still be done, regardless of this
- ; setting. Note that direct T.38 is not supported.
-
-;directmedia=nonat ; An additional option is to allow media path redirection
- ; (reinvite) but only when the peer where the media is being
- ; sent is known to not be behind a NAT (as the RTP core can
- ; determine it based on the apparent IP address the media
- ; arrives from).
-
-;directmedia=update ; Yet a third option... use UPDATE for media path redirection,
- ; instead of INVITE. This can be combined with 'nonat', as
- ; 'directmedia=update,nonat'. It implies 'yes'.
-
-;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up
- ; the call directly with media peer-2-peer without re-invites.
- ; Will not work for video and cases where the callee sends
- ; RTP payloads and fmtp headers in the 200 OK that does not match the
- ; callers INVITE. This will also fail if directmedia is enabled when
- ; the device is actually behind NAT.
-
-;directmediadeny=0.0.0.0/0 ; Use directmediapermit and directmediadeny to restrict
-;directmediapermit=172.16.0.0/16; which peers should be able to pass directmedia to each other
- ; (There is no default setting, this is just an example)
- ; Use this if some of your phones are on IP addresses that
- ; can not reach each other directly. This way you can force
- ; RTP to always flow through asterisk in such cases.
-
-;ignoresdpversion=yes ; By default, Asterisk will honor the session version
- ; number in SDP packets and will only modify the SDP
- ; session if the version number changes. This option will
- ; force asterisk to ignore the SDP session version number
- ; and treat all SDP data as new data. This is required
- ; for devices that send us non standard SDP packets
- ; (observed with Microsoft OCS). By default this option is
- ; off.
-
-;sdpsession=Asterisk PBX ; Allows you to change the SDP session name string, (s=)
- ; Like the useragent parameter, the default user agent string
- ; also contains the Asterisk version.
-;sdpowner=root ; Allows you to change the username field in the SDP owner string, (o=)
- ; This field MUST NOT contain spaces
-
-;----------------------------------------- REALTIME SUPPORT ------------------------
-; For additional information on ARA, the Asterisk Realtime Architecture,
-; please read realtime.txt and extconfig.txt in the /doc directory of the
-; source code.
-;
-;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list
- ; just like friends added from the config file only on a
- ; as-needed basis? (yes|no)
-
-;rtsavesysname=yes ; Save systemname in realtime database at registration
- ; Default= no
-
-;rtupdate=yes ; Send registry updates to database using realtime? (yes|no)
- ; If set to yes, when a SIP UA registers successfully, the ip address,
- ; the origination port, the registration period, and the username of
- ; the UA will be set to database via realtime.
- ; If not present, defaults to 'yes'. Note: realtime peers will
- ; probably not function across reloads in the way that you expect, if
- ; you turn this option off.
-;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule
- ; as if it had just registered? (yes|no|<seconds>)
- ; If set to yes, when the registration expires, the friend will
- ; vanish from the configuration until requested again. If set
- ; to an integer, friends expire within this number of seconds
- ; instead of the registration interval.
-
-;ignoreregexpire=yes ; Enabling this setting has two functions:
- ;
- ; For non-realtime peers, when their registration expires, the
- ; information will _not_ be removed from memory or the Asterisk database
- ; if you attempt to place a call to the peer, the existing information
- ; will be used in spite of it having expired
- ;
- ; For realtime peers, when the peer is retrieved from realtime storage,
- ; the registration information will be used regardless of whether
- ; it has expired or not; if it expires while the realtime peer
- ; is still in memory (due to caching or other reasons), the
- ; information will not be removed from realtime storage
-
-;----------------------------------------- SIP DOMAIN SUPPORT ------------------------
-; Incoming INVITE and REFER messages can be matched against a list of 'allowed'
-; domains, each of which can direct the call to a specific context if desired.
-; By default, all domains are accepted and sent to the default context or the
-; context associated with the user/peer placing the call.
-; REGISTER to non-local domains will be automatically denied if a domain
-; list is configured.
-;
-; Domains can be specified using:
-; domain=<domain>[,<context>]
-; Examples:
-; domain=myasterisk.dom
-; domain=customer.com,customer-context
-;
-; In addition, all the 'default' domains associated with a server should be
-; added if incoming request filtering is desired.
-; autodomain=yes
-;
-; To disallow requests for domains not serviced by this server:
-; allowexternaldomains=no
-
-;domain=mydomain.tld,mydomain-incoming
- ; Add domain and configure incoming context
- ; for external calls to this domain
-;domain=1.2.3.4 ; Add IP address as local domain
- ; You can have several "domain" settings
-;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains
- ; Default is yes
-;autodomain=yes ; Turn this on to have Asterisk add local host
- ; name and local IP to domain list.
-
-; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to
- ; non-peers, use your primary domain "identity"
- ; for From: headers instead of just your IP
- ; address. This is to be polite and
- ; it may be a mandatory requirement for some
- ; destinations which do not have a prior
- ; account relationship with your server.
-
-;------------------------------ Advice of Charge CONFIGURATION --------------------------
-; snom_aoc_enabled = yes; ; This options turns on and off support for sending AOC-D and
- ; AOC-E to snom endpoints. This option can be used both in the
- ; peer and global scope. The default for this option is off.
-
-
-;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
-; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
- ; SIP channel. Defaults to "no". An enabled jitterbuffer will
- ; be used only if the sending side can create and the receiving
- ; side can not accept jitter. The SIP channel can accept jitter,
- ; thus a jitterbuffer on the receive SIP side will be used only
- ; if it is forced and enabled.
-
-; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP
- ; channel. Defaults to "no".
-
-; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
-
-; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
- ; resynchronized. Useful to improve the quality of the voice, with
- ; big jumps in/broken timestamps, usually sent from exotic devices
- ; and programs. Defaults to 1000.
-
-; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP
- ; channel. Two implementations are currently available - "fixed"
- ; (with size always equals to jbmaxsize) and "adaptive" (with
- ; variable size, actually the new jb of IAX2). Defaults to fixed.
-
-; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
- ; The option represents the number of milliseconds by which the new jitter buffer
- ; will pad its size. the default is 40, so without modification, the new
- ; jitter buffer will set its size to the jitter value plus 40 milliseconds.
- ; increasing this value may help if your network normally has low jitter,
- ; but occasionally has spikes.
-
-; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
-;-----------------------------------------------------------------------------------
-
-[authentication]
-; Global credentials for outbound calls, i.e. when a proxy challenges your
-; Asterisk server for authentication. These credentials override
-; any credentials in peer/register definition if realm is matched.
-;
-; This way, Asterisk can authenticate for outbound calls to other
-; realms. We match realm on the proxy challenge and pick an set of
-; credentials from this list
-; Syntax:
-; auth = <user>:<secret>@<realm>
-; auth = <user>#<md5secret>@<realm>
-; Example:
-auth=666:666@tolapai
-;
-; You may also add auth= statements to [peer] definitions
-; Peer auth= override all other authentication settings if we match on realm
-
-;------------------------------------------------------------------------------
-; DEVICE CONFIGURATION
-;
-; The SIP channel has two types of devices, the friend and the peer.
-; * The type=friend is a device type that accepts both incoming and outbound calls,
-; where Asterisk match on the From: username on incoming calls.
-; (A synonym for friend is "user"). This is a type you use for your local
-; SIP phones.
-; * The type=peer also handles both incoming and outbound calls. On inbound calls,
-; Asterisk only matches on IP/port, not on names. This is mostly used for SIP
-; trunks.
-;
-; For device names, we recommend using only a-z, numerics (0-9) and underscore
-;
-; For local phones, type=friend works most of the time
-;
-; If you have one-way audio, you probably have NAT problems.
-; If Asterisk is on a public IP, and the phone is inside of a NAT device
-; you will need to configure nat option for those phones.
-; Also, turn on qualify=yes to keep the nat session open
-;
-; Configuration options available
-; --------------------
-; context
-; callingpres
-; permit
-; deny
-; secret
-; md5secret
-; remotesecret
-; transport
-; dtmfmode
-; directmedia
-; nat
-; callgroup
-; pickupgroup
-; language
-; allow
-; disallow
-; insecure
-; trustrpid
-; progressinband
-; promiscredir
-; useclientcode
-; accountcode
-; setvar
-; callerid
-; amaflags
-; callcounter
-; busylevel
-; allowoverlap
-; allowsubscribe
-; allowtransfer
-; ignoresdpversion
-; subscribecontext
-; template
-; videosupport
-; maxcallbitrate
-; rfc2833compensate
-; mailbox
-; session-timers
-; session-expires
-; session-minse
-; session-refresher
-; t38pt_usertpsource
-; regexten
-; fromdomain
-; fromuser
-; host
-; port
-; qualify
-; defaultip
-; defaultuser
-; rtptimeout
-; rtpholdtimeout
-; sendrpid
-; outboundproxy
-; rfc2833compensate
-; callbackextension
-; registertrying
-; timert1
-; timerb
-; qualifyfreq
-; t38pt_usertpsource
-; contactpermit ; Limit what a host may register as (a neat trick
-; contactdeny ; is to register at the same IP as a SIP provider,
-; ; then call oneself, and get redirected to that
-; ; same location).
-; directmediapermit
-; directmediadeny
-; unsolicited_mailbox
-; use_q850_reason
-; maxforwards
-
-;[sip_proxy]
-; For incoming calls only. Example: FWD (Free World Dialup)
-; We match on IP address of the proxy for incoming calls
-; since we can not match on username (caller id)
-;type=peer
-;context=from-fwd
-;host=fwd.pulver.com
-
-;[sip_proxy-out]
-;type=peer ; we only want to call out, not be called
-;remotesecret=guessit ; Our password to their service
-;defaultuser=yourusername ; Authentication user for outbound proxies
-;fromuser=yourusername ; Many SIP providers require this!
-;fromdomain=provider.sip.domain
-;host=box.provider.com
-;transport=udp,tcp ; This sets the default transport type to udp for outgoing, and will
-; ; accept both tcp and udp. The default transport type is only used for
-; ; outbound messages until a Registration takes place. During the
-; ; peer Registration the transport type may change to another supported
-; ; type if the peer requests so.
-
-;usereqphone=yes ; This provider requires ";user=phone" on URI
-;callcounter=yes ; Enable call counter
-;busylevel=2 ; Signal busy at 2 or more calls
-;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer
-;port=80 ; The port number we want to connect to on the remote side
- ; Also used as "defaultport" in combination with "defaultip" settings
-
-;--- sample definition for a provider
-;[provider1]
-;type=peer
-;host=sip.provider1.com
-;fromuser=4015552299 ; how your provider knows you
-;remotesecret=youwillneverguessit ; The password we use to authenticate to them
-;secret=gissadetdu ; The password they use to contact us
-;callbackextension=123 ; Register with this server and require calls coming back to this extension
-;transport=udp,tcp ; This sets the transport type to udp for outgoing, and will
-; ; accept both tcp and udp. Default is udp. The first transport
-; ; listed will always be used for outgoing connections.
-;unsolicited_mailbox=4015552299 ; If the remote SIP server sends an unsolicited MWI NOTIFY message the new/old
-; ; message count will be stored in the configured virtual mailbox. It can be used
-; ; by any device supporting MWI by specifying <configured value>@SIP_Remote as the
-; ; mailbox.
-
-;
-; Because you might have a large number of similar sections, it is generally
-; convenient to use templates for the common parameters, and add them
-; the the various sections. Examples are below, and we can even leave
-; the templates uncommented as they will not harm:
-
-[basic-options](!) ; a template
- dtmfmode=rfc2833
- context=from-office
- type=friend
-
-[natted-phone](!,basic-options) ; another template inheriting basic-options
- nat=yes
- directmedia=no
- host=dynamic
-
-[public-phone](!,basic-options) ; another template inheriting basic-options
- nat=no
- directmedia=yes
-
-[my-codecs](!) ; a template for my preferred codecs
- disallow=all
- allow=ilbc
- allow=g729
- allow=gsm
- allow=g723
- allow=ulaw
-
-[ulaw-phone](!) ; and another one for ulaw-only
- disallow=all
- allow=ulaw
-
-;[lol]
-;context=default
-;type=peer
-;host=tolapai
-;fromuser=lol
-;secret=lol
-;
-; and finally instantiate a few phones
-;
-; [2133](natted-phone,my-codecs)
-; secret = peekaboo
-; [2134](natted-phone,ulaw-phone)
-; secret = not_very_secret
-; [2136](public-phone,ulaw-phone)
-; secret = not_very_secret_either
-; ...
-;
-
-; Standard configurations not using templates look like this:
-;
-;[grandstream1]
-;type=friend
-;context=from-sip ; Where to start in the dialplan when this phone calls
-;callerid=John Doe <1234> ; Full caller ID, to override the phones config
- ; on incoming calls to Asterisk
-;host=192.168.0.23 ; we have a static but private IP address
- ; No registration allowed
-;nat=no ; there is not NAT between phone and Asterisk
-;directmedia=yes ; allow RTP voice traffic to bypass Asterisk
-;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone
-;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time
- ; from the phone to asterisk (deprecated)
- ; 1 for the explicit peer, 1 for the explicit user,
- ; remember that a friend equals 1 peer and 1 user in
- ; memory
- ; There is no combined call counter for a "friend"
- ; so there's currently no way in sip.conf to limit
- ; to one inbound or outbound call per phone. Use
- ; the group counters in the dial plan for that.
- ;
-;mailbox=1234@default ; mailbox 1234 in voicemail context "default"
-;disallow=all ; need to disallow=all before we can use allow=
-;allow=ulaw ; Note: In user sections the order of codecs
- ; listed with allow= does NOT matter!
-;allow=alaw
-;allow=g723.1 ; Asterisk only supports g723.1 pass-thru!
-;allow=g729 ; Pass-thru only unless g729 license obtained
-;callingpres=allowed_passed_screen ; Set caller ID presentation
- ; See README.callingpres for more information
-
-;[xlite1]
-; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
-; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
-;type=friend
-;regexten=1234 ; When they register, create extension 1234
-;callerid="Jane Smith" <5678>
-;host=dynamic ; This device needs to register
-;nat=yes ; X-Lite is behind a NAT router
-;directmedia=no ; Typically set to NO if behind NAT
-;disallow=all
-;allow=gsm ; GSM consumes far less bandwidth than ulaw
-;allow=ulaw
-;allow=alaw
-;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes
-;registertrying=yes ; Send a 100 Trying when the device registers.
-
-;[snom]
-;type=friend ; Friends place calls and receive calls
-;context=from-sip ; Context for incoming calls from this user
-;secret=blah
-;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions
-;language=de ; Use German prompts for this user
-;host=dynamic ; This peer register with us
-;dtmfmode=inband ; Choices are inband, rfc2833, or info
-;defaultip=192.168.0.59 ; IP used until peer registers
-;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator
-;subscribemwi=yes ; Only send notifications if this phone
- ; subscribes for mailbox notification
-;vmexten=voicemail ; dialplan extension to reach mailbox
- ; sets the Message-Account in the MWI notify message
- ; defaults to global vmexten which defaults to "asterisk"
-;disallow=all
-;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw!
-
-
-;[polycom]
-;type=friend ; Friends place calls and receive calls
-;context=from-sip ; Context for incoming calls from this user
-;secret=blahpoly
-;host=dynamic ; This peer register with us
-;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info
-;defaultuser=polly ; Username to use in INVITE until peer registers
-;defaultip=192.168.40.123
- ; Normally you do NOT need to set this parameter
-;disallow=all
-;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw!
-;progressinband=no ; Polycom phones don't work properly with "never"
-
-
-;[pingtel]
-;type=friend
-;secret=blah
-;host=dynamic
-;insecure=port ; Allow matching of peer by IP address without
- ; matching port number
-;insecure=invite ; Do not require authentication of incoming INVITEs
-;insecure=port,invite ; (both)
-;qualify=1000 ; Consider it down if it's 1 second to reply
- ; Helps with NAT session
- ; qualify=yes uses default value
-;qualifyfreq=60 ; Qualification: How often to check for the
- ; host to be up in seconds
- ; Set to low value if you use low timeout for
- ; NAT of UDP sessions
-;
-; Call group and Pickup group should be in the range from 0 to 63
-;
-;callgroup=1,3-4 ; We are in caller groups 1,3,4
-;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5
-;defaultip=192.168.0.60 ; IP address to use if peer has not registered
-;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address
-;permit=192.168.0.60/255.255.255.0
-;permit=192.168.0.60/24 ; we can also use CIDR notation for subnet masks
-;permit=2001:db8::/32 ; IPv6 ACLs can be specified if desired. IPv6 ACLs
- ; apply only to IPv6 addresses, and IPv4 ACLs apply
- ; only to IPv4 addresses.
-
-;[cisco1]
-;type=friend
-;secret=blah
-;qualify=200 ; Qualify peer is no more than 200ms away
-;nat=yes ; This phone may be natted
- ; Send SIP and RTP to the IP address that packet is
- ; received from instead of trusting SIP headers
-;host=dynamic ; This device registers with us
-;directmedia=no ; Asterisk by default tries to redirect the
- ; RTP media stream (audio) to go directly from
- ; the caller to the callee. Some devices do not
- ; support this (especially if one of them is
- ; behind a NAT).
-;defaultip=192.168.0.4 ; IP address to use until registration
-;defaultuser=goran ; Username to use when calling this device before registration
- ; Normally you do NOT need to set this parameter
-;setvar=CUSTID=5678 ; Channel variable to be set for all calls from or to this device
-;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
- ; cause the given audio file to
- ; be played upon completion of
- ; an attended transfer.
-
-;[pre14-asterisk]
-;type=friend
-;secret=digium
-;host=dynamic
-;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine.
- ; You must have this turned on or DTMF reception will work improperly.
-;t38pt_usertpsource=yes ; Use the source IP address of RTP as the destination IP address for UDPTL packets
- ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the
- ; external IP address of the remote device. If port forwarding is done at the client side
- ; then UDPTL will flow to the remote device.
-
-[loadtester1]
-transport = udp
-directmedia = no
-context = default
-callerid = "Loadtester1" <loadtester1>
-secret = loadtester1
-type = friend
-
-[loadtester2]
-transport = udp
-directmedia = no
-context = default
-callerid = "Loadtester2" <loadtester2>
-secret = loadtester2
-type = friend
-host = 127.0.0.1
-port = 5070
-
-[phone1]
-transport = udp
-directmedia = no
-context = default
-callerid = "Phone 1" <phone1>
-secret = phone1
-type = friend
-host = dynamic
diff --git a/asterisk-load-tests/full_IO/xhd/system.conf b/asterisk-load-tests/full_IO/xhd/system.conf
deleted file mode 100644
index 39837f3..0000000
--- a/asterisk-load-tests/full_IO/xhd/system.conf
+++ /dev/null
@@ -1,44 +0,0 @@
-# Autogenerated by /usr/sbin/dahdi_genconf on Fri Apr 20 18:08:28 2012
-# If you edit this file and execute /usr/sbin/dahdi_genconf again,
-# your manual changes will be LOST.
-# Dahdi Configuration File
-#
-# This file is parsed by the Dahdi Configurator, dahdi_cfg
-#
-# Span 1: B4/0/1 "B4XXP (PCI) Card 0 Span 1" (MASTER)
-span=1,1,0,ccs,ami,te
-bchan=1-2
-hardhdlc=3
-echocanceller=mg2,1-2
-
-# Span 2: B4/0/2 "B4XXP (PCI) Card 0 Span 2"
-span=2,2,0,ccs,ami,te
-bchan=4-5
-hardhdlc=6
-echocanceller=mg2,4-5
-
-# Span 3: B4/0/3 "B4XXP (PCI) Card 0 Span 3"
-span=3,3,0,ccs,ami,te
-bchan=7-8
-hardhdlc=9
-echocanceller=mg2,7-8
-
-# Span 4: B4/0/4 "B4XXP (PCI) Card 0 Span 4" YELLOW
-span=4,4,0,ccs,ami,te
-bchan=10-11
-hardhdlc=12
-echocanceller=mg2,10-11
-
-# Span 5: WCTDM/4 "Wildcard TDM400P REV I Board 5"
-fxoks=13
-echocanceller=mg2,13
-fxoks=14
-echocanceller=mg2,14
-fxsks=15
-echocanceller=mg2,15
-# channel 16, WCTDM/4/3, no module.
-
-# Global data
-
-loadzone = us
-defaultzone = us
diff --git a/factory/full_IO/README b/factory/full_IO/README
new file mode 100644
index 0000000..17289de
--- /dev/null
+++ b/factory/full_IO/README
@@ -0,0 +1,11 @@
+ssh-add
+eval $(ssh-agent)
+./install.sh te
+#dahdi show status
+cp -a call/call42 /var/spool/asterisk/outgoing
+cp -a call/call43 /var/spool/asterisk/outgoing
+cp -a call/call44 /var/spool/asterisk/outgoing
+./install.sh nt
+asterisk -rvvv sur les deux board
+cp -a call/call44 /var/spool/asterisk/outgoing
+
diff --git a/factory/full_IO/chan_dahdi.conf.nt b/factory/full_IO/chan_dahdi.conf.nt
new file mode 100644
index 0000000..038265d
--- /dev/null
+++ b/factory/full_IO/chan_dahdi.conf.nt
@@ -0,0 +1,1457 @@
+;
+; DAHDI Telephony Configuration file
+;
+; You need to restart Asterisk to re-configure the DAHDI channel
+; CLI> module reload chan_dahdi.so
+; will reload the configuration file, but not all configuration options
+; are re-configured during a reload (signalling, as well as PRI and
+; SS7-related settings cannot be changed on a reload).
+;
+; This file documents many configuration variables. Normally unless you know
+; what a variable means or that it should be changed, there's no reason to
+; un-comment those lines.
+;
+; Examples below that are commented out (those lines that begin with a ';' but
+; no space afterwards) typically show a value that is not the default value,
+; but would make sense under certain circumstances. The default values are
+; usually sane. Thus you should typically not touch them unless you know what
+; they mean or you know you should change them.
+
+[trunkgroups]
+;
+; Trunk groups are used for NFAS connections.
+;
+; Group: Defines a trunk group.
+; trunkgroup => <trunkgroup>,<dchannel>[,<backup1>...]
+;
+; trunkgroup is the numerical trunk group to create
+; dchannel is the DAHDI channel which will have the
+; d-channel for the trunk.
+; backup1 is an optional list of backup d-channels.
+;
+;trunkgroup => 1,24,48
+;trunkgroup => 1,24
+;
+; Spanmap: Associates a span with a trunk group
+; spanmap => <dahdispan>,<trunkgroup>[,<logicalspan>]
+;
+; dahdispan is the DAHDI span number to associate
+; trunkgroup is the trunkgroup (specified above) for the mapping
+; logicalspan is the logical span number within the trunk group to use.
+; if unspecified, no logical span number is used.
+;
+;spanmap => 1,1,1
+;spanmap => 2,1,2
+;spanmap => 3,1,3
+;spanmap => 4,1,4
+
+[channels]
+;
+; Default language
+;
+;language=en
+;
+; Context for calls. Defaults to 'default'
+;
+;context=incoming
+;
+; Switchtype: Only used for PRI.
+;
+; national: National ISDN 2 (default)
+; dms100: Nortel DMS100
+; 4ess: AT&T 4ESS
+; 5ess: Lucent 5ESS
+; euroisdn: EuroISDN (common in Europe)
+; ni1: Old National ISDN 1
+; qsig: Q.SIG
+;
+;switchtype=euroisdn
+;
+; MSNs for ISDN spans. Asterisk will listen for the listed numbers on
+; incoming calls and ignore any calls not listed.
+; Here you can give a comma separated list of numbers or dialplan extension
+; patterns. An empty list disables MSN matching to allow any incoming call.
+; Only set on PTMP CPE side of ISDN span if needed.
+; The default is an empty list.
+;msn=
+;
+; Some switches (AT&T especially) require network specific facility IE.
+; Supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
+;
+; nsf cannot be changed on a reload.
+;
+;nsf=none
+;
+;service_message_support=yes
+; Enable service message support for channel. Must be set after switchtype.
+;
+; Dialing options for ISDN (i.e., Dial(DAHDI/g1/exten/options)):
+; R Reverse Charge Indication
+; Indicate to the called party that the call will be reverse charged.
+; K(n) Keypad digits n
+; Send out the specified digits as keypad digits.
+;
+; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for
+; the dialed number. For most installations, leaving this as 'unknown' (the
+; default) works in the most cases. In some very unusual circumstances, you
+; may need to set this to 'dynamic' or 'redundant'. Note that if you set one
+; of the others, you will be unable to dial another class of numbers. For
+; example, if you set 'national', you will be unable to dial local or
+; international numbers.
+;
+; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's
+; numbering plan). In North America, the typical use is sending the 10 digit
+; callerID number and setting the prilocaldialplan to 'national' (the default).
+; Only VERY rarely will you need to change this.
+;
+; Neither pridialplan nor prilocaldialplan can be changed on reload.
+;
+; unknown: Unknown
+; private: Private ISDN
+; local: Local ISDN
+; national: National ISDN
+; international: International ISDN
+; dynamic: Dynamically selects the appropriate dialplan
+; redundant: Same as dynamic, except that the underlying number is not
+; changed (not common)
+;
+;pridialplan=unknown
+;prilocaldialplan=national
+;
+; pridialplan may be also set at dialtime, by prefixing the dialled number with
+; one of the following letters:
+; U - Unknown
+; I - International
+; N - National
+; L - Local (Net Specific)
+; S - Subscriber
+; V - Abbreviated
+; R - Reserved (should probably never be used but is included for completeness)
+;
+; Additionally, you may also set the following NPI bits (also by prefixing the
+; dialled string with one of the following letters):
+; u - Unknown
+; e - E.163/E.164 (ISDN/telephony)
+; x - X.121 (Data)
+; f - F.69 (Telex)
+; n - National
+; p - Private
+; r - Reserved (should probably never be used but is included for completeness)
+;
+; You may also set the prilocaldialplan in the same way, but by prefixing the
+; Caller*ID Number, rather than the dialled number. Please note that telcos
+; which require this kind of additional manipulation of the TON/NPI are *rare*.
+; Most telco PRIs will work fine simply by setting pridialplan to unknown or
+; dynamic.
+;
+;
+; PRI caller ID prefixes based on the given TON/NPI (dialplan)
+; This is especially needed for EuroISDN E1-PRIs
+;
+; None of the prefix settings can be changed on reload.
+;
+; sample 1 for Germany
+;internationalprefix = 00
+;nationalprefix = 0
+;localprefix = 0711
+;privateprefix = 07115678
+;unknownprefix =
+;
+; sample 2 for Germany
+;internationalprefix = +
+;nationalprefix = +49
+;localprefix = +49711
+;privateprefix = +497115678
+;unknownprefix =
+;
+; PRI resetinterval: sets the time in seconds between restart of unused
+; B channels; defaults to 'never'.
+;
+;resetinterval = 3600
+;
+; Overlap dialing mode (sending overlap digits)
+; Cannot be changed on a reload.
+;
+; incoming: incoming direction only
+; outgoing: outgoing direction only
+; no: neither direction
+; yes or both: both directions
+;
+;overlapdial=yes
+;
+; Allow inband audio (progress) when a call is DISCONNECTed by the far end of a PRI
+;
+;inbanddisconnect=yes
+;
+; Allow a held call to be transferred to the active call on disconnect.
+; This is useful on BRI PTMP NT lines where an ISDN phone can simulate the
+; transfer feature of an analog phone.
+; The default is no.
+;hold_disconnect_transfer=yes
+;
+; PRI Out of band indications.
+; Enable this to report Busy and Congestion on a PRI using out-of-band
+; notification. Inband indication, as used by Asterisk doesn't seem to work
+; with all telcos.
+;
+; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT
+; inband: Signal Busy/Congestion using in-band tones (default)
+;
+; priindication cannot be changed on a reload.
+;
+;priindication = outofband
+;
+; If you need to override the existing channels selection routine and force all
+; PRI channels to be marked as exclusively selected, set this to yes.
+;
+; priexclusive cannot be changed on a reload.
+;
+;priexclusive = yes
+;
+;
+; If you need to use the logical channel mapping with your Q.SIG PRI instead
+; of the physical mapping you must use the qsigchannelmapping option.
+;
+; logical: Use the logical channel mapping
+; physical: Use physical channel mapping (default)
+;
+;qsigchannelmapping=logical
+;
+; If you wish to ignore remote hold indications (and use MOH that is supplied over
+; the B channel) enable this option.
+;
+;discardremoteholdretrieval=yes
+;
+; ISDN Timers
+; All of the ISDN timers and counters that are used are configurable. Specify
+; the timer name, and its value (in ms for timers).
+; K: Layer 2 max number of outstanding unacknowledged I frames (default 7)
+; N200: Layer 2 max number of retransmissions of a frame (default 3)
+; T200: Layer 2 max time before retransmission of a frame (default 1000 ms)
+; T203: Layer 2 max time without frames being exchanged (default 10000 ms)
+; T305: Wait for DISCONNECT acknowledge (default 30000 ms)
+; T308: Wait for RELEASE acknowledge (default 4000 ms)
+; T309: Maintain active calls on Layer 2 disconnection (default -1,
+; Asterisk clears calls)
+; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s
+; May vary in other ISDN standards (Q.931 1993 : 90000 ms)
+; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms)
+;
+; T-RESPONSE: Maximum time to wait for a typical APDU response. (default 4000 ms)
+; This is an implementation timer when the standard does not specify one.
+; T-ACTIVATE: Request supervision timeout. (default 10000 ms)
+; T-RETENTION: Maximum time to wait for user A to activate call-completion. (default 30000 ms)
+; Used by ETSI PTP, ETSI PTMP, and Q.SIG as the cc_offer_timer.
+; T-CCBS1: T-STATUS timer equivalent for CC user A status. (default 4000 ms)
+; T-CCBS2: Maximum time the CCBS service will be active (default 45 min in ms)
+; T-CCBS3: Maximum time to wait for user A to respond to user B availability. (default 20000 ms)
+; T-CCBS5: Network B CCBS supervision timeout. (default 60 min in ms)
+; T-CCBS6: Network A CCBS supervision timeout. (default 60 min in ms)
+; T-CCNR2: Maximum time the CCNR service will be active (default 180 min in ms)
+; T-CCNR5: Network B CCNR supervision timeout. (default 195 min in ms)
+; T-CCNR6: Network A CCNR supervision timeout. (default 195 min in ms)
+; CC-T1: Q.SIG CC request supervision timeout. (default 30000 ms)
+; CCBS-T2: Q.SIG CCBS supervision timeout. (default 60 min in ms)
+; CCNR-T2: Q.SIG CCNR supervision timeout. (default 195 min in ms)
+; CC-T3: Q.SIG CC Maximum time to wait for user A to respond to user B availability. (default 30000 ms)
+;
+;pritimer => t200,1000
+;pritimer => t313,4000
+;
+; CC PTMP recall mode:
+; specific - Only the CC original party A can participate in the CC callback
+; global - Other compatible endpoints on the PTMP line can be party A in the CC callback
+;
+; cc_ptmp_recall_mode cannot be changed on a reload.
+;
+;cc_ptmp_recall_mode = specific
+;
+; CC Q.SIG Party A (requester) retain signaling link option
+; retain Require that the signaling link be retained.
+; release Request that the signaling link be released.
+; do_not_care The responder is free to choose if the signaling link will be retained.
+;
+;cc_qsig_signaling_link_req = retain
+;
+; CC Q.SIG Party B (responder) retain signaling link option
+; retain Prefer that the signaling link be retained.
+; release Prefer that the signaling link be released.
+;
+;cc_qsig_signaling_link_rsp = retain
+;
+; See ccss.conf.sample for more options. The timers described by ccss.conf.sample
+; are not used by ISDN for the native protocol since they are defined by the
+; standards and set by pritimer above.
+;
+; To enable transmission of facility-based ISDN supplementary services (such
+; as caller name from CPE over facility), enable this option.
+; Cannot be changed on a reload.
+;
+;facilityenable = yes
+;
+
+; This option enables Advice of Charge pass-through between the ISDN PRI and
+; Asterisk. This option can be set to any combination of 's', 'd', and 'e' which
+; represent the different variants of Advice of Charge, AOC-S, AOC-D, and AOC-E.
+; Advice of Charge pass-through is currently only supported for ETSI. Since most
+; AOC messages are sent on facility messages, the 'facilityenable' option must
+; also be enabled to fully support AOC pass-through.
+;
+;aoc_enable=s,d,e
+;
+; When this option is enabled, a hangup initiated by the ISDN PRI side of the
+; asterisk channel will result in the channel delaying its hangup in an
+; attempt to receive the final AOC-E message from its bridge. The delay
+; period is configured as one half the T305 timer length. If the channel
+; is not bridged the hangup will occur immediatly without delay.
+;
+;aoce_delayhangup=yes
+
+; pritimer cannot be changed on a reload.
+;
+; Signalling method. The default is "auto". Valid values:
+; auto: Use the current value from DAHDI.
+; em: E & M
+; em_e1: E & M E1
+; em_w: E & M Wink
+; featd: Feature Group D (The fake, Adtran style, DTMF)
+; featdmf: Feature Group D (The real thing, MF (domestic, US))
+; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through
+; a Tandem Access point
+; featb: Feature Group B (MF (domestic, US))
+; fgccama: Feature Group C-CAMA (DP DNIS, MF ANI)
+; fgccamamf: Feature Group C-CAMA MF (MF DNIS, MF ANI)
+; fxs_ls: FXS (Loop Start)
+; fxs_gs: FXS (Ground Start)
+; fxs_ks: FXS (Kewl Start)
+; fxo_ls: FXO (Loop Start)
+; fxo_gs: FXO (Ground Start)
+; fxo_ks: FXO (Kewl Start)
+; pri_cpe: PRI signalling, CPE side
+; pri_net: PRI signalling, Network side
+; bri_cpe: BRI PTP signalling, CPE side
+; bri_net: BRI PTP signalling, Network side
+; bri_cpe_ptmp: BRI PTMP signalling, CPE side
+; bri_net_ptmp: BRI PTMP signalling, Network side
+; sf: SF (Inband Tone) Signalling
+; sf_w: SF Wink
+; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF)
+; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US))
+; sf_featb: SF Feature Group B (MF (domestic, US))
+; e911: E911 (MF) style signalling
+; ss7: Signalling System 7
+; mfcr2: MFC/R2 Signalling. To specify the country variant see 'mfcr2_variant'
+;
+; The following are used for Radio interfaces:
+; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the
+; channel bank)
+; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the
+; channel bank)
+; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the
+; channel bank)
+; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at
+; the channel bank)
+; em_rx: Receive audio/COR on an E&M interface (1-way)
+; em_tx: Transmit audio/PTT on an E&M interface (1-way)
+; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface
+; (2-way)
+; em_rxtx: Same as em_txrx (for our dyslexic friends)
+; sf_rx: Receive audio/COR on an SF interface (1-way)
+; sf_tx: Transmit audio/PTT on an SF interface (1-way)
+; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface
+; (2-way)
+; sf_rxtx: Same as sf_txrx (for our dyslexic friends)
+; ss7: Signalling System 7
+;
+; signalling of a channel can not be changed on a reload.
+;
+;signalling=fxo_ls
+;
+; If you have an outbound signalling format that is different from format
+; specified above (but compatible), you can specify outbound signalling format,
+; (see below). The 'signalling' format specified will be the inbound signalling
+; format. If you only specify 'signalling', then it will be the format for
+; both inbound and outbound.
+;
+; outsignalling can only be one of:
+; em, em_e1, em_w, sf, sf_w, sf_featd, sf_featdmf, sf_featb, featd,
+; featdmf, featdmf_ta, e911, fgccama, fgccamamf
+;
+; outsignalling cannot be changed on a reload.
+;
+;signalling=featdmf
+;
+;outsignalling=featb
+;
+; For Feature Group D Tandem access, to set the default CIC and OZZ use these
+; parameters (Will not be updated on reload):
+;
+;defaultozz=0000
+;defaultcic=303
+;
+; A variety of timing parameters can be specified as well
+; The default values for those are "-1", which is to use the
+; compile-time defaults of the DAHDI kernel modules. The timing
+; parameters, (with the standard default from DAHDI):
+;
+; prewink: Pre-wink time (default 50ms)
+; preflash: Pre-flash time (default 50ms)
+; wink: Wink time (default 150ms)
+; flash: Flash time (default 750ms)
+; start: Start time (default 1500ms)
+; rxwink: Receiver wink time (default 300ms)
+; rxflash: Receiver flashtime (default 1250ms)
+; debounce: Debounce timing (default 600ms)
+;
+; None of them will update on a reload.
+;
+; How long generated tones (DTMF and MF) will be played on the channel
+; (in milliseconds).
+;
+; This is a global, rather than a per-channel setting. It will not be
+; updated on a reload.
+;
+;toneduration=100
+;
+; Whether or not to do distinctive ring detection on FXO lines:
+;
+;usedistinctiveringdetection=yes
+;
+; enable dring detection after caller ID for those countries like Australia
+; where the ring cadence is changed *after* the caller ID spill:
+;
+;distinctiveringaftercid=yes
+;
+; Whether or not to use caller ID:
+;
+usecallerid=yes
+;
+; Type of caller ID signalling in use
+; bell = bell202 as used in US (default)
+; v23 = v23 as used in the UK
+; v23_jp = v23 as used in Japan
+; dtmf = DTMF as used in Denmark, Sweden and Netherlands
+; smdi = Use SMDI for caller ID. Requires SMDI to be enabled (usesmdi).
+;
+;cidsignalling=v23
+;
+; What signals the start of caller ID
+; ring = a ring signals the start (default)
+; polarity = polarity reversal signals the start
+; polarity_IN = polarity reversal signals the start, for India,
+; for dtmf dialtone detection; using DTMF.
+; (see doc/India-CID.txt)
+; dtmf = causes monitor loop to look for dtmf energy on the
+; incoming channel to initate cid acquisition
+;
+;cidstart=polarity
+;
+; When cidstart=dtmf, the energy level on the line used to trigger dtmf cid
+; acquisition. This number is compared to the average over a packet of audio
+; of the absolute values of 16 bit signed linear samples. The default is set
+; to 256. The choice of 256 is arbitrary. The value you should select should
+; be high enough to prevent false detections while low enough to insure that
+; no dtmf spills are missed.
+;
+;dtmfcidlevel=256
+;
+; Whether or not to hide outgoing caller ID (Override with *67 or *82)
+; (If your dialplan doesn't catch it)
+;
+;hidecallerid=yes
+;
+; Enable if you need to hide just the name and not the number for legacy PBX use.
+; Only applies to PRI channels.
+;hidecalleridname=yes
+;
+; On UK analog lines, the caller hanging up determines the end of calls. So
+; Asterisk hanging up the line may or may not end a call (DAHDI could just as
+; easily be re-attaching to a prior incoming call that was not yet hung up).
+; This option changes the hangup to wait for a dialtone on the line, before
+; marking the line as once again available for use with outgoing calls.
+;waitfordialtone=yes
+;
+; The following option enables receiving MWI on FXO lines. The default
+; value is no.
+; The mwimonitor can take the following values
+; no - No mwimonitoring occurs. (default)
+; yes - The same as specifying fsk
+; fsk - the FXO line is monitored for MWI FSK spills
+; fsk,rpas - the FXO line is monitored for MWI FSK spills preceded
+; by a ring pulse alert signal.
+; neon - The fxo line is monitored for the presence of NEON pulses
+; indicating MWI.
+; When detected, an internal Asterisk MWI event is generated so that any other
+; part of Asterisk that cares about MWI state changes is notified, just as if
+; the state change came from app_voicemail.
+; For FSK MWI Spills, the energy level that must be seen before starting the
+; MWI detection process can be set with 'mwilevel'.
+;
+;mwimonitor=no
+;mwilevel=512
+;
+; This option is used in conjunction with mwimonitor. This will get executed
+; when incoming MWI state changes. The script is passed 2 arguments. The
+; first is the corresponding mailbox, and the second is 1 or 0, indicating if
+; there are messages waiting or not.
+;
+;mwimonitornotify=/usr/local/bin/dahdinotify.sh
+;
+; The following keyword 'mwisendtype' enables various VMWI methods on FXS lines (if supported).
+; The default is to send FSK only.
+; The following options are available;
+; 'rpas' Ring Pulse Alert Signal, alerts intelligent phones that a FSK message is about to be sent.
+; 'lrev' Line reversed to indicate messages waiting.
+; 'hvdc' 90Vdc OnHook DC voltage to indicate messages waiting.
+; 'hvac' or 'neon' 90Vac OnHook AC voltage to light Neon bulb.
+; 'nofsk' Disables FSK MWI spills from being sent out.
+; It is feasible that multiple options can be enabled.
+;mwisendtype=rpas,lrev
+;
+; Whether or not to enable call waiting on internal extensions
+; With this set to 'yes', busy extensions will hear the call-waiting
+; tone, and can use hook-flash to switch between callers. The Dial()
+; app will not return the "BUSY" result for extensions.
+;
+callwaiting=yes
+;
+; Configure the number of outstanding call waiting calls for internal ISDN
+; endpoints before bouncing the calls as busy. This option is equivalent to
+; the callwaiting option for analog ports.
+; A call waiting call is a SETUP message with no B channel selected.
+; The default is zero to disable call waiting for ISDN endpoints.
+;max_call_waiting_calls=0
+;
+; Allow incoming ISDN call waiting calls.
+; A call waiting call is a SETUP message with no B channel selected.
+;allow_call_waiting_calls=no
+;
+; Configure the ISDN span to indicate MWI for the list of mailboxes.
+; You can give a comma separated list of up to 8 mailboxes per span.
+; An empty list disables MWI.
+; The default is an empty list.
+;mwi_mailboxes=mailbox_number[@context]{,mailbox_number[@context]}
+;
+; Whether or not restrict outgoing caller ID (will be sent as ANI only, not
+; available for the user)
+; Mostly use with FXS ports
+; Does nothing. Use hidecallerid instead.
+;
+;restrictcid=no
+;
+; Whether or not to use the caller ID presentation from the Asterisk channel
+; for outgoing calls.
+; See dialplan function CALLERID(pres) for more information.
+; Only applies to PRI and SS7 channels.
+;
+usecallingpres=yes
+;
+; Some countries (UK) have ring tones with different ring tones (ring-ring),
+; which means the caller ID needs to be set later on, and not just after
+; the first ring, as per the default (1).
+;
+;sendcalleridafter = 2
+;
+;
+; Support caller ID on Call Waiting
+;
+callwaitingcallerid=yes
+;
+; Support three-way calling
+;
+threewaycalling=yes
+;
+; For FXS ports (either direct analog or over T1/E1):
+; Support flash-hook call transfer (requires three way calling)
+; Also enables call parking (overrides the 'canpark' parameter)
+;
+; For digital ports using ISDN PRI protocols:
+; Support switch-side transfer (called 2BCT, RLT or other names)
+; This setting must be enabled on both ports involved, and the
+; 'facilityenable' setting must also be enabled to allow sending
+; the transfer to the ISDN switch, since it sent in a FACILITY
+; message.
+; NOTE: This should be disabled for NT PTMP mode. Phones cannot
+; have tromboned calls pushed down to them.
+;
+transfer=yes
+;
+; Allow call parking
+; ('canpark=no' is overridden by 'transfer=yes')
+;
+canpark=yes
+;
+; Support call forward variable
+;
+cancallforward=yes
+;
+; Whether or not to support Call Return (*69, if your dialplan doesn't
+; catch this first)
+;
+callreturn=yes
+;
+; Stutter dialtone support: If a mailbox is specified without a voicemail
+; context, then when voicemail is received in a mailbox in the default
+; voicemail context in voicemail.conf, taking the phone off hook will cause a
+; stutter dialtone instead of a normal one.
+;
+; If a mailbox is specified *with* a voicemail context, the same will result
+; if voicemail received in mailbox in the specified voicemail context.
+;
+; for default voicemail context, the example below is fine:
+;
+;mailbox=1234
+;
+; for any other voicemail context, the following will produce the stutter tone:
+;
+;mailbox=1234@context
+;
+; Enable echo cancellation
+; Use either "yes", "no", or a power of two from 32 to 256 if you wish to
+; actually set the number of taps of cancellation.
+;
+; Note that when setting the number of taps, the number 256 does not translate
+; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms.
+;
+; Note that if any of your DAHDI cards have hardware echo cancellers,
+; then this setting only turns them on and off; numeric settings will
+; be treated as "yes". There are no special settings required for
+; hardware echo cancellers; when present and enabled in their kernel
+; modules, they take precedence over the software echo canceller compiled
+; into DAHDI automatically.
+;
+;
+echocancel=yes
+;
+; Some DAHDI echo cancellers (software and hardware) support adjustable
+; parameters; these parameters can be supplied as additional options to
+; the 'echocancel' setting. Note that Asterisk does not attempt to
+; validate the parameters or their values, so if you supply an invalid
+; parameter you will not know the specific reason it failed without
+; checking the kernel message log for the error(s) put there by DAHDI.
+;
+;echocancel=128,param1=32,param2=0,param3=14
+;
+; Generally, it is not necessary (and in fact undesirable) to echo cancel when
+; the circuit path is entirely TDM. You may, however, change this behavior
+; by enabling the echo canceller during pure TDM bridging below.
+;
+echocancelwhenbridged=yes
+;
+; In some cases, the echo canceller doesn't train quickly enough and there
+; is echo at the beginning of the call. Enabling echo training will cause
+; DAHDI to briefly mute the channel, send an impulse, and use the impulse
+; response to pre-train the echo canceller so it can start out with a much
+; closer idea of the actual echo. Value may be "yes", "no", or a number of
+; milliseconds to delay before training (default = 400)
+;
+; WARNING: In some cases this option can make echo worse! If you are
+; trying to debug an echo problem, it is worth checking to see if your echo
+; is better with the option set to yes or no. Use whatever setting gives
+; the best results.
+;
+; Note that these parameters do not apply to hardware echo cancellers.
+;
+;echotraining=yes
+;echotraining=800
+;
+; If you are having trouble with DTMF detection, you can relax the DTMF
+; detection parameters. Relaxing them may make the DTMF detector more likely
+; to have "talkoff" where DTMF is detected when it shouldn't be.
+;
+;relaxdtmf=yes
+;
+; You may also set the default receive and transmit gains (in dB)
+;
+; Gain Settings: increasing / decreasing the volume level on a channel.
+; The values are in db (decibells). A positive number
+; increases the volume level on a channel, and a
+; negavive value decreases volume level.
+;
+; Dynamic Range Compression: you can also enable dynamic range compression
+; on a channel. This will amplify quiet sounds while leaving
+; louder sounds untouched. This is useful in situations where
+; a linear gain setting would cause clipping. Acceptable values
+; are in the range of 0.0 to around 6.0 with higher values
+; causing more compression to be done.
+;
+; There are several independent gain settings:
+; rxgain: gain for the rx (receive - into Asterisk) channel. Default: 0.0
+; txgain: gain for the tx (transmit - out of Asterisk Asterisk) channel.
+; Default: 0.0
+; cid_rxgain: set the gain just for the caller ID sounds Asterisk
+; emits. Default: 5.0 .
+; rxdrc: dynamic range compression for the rx channel. Default: 0.0
+; txdrc: dynamic range compression for the tx channel. Default: 0.0
+
+;rxgain=2.0
+;txgain=3.0
+;
+;rxdrc=1.0
+;txdrc=4.0
+;
+; Logical groups can be assigned to allow outgoing roll-over. Groups range
+; from 0 to 63, and multiple groups can be specified. By default the
+; channel is not a member of any group.
+;
+; Note that an explicit empty value for 'group' is invalid, and will not
+; override a previous non-empty one. The same applies to callgroup and
+; pickupgroup as well.
+;
+group=1
+;
+; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing
+; and it is a member of a group which is one of your pickup groups, then
+; you can answer it by picking up and dialing *8#. For simple offices, just
+; make these both the same. Groups range from 0 to 63.
+;
+callgroup=1
+pickupgroup=1
+
+; Channel variable to be set for all calls from this channel
+;setvar=CHANNEL=42
+;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
+ ; cause the given audio file to
+ ; be played upon completion of
+ ; an attended transfer.
+
+;
+; Specify whether the channel should be answered immediately or if the simple
+; switch should provide dialtone, read digits, etc.
+; Note: If immediate=yes the dialplan execution will always start at extension
+; 's' priority 1 regardless of the dialed number!
+;
+;immediate=yes
+;
+; Specify whether flash-hook transfers to 'busy' channels should complete or
+; return to the caller performing the transfer (default is yes).
+;
+;transfertobusy=no
+
+; Calls will have the party id user tag set to this string value.
+;
+;cid_tag=
+
+; With this set, you can automatically append the MSN of a party
+; to the cid_tag. An '_' is used to separate the tag from the MSN.
+; Applies to ISDN spans.
+; Default is no.
+;
+; Table of what number is appended:
+; outgoing incoming
+; net dialed caller
+; cpe caller dialed
+;
+;append_msn_to_cid_tag=no
+
+; caller ID can be set to "asreceived" or a specific number if you want to
+; override it. Note that "asreceived" only applies to trunk interfaces.
+; fullname sets just the
+;
+; fullname: sets just the name part.
+; cid_number: sets just the number part:
+;
+;callerid = 123456
+;
+;callerid = My Name <2564286000>
+; Which can also be written as:
+;cid_number = 2564286000
+;fullname = My Name
+;
+;callerid = asreceived
+;
+; should we use the caller ID from incoming call on DAHDI transfer?
+;
+;useincomingcalleridondahditransfer = yes
+;
+; AMA flags affects the recording of Call Detail Records. If specified
+; it may be 'default', 'omit', 'billing', or 'documentation'.
+;
+;amaflags=default
+;
+; Channels may be associated with an account code to ease
+; billing
+;
+;accountcode=lss0101
+;
+; ADSI (Analog Display Services Interface) can be enabled on a per-channel
+; basis if you have (or may have) ADSI compatible CPE equipment
+;
+;adsi=yes
+;
+; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel
+; basis if you would like that channel to behave like an SMDI message desk.
+; The SMDI port specified should have already been defined in smdi.conf. The
+; default port is /dev/ttyS0.
+;
+;usesmdi=yes
+;smdiport=/dev/ttyS0
+;
+; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D
+; etc, it can be useful to perform busy detection either in an effort to
+; detect hangup or for detecting busies. This enables listening for
+; the beep-beep busy pattern.
+;
+;busydetect=yes
+;
+; If busydetect is enabled, it is also possible to specify how many busy tones
+; to wait for before hanging up. The default is 3, but it might be
+; safer to set to 6 or even 8. Mind that the higher the number, the more
+; time that will be needed to hangup a channel, but lowers the probability
+; that you will get random hangups.
+;
+;busycount=6
+;
+; If busydetect is enabled, it is also possible to specify the cadence of your
+; busy signal. In many countries, it is 500msec on, 500msec off. Without
+; busypattern specified, we'll accept any regular sound-silence pattern that
+; repeats <busycount> times as a busy signal. If you specify busypattern,
+; then we'll further check the length of the sound (tone) and silence, which
+; will further reduce the chance of a false positive.
+;
+;busypattern=500,500
+;
+; NOTE: In make menuselect, you'll find further options to tweak the busy
+; detector. If your country has a busy tone with the same length tone and
+; silence (as many countries do), consider enabling the
+; BUSYDETECT_COMPARE_TONE_AND_SILENCE option.
+;
+; To further detect which hangup tone your telco provider is sending, it is
+; useful to use the ztmonitor utility to record the audio that main/dsp.c
+; is receiving after the caller hangs up.
+;
+; For FXS (FXO signalled) ports
+; switch the line polarity to signal the connected PBX that an outgoing
+; call was answered by the remote party.
+; For FXO (FXS signalled) ports
+; watch for a polarity reversal to mark when a outgoing call is
+; answered by the remote party.
+;
+;answeronpolarityswitch=yes
+;
+; For FXS (FXO signalled) ports
+; switch the line polarity to signal the connected PBX that the current
+; call was "hung up" by the remote party
+; For FXO (FXS signalled) ports
+; In some countries, a polarity reversal is used to signal the disconnect of a
+; phone line. If the hanguponpolarityswitch option is selected, the call will
+; be considered "hung up" on a polarity reversal.
+;
+;hanguponpolarityswitch=yes
+;
+; polarityonanswerdelay: minimal time period (ms) between the answer
+; polarity switch and hangup polarity switch.
+; (default: 600ms)
+;
+; On trunk interfaces (FXS) it can be useful to attempt to follow the progress
+; of a call through RINGING, BUSY, and ANSWERING. If turned on, call
+; progress attempts to determine answer, busy, and ringing on phone lines.
+; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers,
+; so don't count on it being very accurate.
+;
+; Few zones are supported at the time of this writing, but may be selected
+; with "progzone".
+;
+; progzone also affects the pattern used for buzydetect (unless
+; busypattern is set explicitly). The possible values are:
+; us (default)
+; ca (alias for 'us')
+; cr (Costa Rica)
+; br (Brazil, alias for 'cr')
+; uk
+;
+; This feature can also easily detect false hangups. The symptoms of this is
+; being disconnected in the middle of a call for no reason.
+;
+;callprogress=yes
+;progzone=uk
+;
+; Set the tonezone. Equivalent of the defaultzone settings in
+; /etc/dahdi/system.conf. This sets the tone zone by number.
+; Note that you'd still need to load tonezones (loadzone in
+; /etc/dahdi/system.conf).
+; The default is -1: not to set anything.
+;tonezone = 0 ; 0 is US
+;
+; FXO (FXS signalled) devices must have a timeout to determine if there was a
+; hangup before the line was answered. This value can be tweaked to shorten
+; how long it takes before DAHDI considers a non-ringing line to have hungup.
+;
+; ringtimeout will not update on a reload.
+;
+;ringtimeout=8000
+;
+; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF
+; Pulse digits from phones (FXS devices, FXO signalling) are always
+; detected.
+;
+;pulsedial=yes
+;
+; For fax detection, uncomment one of the following lines. The default is *OFF*
+;
+;faxdetect=both
+;faxdetect=incoming
+;faxdetect=outgoing
+;faxdetect=no
+;
+; When 'faxdetect' is used, one could use 'faxbuffers' to configure the DAHDI
+; transmit buffer policy. The default is *OFF*. When this configuration
+; option is used, the faxbuffer policy will be used for the life of the call
+; after a fax tone is detected. The faxbuffer policy is reverted after the
+; call is torn down. The sample below will result in 6 buffers and a full
+; buffer policy.
+;
+;faxbuffers=>6,full
+;
+; This option specifies a preference for which music on hold class this channel
+; should listen to when put on hold if the music class has not been set on the
+; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
+; channel putting this one on hold did not suggest a music class.
+;
+; If this option is set to "passthrough", then the hold message will always be
+; passed through as signalling instead of generating hold music locally. This
+; setting is only valid when used on a channel that uses digital signalling.
+;
+; This option may be set globally or on a per-channel basis.
+;
+;mohinterpret=default
+;
+; This option specifies which music on hold class to suggest to the peer channel
+; when this channel places the peer on hold. This option may be set globally,
+; or on a per-channel basis.
+;
+;mohsuggest=default
+;
+; PRI channels can have an idle extension and a minunused number. So long as
+; at least "minunused" channels are idle, chan_dahdi will try to call "idledial"
+; on them, and then dump them into the PBX in the "idleext" extension (which
+; is of the form exten@context). When channels are needed the "idle" calls
+; are disconnected (so long as there are at least "minidle" calls still
+; running, of course) to make more channels available. The primary use of
+; this is to create a dynamic service, where idle channels are bundled through
+; multilink PPP, thus more efficiently utilizing combined voice/data services
+; than conventional fixed mappings/muxings.
+;
+; Those settings cannot be changed on reload.
+;
+;idledial=6999
+;idleext=6999@dialout
+;minunused=2
+;minidle=1
+;
+;
+; ignore_failed_channels: Continue even if some channels failed to configure.
+; False by default, as if even a single channel failed to configure, it might
+; mean other channels are misplaced and having them work may not be a good
+; idea. If enabled (set to true), chan_dahdi will nevertheless attempt to
+; configure other channels rather than giving up. This normally makes sense
+; only if you use names (<subdir>!<number>) for DAHDI channels.
+;ignore_failed_channels = true
+;
+; Configure jitter buffers in DAHDI (each one is 20ms, default is 4)
+; This is set globally, rather than per-channel.
+;
+;jitterbuffers=4
+;
+;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
+; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
+ ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will
+ ; be used only if the sending side can create and the receiving
+ ; side can not accept jitter. The DAHDI channel can't accept jitter,
+ ; thus an enabled jitterbuffer on the receive DAHDI side will always
+ ; be used if the sending side can create jitter.
+
+; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
+
+; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
+ ; resynchronized. Useful to improve the quality of the voice, with
+ ; big jumps in/broken timestamps, usually sent from exotic devices
+ ; and programs. Defaults to 1000.
+
+; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI
+ ; channel. Two implementations are currently available - "fixed"
+ ; (with size always equals to jbmax-size) and "adaptive" (with
+ ; variable size, actually the new jb of IAX2). Defaults to fixed.
+
+; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
+ ; The option represents the number of milliseconds by which the new
+ ; jitter buffer will pad its size. the default is 40, so without
+ ; modification, the new jitter buffer will set its size to the jitter
+ ; value plus 40 milliseconds. increasing this value may help if your
+ ; network normally has low jitter, but occasionally has spikes.
+
+; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
+;-----------------------------------------------------------------------------------
+;
+; You can define your own custom ring cadences here. You can define up to 8
+; pairs. If the silence is negative, it indicates where the caller ID spill is
+; to be placed. Also, if you define any custom cadences, the default cadences
+; will be turned off.
+;
+; This setting is global, rather than per-channel. It will not update on
+; a reload.
+;
+; Syntax is: cadence=ring,silence[,ring,silence[...]]
+;
+; These are the default cadences:
+;
+;cadence=125,125,2000,-4000
+;cadence=250,250,500,1000,250,250,500,-4000
+;cadence=125,125,125,125,125,-4000
+;cadence=1000,500,2500,-5000
+;
+; Each channel consists of the channel number or range. It inherits the
+; parameters that were specified above its declaration.
+;
+;
+;callerid="Green Phone"<(256) 428-6121>
+;channel => 1
+;callerid="Black Phone"<(256) 428-6122>
+;channel => 2
+;callerid="CallerID Phone" <(630) 372-1564>
+;channel => 3
+;callerid="Pac Tel Phone" <(256) 428-6124>
+;channel => 4
+;callerid="Uniden Dead" <(256) 428-6125>
+;channel => 5
+;callerid="Cortelco 2500" <(256) 428-6126>
+;channel => 6
+;callerid="Main TA 750" <(256) 428-6127>
+;channel => 44
+;
+; For example, maybe we have some other channels which start out in a
+; different context and use E & M signalling instead.
+;
+;context=remote
+;signaling=em
+;channel => 15
+;channel => 16
+
+;signalling=em_w
+;
+; All those in group 0 I'll use for outgoing calls
+;
+; Strip most significant digit (9) before sending
+;
+;stripmsd=1
+;callerid=asreceived
+;group=0
+;signalling=fxs_ls
+;channel => 45
+
+;signalling=fxo_ls
+;group=1
+;callerid="Joe Schmoe" <(256) 428-6131>
+;channel => 25
+;callerid="Megan May" <(256) 428-6132>
+;channel => 26
+;callerid="Suzy Queue" <(256) 428-6233>
+;channel => 27
+;callerid="Larry Moe" <(256) 428-6234>
+;channel => 28
+;
+; Sample PRI (CPE) config: Specify the switchtype, the signalling as either
+; pri_cpe or pri_net for CPE or Network termination, and generally you will
+; want to create a single "group" for all channels of the PRI.
+;
+; switchtype cannot be changed on a reload.
+;
+; switchtype = national
+; signalling = pri_cpe
+; group = 2
+; channel => 1-23
+;
+; Alternatively, the number of the channel may be replaced with a relative
+; path to a device file under /dev/dahdi . The final element of that file
+; must be a number, though. The directory separator is '!', as we can't
+; use '/' in a dial string. So if we have
+;
+; /dev/dahdi/span-name/pstn/00/1
+; /dev/dahdi/span-name/pstn/00/2
+; /dev/dahdi/span-name/pstn/00/3
+; /dev/dahdi/span-name/pstn/00/4
+;
+; we could use:
+;channel => span-name!pstn!00!1-4
+;
+; or:
+;channel => span-name!pstn!00!1,2,3,4
+;
+; See also ignore_failed_channels above.
+
+; Used for distinctive ring support for x100p.
+; You can see the dringX patterns is to set any one of the dringXcontext fields
+; and they will be printed on the console when an inbound call comes in.
+;
+; dringXrange is used to change the acceptable ranges for "tone offsets". Defaults to 10.
+; Note: a range of 0 is NOT what you might expect - it instead forces it to the default.
+; A range of -1 will force it to always match.
+; Anything lower than -1 would presumably cause it to never match.
+;
+;dring1=95,0,0
+;dring1context=internal1
+;dring1range=10
+;dring2=325,95,0
+;dring2context=internal2
+;dring2range=10
+; If no pattern is matched here is where we go.
+;context=default
+;channel => 1
+
+; AMI alarm event reporting
+;reportalarms=channels
+;Possible values are:
+;channels - report each channel alarms (current behavior, default for backward compatibility)
+;spans - report an "SpanAlarm" event when the span of any configured channel is alarmed
+;all - report channel and span alarms (aggregated behavior)
+;none - do not report any alarms.
+
+; ---------------- Options for use with signalling=ss7 -----------------
+; None of them can be changed by a reload.
+;
+; Variant of SS7 signalling:
+; Options are itu and ansi
+;ss7type = itu
+
+; SS7 Called Nature of Address Indicator
+;
+; unknown: Unknown
+; subscriber: Subscriber
+; national: National
+; international: International
+; dynamic: Dynamically selects the appropriate dialplan
+;
+;ss7_called_nai=dynamic
+;
+; SS7 Calling Nature of Address Indicator
+;
+; unknown: Unknown
+; subscriber: Subscriber
+; national: National
+; international: International
+; dynamic: Dynamically selects the appropriate dialplan
+;
+;ss7_calling_nai=dynamic
+;
+;
+; sample 1 for Germany
+;ss7_internationalprefix = 00
+;ss7_nationalprefix = 0
+;ss7_subscriberprefix =
+;ss7_unknownprefix =
+;
+
+; This option is used to disable automatic sending of ACM when the call is started
+; in the dialplan. If you do use this option, you will need to use the Proceeding()
+; application in the dialplan to send ACM.
+;ss7_explictacm=yes
+
+; All settings apply to linkset 1
+;linkset = 1
+
+; Point code of the linkset. For ITU, this is the decimal number
+; format of the point code. For ANSI, this can either be in decimal
+; number format or in the xxx-xxx-xxx format
+;pointcode = 1
+
+; Point code of node adjacent to this signalling link (Possibly the STP between you and
+; your destination). Point code format follows the same rules as above.
+;adjpointcode = 2
+
+; Default point code that you would like to assign to outgoing messages (in case of
+; routing through STPs, or using A links). Point code format follows the same rules
+; as above.
+;defaultdpc = 3
+
+; Begin CIC (Circuit indication codes) count with this number
+;cicbeginswith = 1
+
+; What the MTP3 network indicator bits should be set to. Choices are
+; national, national_spare, international, international_spare
+;networkindicator=international
+
+; First signalling channel
+;sigchan = 48
+
+; Additional signalling channel for this linkset (So you can have a linkset
+; with two signalling links in it). It seems like a silly way to do it, but
+; for linksets with multiple signalling links, you add an additional sigchan
+; line for every additional signalling link on the linkset.
+;sigchan = 96
+
+; Channels to associate with CICs on this linkset
+;channel = 25-47
+;
+; For more information on setting up SS7, see the README file in libss7 or
+; the doc/ss7.txt file in the Asterisk source tree.
+; ----------------- SS7 Options ----------------------------------------
+
+; ---------------- Options for use with signalling=mfcr2 --------------
+
+; MFC-R2 signaling has lots of variants from country to country and even sometimes
+; minor variants inside the same country. The only mandatory parameters here are:
+; mfcr2_variant, mfcr2_max_ani and mfcr2_max_dnis.
+; IT IS RECOMMENDED that you leave the default values (leaving it commented) for the
+; other parameters unless you have problems or you have been instructed to change some
+; parameter. OpenR2 library uses the mfcr2_variant parameter to try to determine the
+; best defaults for your country, also refer to the OpenR2 package directory
+; doc/asterisk/ where you can find sample configurations for some countries. If you
+; want to contribute your configs for a particular country send them to the e-mail
+; of the primary OpenR2 developer that you can find in the AUTHORS file of the OpenR2 package
+
+; MFC/R2 variant. This depends on the OpenR2 supported variants
+; A list of values can be found by executing the openr2 command r2test -l
+; some valid values are:
+; ar (Argentina)
+; br (Brazil)
+; mx (Mexico)
+; ph (Philippines)
+; itu (per ITU spec)
+; mfcr2_variant=mx
+
+; Max amount of ANI to ask for
+; mfcr2_max_ani=10
+
+; Max amount of DNIS to ask for
+; mfcr2_max_dnis=4
+
+; whether or not to get the ANI before getting DNIS.
+; some telcos require ANI first some others do not care
+; if this go wrong, change this value
+; mfcr2_get_ani_first=no
+
+; Caller Category to send
+; national_subscriber
+; national_priority_subscriber
+; international_subscriber
+; international_priority_subscriber
+; collect_call
+; usually national_subscriber works just fine
+; you can change this setting from the dialplan
+; by setting the variable MFCR2_CATEGORY
+; (remember to set _MFCR2_CATEGORY from originating channels)
+; MFCR2_CATEGORY will also be a variable available in your context
+; on incoming calls set to the value received from the far end
+; mfcr2_category=national_subscriber
+
+; Call logging is stored at the Asterisk
+; logging directory specified in asterisk.conf
+; plus mfcr2/<whatever you put here>
+; if you specify 'span1' here and asterisk.conf has
+; as logging directory /var/log/asterisk then the full
+; path to your MFC/R2 call logs will be /var/log/asterisk/mfcr2/span1
+; (the directory will be automatically created if not present already)
+; remember to set mfcr2_call_files=yes
+; mfcr2_logdir=span1
+
+; whether or not to drop call files into mfcr2_logdir
+; mfcr2_call_files=yes|no
+
+; MFC/R2 valid logging values are: all,error,warning,debug,notice,cas,mf,stack,nothing
+; error,warning,debug and notice are self-descriptive
+; 'cas' is for logging ABCD CAS tx and rx
+; 'mf' is for logging of the Multi Frequency tones
+; 'stack' is for very verbose output of the channel and context call stack, only useful
+; if you are debugging a crash or want to learn how the library works. The stack logging
+; will be only enabled if the openr2 library was compiled with -DOR2_TRACE_STACKS
+; You can mix up values, like: loglevel=error,debug,mf to log just error, debug and
+; multi frequency messages
+; 'all' is a special value to log all the activity
+; 'nothing' is a clean-up value, in case you want to not log any activity for
+; a channel or group of channels
+; BE AWARE that the level of output logged will ALSO depend on
+; the value you have in logger.conf, if you disable output in logger.conf
+; then it does not matter you specify 'all' here, nothing will be logged
+; so logger.conf has the last word on what is going to be logged
+; mfcr2_logging=all
+
+; MFC/R2 value in milliseconds for the MF timeout. Any negative value
+; means 'default', smaller values than 500ms are not recommended
+; and can cause malfunctioning. If you experience protocol error
+; due to MF timeout try incrementing this value in 500ms steps
+; mfcr2_mfback_timeout=-1
+
+; MFC/R2 value in milliseconds for the metering pulse timeout.
+; Metering pulses are sent by some telcos for some R2 variants
+; during a call presumably for billing purposes to indicate costs,
+; however this pulses use the same signal that is used to indicate
+; call hangup, therefore a timeout is sometimes required to distinguish
+; between a *real* hangup and a billing pulse that should not
+; last more than 500ms, If you experience call drops after some
+; minutes of being stablished try setting a value of some ms here,
+; values greater than 500ms are not recommended.
+; BE AWARE that choosing the proper protocol mfcr2_variant parameter
+; implicitly sets a good recommended value for this timer, use this
+; parameter only when you *really* want to override the default, otherwise
+; just comment out this value or put a -1
+; Any negative value means 'default'.
+; mfcr2_metering_pulse_timeout=-1
+
+; Brazil uses a special calling party category for collect calls (llamadas por cobrar)
+; instead of using the operator (as in Mexico). The R2 spec in Brazil says a special GB tone
+; should be used to reject collect calls. If you want to ALLOW collect calls specify 'yes',
+; if you want to BLOCK collect calls then say 'no'. Default is to block collect calls.
+; (see also 'mfcr2_double_answer')
+; mfcr2_allow_collect_calls=no
+
+; This feature is related but independent of mfcr2_allow_collect_calls
+; Some PBX's require a double-answer process to block collect calls, if
+; you ever have problems blocking collect calls using Group B signals (mfcr2_allow_collect_calls=no)
+; then you may want to try with mfcr2_double_answer=yes, this will cause that every answer signal
+; is changed by answer->clear back->answer (sort of a flash)
+; (see also 'mfcr2_allow_collect_calls')
+; mfcr2_double_answer=no
+
+; This feature allows to skip the use of Group B/II signals and go directly
+; to the accepted state for incoming calls
+; mfcr2_immediate_accept=no
+
+; You most likely dont need this feature. Default is yes.
+; When this is set to yes, all calls that are offered (incoming calls) which
+; DNIS is valid (exists in extensions.conf) and pass collect call validation
+; will be accepted with a Group B tone (either call with charge or not, depending on mfcr2_charge_calls)
+; with this set to 'no' then the call will NOT be accepted on offered, and the call will start its
+; execution in extensions.conf without being accepted until the channel is answered (either with Answer() or
+; any other application resulting in the channel being answered).
+; This can be set to 'no' if your telco or PBX needs the hangup cause to be set accurately
+; when this option is set to no you must explicitly accept the call with DAHDIAcceptR2Call
+; or implicitly through the Answer() application.
+; mfcr2_accept_on_offer=yes
+
+; Skip request of calling party category and ANI
+; you need openr2 >= 1.2.0 to use this feature
+; mfcr2_skip_category=no
+
+; WARNING: advanced users only! I really mean it
+; this parameter is commented by default because
+; YOU DON'T NEED IT UNLESS YOU REALLY GROK MFC/R2
+; READ COMMENTS on doc/r2proto.conf in openr2 package
+; for more info
+; mfcr2_advanced_protocol_file=/path/to/r2proto.conf
+
+; Brazil use a special signal to force the release of the line (hangup) from the
+; backward perspective. When mfcr2_forced_release=no, the normal clear back signal
+; will be sent on hangup, which is OK for all mfcr2 variants I know of, except for
+; Brazilian variant, where the central will leave the line up for several seconds (30, 60)
+; which sometimes is not what people really want. When mfcr2_forced_release=yes, a different
+; signal will be sent to hangup the call indicating that the line should be released immediately
+; mfcr2_forced_release=no
+
+; Whether or not report to the other end 'accept call with charge'
+; This setting has no effect with most telecos, usually is safe
+; leave the default (yes), but once in a while when interconnecting with
+; old PBXs this may be useful.
+; Concretely this affects the Group B signal used to accept calls
+; The application DAHDIAcceptR2Call can also be used to decide this
+; in the dial plan in a per-call basis instead of doing it here for all calls
+; mfcr2_charge_calls=yes
+
+; ---------------- END of options to be used with signalling=mfcr2
+
+; Configuration Sections
+; ~~~~~~~~~~~~~~~~~~~~~~
+; You can also configure channels in a separate chan_dahdi.conf section. In
+; this case the keyword 'channel' is not used. Instead the keyword
+; 'dahdichan' is used (as in users.conf) - configuration is only processed
+; in a section where the keyword dahdichan is used. It will only be
+; processed in the end of the section. Thus the following section:
+;
+;[phones]
+;echocancel = 64
+;dahdichan = 1-8
+;group = 1
+;
+; Is somewhat equivalent to the following snippet in the section
+; [channels]:
+;
+;echocancel = 64
+;group = 1
+;channel => 1-8
+;
+; When starting a new section almost all of the configuration values are
+; copied from their values at the end of the section [channels] in
+; chan_dahdi.conf and [general] in users.conf - one section's configuration
+; does not affect another one's.
+;
+; Instead of letting common configuration values "slide through" you can
+; use configuration templates to easily keep the common part in one
+; place and override where needed.
+;
+;[phones](!)
+;echocancel = yes
+;group = 0,4
+;callgroup = 3
+;pickupgroup = 3
+;threewaycalling = yes
+;transfer = yes
+;context = phones
+;faxdetect = incoming
+;
+;[phone-1](phones)
+;dahdichan = 1
+;callerid = My Name <501>
+;mailbox = 501@mailboxes
+;
+;
+;[fax](phones)
+;dahdichan = 2
+;faxdetect = no
+;context = fax
+;
+;[phone-3](phones)
+;dahdichan = 3
+;pickupgroup = 3,4
+
+;signalling = bri_net_ptmp
+;switchtype = euroisdn
+;channel => 2-3
+;;signalling = bri_net
+;;channel => 4,5
+;signalling = bri_cpe
+;switchtype = euroisdn
+;channel => 7-8
+;
+
+signalling=fxo_ks
+callerid="Analog Phone" <1>
+mailbox=101
+;txgain=-30.0
+group=11
+context=from-pstn
+channel => 1
+;
+signalling=fxs_ks
+callerid=asreceived
+group=12
+context=from-pstn
+channel => 2
+
+signalling=bri_net_ptmp
+;signalling=bri_cpe_ptmp
+switchtype=euroisdn
+callerid="ISDN Phone" <2>
+context=from-isdn
+group=21
+channel => 3-4
+
+signalling=bri_net_ptmp
+;signalling=bri_cpe_ptmp
+switchtype=euroisdn
+callerid="Jean" <202>
+context=from-isdn
+group=22
+channel => 6-7
+
+signalling=bri_net_ptmp
+;signalling=bri_cpe_ptmp
+context=from-isdn
+switchtype=euroisdn
+group=23
+channel => 9-10
+
+signalling=bri_net_ptmp
+;signalling=bri_cpe_ptmp
+context=from-isdn
+switchtype=euroisdn
+group=24
+channel => 12-13
diff --git a/factory/full_IO/chan_dahdi.conf.te b/factory/full_IO/chan_dahdi.conf.te
new file mode 100644
index 0000000..7c6df32
--- /dev/null
+++ b/factory/full_IO/chan_dahdi.conf.te
@@ -0,0 +1,1457 @@
+;
+; DAHDI Telephony Configuration file
+;
+; You need to restart Asterisk to re-configure the DAHDI channel
+; CLI> module reload chan_dahdi.so
+; will reload the configuration file, but not all configuration options
+; are re-configured during a reload (signalling, as well as PRI and
+; SS7-related settings cannot be changed on a reload).
+;
+; This file documents many configuration variables. Normally unless you know
+; what a variable means or that it should be changed, there's no reason to
+; un-comment those lines.
+;
+; Examples below that are commented out (those lines that begin with a ';' but
+; no space afterwards) typically show a value that is not the default value,
+; but would make sense under certain circumstances. The default values are
+; usually sane. Thus you should typically not touch them unless you know what
+; they mean or you know you should change them.
+
+[trunkgroups]
+;
+; Trunk groups are used for NFAS connections.
+;
+; Group: Defines a trunk group.
+; trunkgroup => <trunkgroup>,<dchannel>[,<backup1>...]
+;
+; trunkgroup is the numerical trunk group to create
+; dchannel is the DAHDI channel which will have the
+; d-channel for the trunk.
+; backup1 is an optional list of backup d-channels.
+;
+;trunkgroup => 1,24,48
+;trunkgroup => 1,24
+;
+; Spanmap: Associates a span with a trunk group
+; spanmap => <dahdispan>,<trunkgroup>[,<logicalspan>]
+;
+; dahdispan is the DAHDI span number to associate
+; trunkgroup is the trunkgroup (specified above) for the mapping
+; logicalspan is the logical span number within the trunk group to use.
+; if unspecified, no logical span number is used.
+;
+;spanmap => 1,1,1
+;spanmap => 2,1,2
+;spanmap => 3,1,3
+;spanmap => 4,1,4
+
+[channels]
+;
+; Default language
+;
+;language=en
+;
+; Context for calls. Defaults to 'default'
+;
+;context=incoming
+;
+; Switchtype: Only used for PRI.
+;
+; national: National ISDN 2 (default)
+; dms100: Nortel DMS100
+; 4ess: AT&T 4ESS
+; 5ess: Lucent 5ESS
+; euroisdn: EuroISDN (common in Europe)
+; ni1: Old National ISDN 1
+; qsig: Q.SIG
+;
+;switchtype=euroisdn
+;
+; MSNs for ISDN spans. Asterisk will listen for the listed numbers on
+; incoming calls and ignore any calls not listed.
+; Here you can give a comma separated list of numbers or dialplan extension
+; patterns. An empty list disables MSN matching to allow any incoming call.
+; Only set on PTMP CPE side of ISDN span if needed.
+; The default is an empty list.
+;msn=
+;
+; Some switches (AT&T especially) require network specific facility IE.
+; Supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
+;
+; nsf cannot be changed on a reload.
+;
+;nsf=none
+;
+;service_message_support=yes
+; Enable service message support for channel. Must be set after switchtype.
+;
+; Dialing options for ISDN (i.e., Dial(DAHDI/g1/exten/options)):
+; R Reverse Charge Indication
+; Indicate to the called party that the call will be reverse charged.
+; K(n) Keypad digits n
+; Send out the specified digits as keypad digits.
+;
+; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for
+; the dialed number. For most installations, leaving this as 'unknown' (the
+; default) works in the most cases. In some very unusual circumstances, you
+; may need to set this to 'dynamic' or 'redundant'. Note that if you set one
+; of the others, you will be unable to dial another class of numbers. For
+; example, if you set 'national', you will be unable to dial local or
+; international numbers.
+;
+; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's
+; numbering plan). In North America, the typical use is sending the 10 digit
+; callerID number and setting the prilocaldialplan to 'national' (the default).
+; Only VERY rarely will you need to change this.
+;
+; Neither pridialplan nor prilocaldialplan can be changed on reload.
+;
+; unknown: Unknown
+; private: Private ISDN
+; local: Local ISDN
+; national: National ISDN
+; international: International ISDN
+; dynamic: Dynamically selects the appropriate dialplan
+; redundant: Same as dynamic, except that the underlying number is not
+; changed (not common)
+;
+;pridialplan=unknown
+;prilocaldialplan=national
+;
+; pridialplan may be also set at dialtime, by prefixing the dialled number with
+; one of the following letters:
+; U - Unknown
+; I - International
+; N - National
+; L - Local (Net Specific)
+; S - Subscriber
+; V - Abbreviated
+; R - Reserved (should probably never be used but is included for completeness)
+;
+; Additionally, you may also set the following NPI bits (also by prefixing the
+; dialled string with one of the following letters):
+; u - Unknown
+; e - E.163/E.164 (ISDN/telephony)
+; x - X.121 (Data)
+; f - F.69 (Telex)
+; n - National
+; p - Private
+; r - Reserved (should probably never be used but is included for completeness)
+;
+; You may also set the prilocaldialplan in the same way, but by prefixing the
+; Caller*ID Number, rather than the dialled number. Please note that telcos
+; which require this kind of additional manipulation of the TON/NPI are *rare*.
+; Most telco PRIs will work fine simply by setting pridialplan to unknown or
+; dynamic.
+;
+;
+; PRI caller ID prefixes based on the given TON/NPI (dialplan)
+; This is especially needed for EuroISDN E1-PRIs
+;
+; None of the prefix settings can be changed on reload.
+;
+; sample 1 for Germany
+;internationalprefix = 00
+;nationalprefix = 0
+;localprefix = 0711
+;privateprefix = 07115678
+;unknownprefix =
+;
+; sample 2 for Germany
+;internationalprefix = +
+;nationalprefix = +49
+;localprefix = +49711
+;privateprefix = +497115678
+;unknownprefix =
+;
+; PRI resetinterval: sets the time in seconds between restart of unused
+; B channels; defaults to 'never'.
+;
+;resetinterval = 3600
+;
+; Overlap dialing mode (sending overlap digits)
+; Cannot be changed on a reload.
+;
+; incoming: incoming direction only
+; outgoing: outgoing direction only
+; no: neither direction
+; yes or both: both directions
+;
+;overlapdial=yes
+;
+; Allow inband audio (progress) when a call is DISCONNECTed by the far end of a PRI
+;
+;inbanddisconnect=yes
+;
+; Allow a held call to be transferred to the active call on disconnect.
+; This is useful on BRI PTMP NT lines where an ISDN phone can simulate the
+; transfer feature of an analog phone.
+; The default is no.
+;hold_disconnect_transfer=yes
+;
+; PRI Out of band indications.
+; Enable this to report Busy and Congestion on a PRI using out-of-band
+; notification. Inband indication, as used by Asterisk doesn't seem to work
+; with all telcos.
+;
+; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT
+; inband: Signal Busy/Congestion using in-band tones (default)
+;
+; priindication cannot be changed on a reload.
+;
+;priindication = outofband
+;
+; If you need to override the existing channels selection routine and force all
+; PRI channels to be marked as exclusively selected, set this to yes.
+;
+; priexclusive cannot be changed on a reload.
+;
+;priexclusive = yes
+;
+;
+; If you need to use the logical channel mapping with your Q.SIG PRI instead
+; of the physical mapping you must use the qsigchannelmapping option.
+;
+; logical: Use the logical channel mapping
+; physical: Use physical channel mapping (default)
+;
+;qsigchannelmapping=logical
+;
+; If you wish to ignore remote hold indications (and use MOH that is supplied over
+; the B channel) enable this option.
+;
+;discardremoteholdretrieval=yes
+;
+; ISDN Timers
+; All of the ISDN timers and counters that are used are configurable. Specify
+; the timer name, and its value (in ms for timers).
+; K: Layer 2 max number of outstanding unacknowledged I frames (default 7)
+; N200: Layer 2 max number of retransmissions of a frame (default 3)
+; T200: Layer 2 max time before retransmission of a frame (default 1000 ms)
+; T203: Layer 2 max time without frames being exchanged (default 10000 ms)
+; T305: Wait for DISCONNECT acknowledge (default 30000 ms)
+; T308: Wait for RELEASE acknowledge (default 4000 ms)
+; T309: Maintain active calls on Layer 2 disconnection (default -1,
+; Asterisk clears calls)
+; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s
+; May vary in other ISDN standards (Q.931 1993 : 90000 ms)
+; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms)
+;
+; T-RESPONSE: Maximum time to wait for a typical APDU response. (default 4000 ms)
+; This is an implementation timer when the standard does not specify one.
+; T-ACTIVATE: Request supervision timeout. (default 10000 ms)
+; T-RETENTION: Maximum time to wait for user A to activate call-completion. (default 30000 ms)
+; Used by ETSI PTP, ETSI PTMP, and Q.SIG as the cc_offer_timer.
+; T-CCBS1: T-STATUS timer equivalent for CC user A status. (default 4000 ms)
+; T-CCBS2: Maximum time the CCBS service will be active (default 45 min in ms)
+; T-CCBS3: Maximum time to wait for user A to respond to user B availability. (default 20000 ms)
+; T-CCBS5: Network B CCBS supervision timeout. (default 60 min in ms)
+; T-CCBS6: Network A CCBS supervision timeout. (default 60 min in ms)
+; T-CCNR2: Maximum time the CCNR service will be active (default 180 min in ms)
+; T-CCNR5: Network B CCNR supervision timeout. (default 195 min in ms)
+; T-CCNR6: Network A CCNR supervision timeout. (default 195 min in ms)
+; CC-T1: Q.SIG CC request supervision timeout. (default 30000 ms)
+; CCBS-T2: Q.SIG CCBS supervision timeout. (default 60 min in ms)
+; CCNR-T2: Q.SIG CCNR supervision timeout. (default 195 min in ms)
+; CC-T3: Q.SIG CC Maximum time to wait for user A to respond to user B availability. (default 30000 ms)
+;
+;pritimer => t200,1000
+;pritimer => t313,4000
+;
+; CC PTMP recall mode:
+; specific - Only the CC original party A can participate in the CC callback
+; global - Other compatible endpoints on the PTMP line can be party A in the CC callback
+;
+; cc_ptmp_recall_mode cannot be changed on a reload.
+;
+;cc_ptmp_recall_mode = specific
+;
+; CC Q.SIG Party A (requester) retain signaling link option
+; retain Require that the signaling link be retained.
+; release Request that the signaling link be released.
+; do_not_care The responder is free to choose if the signaling link will be retained.
+;
+;cc_qsig_signaling_link_req = retain
+;
+; CC Q.SIG Party B (responder) retain signaling link option
+; retain Prefer that the signaling link be retained.
+; release Prefer that the signaling link be released.
+;
+;cc_qsig_signaling_link_rsp = retain
+;
+; See ccss.conf.sample for more options. The timers described by ccss.conf.sample
+; are not used by ISDN for the native protocol since they are defined by the
+; standards and set by pritimer above.
+;
+; To enable transmission of facility-based ISDN supplementary services (such
+; as caller name from CPE over facility), enable this option.
+; Cannot be changed on a reload.
+;
+;facilityenable = yes
+;
+
+; This option enables Advice of Charge pass-through between the ISDN PRI and
+; Asterisk. This option can be set to any combination of 's', 'd', and 'e' which
+; represent the different variants of Advice of Charge, AOC-S, AOC-D, and AOC-E.
+; Advice of Charge pass-through is currently only supported for ETSI. Since most
+; AOC messages are sent on facility messages, the 'facilityenable' option must
+; also be enabled to fully support AOC pass-through.
+;
+;aoc_enable=s,d,e
+;
+; When this option is enabled, a hangup initiated by the ISDN PRI side of the
+; asterisk channel will result in the channel delaying its hangup in an
+; attempt to receive the final AOC-E message from its bridge. The delay
+; period is configured as one half the T305 timer length. If the channel
+; is not bridged the hangup will occur immediatly without delay.
+;
+;aoce_delayhangup=yes
+
+; pritimer cannot be changed on a reload.
+;
+; Signalling method. The default is "auto". Valid values:
+; auto: Use the current value from DAHDI.
+; em: E & M
+; em_e1: E & M E1
+; em_w: E & M Wink
+; featd: Feature Group D (The fake, Adtran style, DTMF)
+; featdmf: Feature Group D (The real thing, MF (domestic, US))
+; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through
+; a Tandem Access point
+; featb: Feature Group B (MF (domestic, US))
+; fgccama: Feature Group C-CAMA (DP DNIS, MF ANI)
+; fgccamamf: Feature Group C-CAMA MF (MF DNIS, MF ANI)
+; fxs_ls: FXS (Loop Start)
+; fxs_gs: FXS (Ground Start)
+; fxs_ks: FXS (Kewl Start)
+; fxo_ls: FXO (Loop Start)
+; fxo_gs: FXO (Ground Start)
+; fxo_ks: FXO (Kewl Start)
+; pri_cpe: PRI signalling, CPE side
+; pri_net: PRI signalling, Network side
+; bri_cpe: BRI PTP signalling, CPE side
+; bri_net: BRI PTP signalling, Network side
+; bri_cpe_ptmp: BRI PTMP signalling, CPE side
+; bri_net_ptmp: BRI PTMP signalling, Network side
+; sf: SF (Inband Tone) Signalling
+; sf_w: SF Wink
+; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF)
+; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US))
+; sf_featb: SF Feature Group B (MF (domestic, US))
+; e911: E911 (MF) style signalling
+; ss7: Signalling System 7
+; mfcr2: MFC/R2 Signalling. To specify the country variant see 'mfcr2_variant'
+;
+; The following are used for Radio interfaces:
+; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the
+; channel bank)
+; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the
+; channel bank)
+; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the
+; channel bank)
+; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at
+; the channel bank)
+; em_rx: Receive audio/COR on an E&M interface (1-way)
+; em_tx: Transmit audio/PTT on an E&M interface (1-way)
+; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface
+; (2-way)
+; em_rxtx: Same as em_txrx (for our dyslexic friends)
+; sf_rx: Receive audio/COR on an SF interface (1-way)
+; sf_tx: Transmit audio/PTT on an SF interface (1-way)
+; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface
+; (2-way)
+; sf_rxtx: Same as sf_txrx (for our dyslexic friends)
+; ss7: Signalling System 7
+;
+; signalling of a channel can not be changed on a reload.
+;
+;signalling=fxo_ls
+;
+; If you have an outbound signalling format that is different from format
+; specified above (but compatible), you can specify outbound signalling format,
+; (see below). The 'signalling' format specified will be the inbound signalling
+; format. If you only specify 'signalling', then it will be the format for
+; both inbound and outbound.
+;
+; outsignalling can only be one of:
+; em, em_e1, em_w, sf, sf_w, sf_featd, sf_featdmf, sf_featb, featd,
+; featdmf, featdmf_ta, e911, fgccama, fgccamamf
+;
+; outsignalling cannot be changed on a reload.
+;
+;signalling=featdmf
+;
+;outsignalling=featb
+;
+; For Feature Group D Tandem access, to set the default CIC and OZZ use these
+; parameters (Will not be updated on reload):
+;
+;defaultozz=0000
+;defaultcic=303
+;
+; A variety of timing parameters can be specified as well
+; The default values for those are "-1", which is to use the
+; compile-time defaults of the DAHDI kernel modules. The timing
+; parameters, (with the standard default from DAHDI):
+;
+; prewink: Pre-wink time (default 50ms)
+; preflash: Pre-flash time (default 50ms)
+; wink: Wink time (default 150ms)
+; flash: Flash time (default 750ms)
+; start: Start time (default 1500ms)
+; rxwink: Receiver wink time (default 300ms)
+; rxflash: Receiver flashtime (default 1250ms)
+; debounce: Debounce timing (default 600ms)
+;
+; None of them will update on a reload.
+;
+; How long generated tones (DTMF and MF) will be played on the channel
+; (in milliseconds).
+;
+; This is a global, rather than a per-channel setting. It will not be
+; updated on a reload.
+;
+;toneduration=100
+;
+; Whether or not to do distinctive ring detection on FXO lines:
+;
+;usedistinctiveringdetection=yes
+;
+; enable dring detection after caller ID for those countries like Australia
+; where the ring cadence is changed *after* the caller ID spill:
+;
+;distinctiveringaftercid=yes
+;
+; Whether or not to use caller ID:
+;
+usecallerid=yes
+;
+; Type of caller ID signalling in use
+; bell = bell202 as used in US (default)
+; v23 = v23 as used in the UK
+; v23_jp = v23 as used in Japan
+; dtmf = DTMF as used in Denmark, Sweden and Netherlands
+; smdi = Use SMDI for caller ID. Requires SMDI to be enabled (usesmdi).
+;
+;cidsignalling=v23
+;
+; What signals the start of caller ID
+; ring = a ring signals the start (default)
+; polarity = polarity reversal signals the start
+; polarity_IN = polarity reversal signals the start, for India,
+; for dtmf dialtone detection; using DTMF.
+; (see doc/India-CID.txt)
+; dtmf = causes monitor loop to look for dtmf energy on the
+; incoming channel to initate cid acquisition
+;
+;cidstart=polarity
+;
+; When cidstart=dtmf, the energy level on the line used to trigger dtmf cid
+; acquisition. This number is compared to the average over a packet of audio
+; of the absolute values of 16 bit signed linear samples. The default is set
+; to 256. The choice of 256 is arbitrary. The value you should select should
+; be high enough to prevent false detections while low enough to insure that
+; no dtmf spills are missed.
+;
+;dtmfcidlevel=256
+;
+; Whether or not to hide outgoing caller ID (Override with *67 or *82)
+; (If your dialplan doesn't catch it)
+;
+;hidecallerid=yes
+;
+; Enable if you need to hide just the name and not the number for legacy PBX use.
+; Only applies to PRI channels.
+;hidecalleridname=yes
+;
+; On UK analog lines, the caller hanging up determines the end of calls. So
+; Asterisk hanging up the line may or may not end a call (DAHDI could just as
+; easily be re-attaching to a prior incoming call that was not yet hung up).
+; This option changes the hangup to wait for a dialtone on the line, before
+; marking the line as once again available for use with outgoing calls.
+;waitfordialtone=yes
+;
+; The following option enables receiving MWI on FXO lines. The default
+; value is no.
+; The mwimonitor can take the following values
+; no - No mwimonitoring occurs. (default)
+; yes - The same as specifying fsk
+; fsk - the FXO line is monitored for MWI FSK spills
+; fsk,rpas - the FXO line is monitored for MWI FSK spills preceded
+; by a ring pulse alert signal.
+; neon - The fxo line is monitored for the presence of NEON pulses
+; indicating MWI.
+; When detected, an internal Asterisk MWI event is generated so that any other
+; part of Asterisk that cares about MWI state changes is notified, just as if
+; the state change came from app_voicemail.
+; For FSK MWI Spills, the energy level that must be seen before starting the
+; MWI detection process can be set with 'mwilevel'.
+;
+;mwimonitor=no
+;mwilevel=512
+;
+; This option is used in conjunction with mwimonitor. This will get executed
+; when incoming MWI state changes. The script is passed 2 arguments. The
+; first is the corresponding mailbox, and the second is 1 or 0, indicating if
+; there are messages waiting or not.
+;
+;mwimonitornotify=/usr/local/bin/dahdinotify.sh
+;
+; The following keyword 'mwisendtype' enables various VMWI methods on FXS lines (if supported).
+; The default is to send FSK only.
+; The following options are available;
+; 'rpas' Ring Pulse Alert Signal, alerts intelligent phones that a FSK message is about to be sent.
+; 'lrev' Line reversed to indicate messages waiting.
+; 'hvdc' 90Vdc OnHook DC voltage to indicate messages waiting.
+; 'hvac' or 'neon' 90Vac OnHook AC voltage to light Neon bulb.
+; 'nofsk' Disables FSK MWI spills from being sent out.
+; It is feasible that multiple options can be enabled.
+;mwisendtype=rpas,lrev
+;
+; Whether or not to enable call waiting on internal extensions
+; With this set to 'yes', busy extensions will hear the call-waiting
+; tone, and can use hook-flash to switch between callers. The Dial()
+; app will not return the "BUSY" result for extensions.
+;
+callwaiting=yes
+;
+; Configure the number of outstanding call waiting calls for internal ISDN
+; endpoints before bouncing the calls as busy. This option is equivalent to
+; the callwaiting option for analog ports.
+; A call waiting call is a SETUP message with no B channel selected.
+; The default is zero to disable call waiting for ISDN endpoints.
+;max_call_waiting_calls=0
+;
+; Allow incoming ISDN call waiting calls.
+; A call waiting call is a SETUP message with no B channel selected.
+;allow_call_waiting_calls=no
+;
+; Configure the ISDN span to indicate MWI for the list of mailboxes.
+; You can give a comma separated list of up to 8 mailboxes per span.
+; An empty list disables MWI.
+; The default is an empty list.
+;mwi_mailboxes=mailbox_number[@context]{,mailbox_number[@context]}
+;
+; Whether or not restrict outgoing caller ID (will be sent as ANI only, not
+; available for the user)
+; Mostly use with FXS ports
+; Does nothing. Use hidecallerid instead.
+;
+;restrictcid=no
+;
+; Whether or not to use the caller ID presentation from the Asterisk channel
+; for outgoing calls.
+; See dialplan function CALLERID(pres) for more information.
+; Only applies to PRI and SS7 channels.
+;
+usecallingpres=yes
+;
+; Some countries (UK) have ring tones with different ring tones (ring-ring),
+; which means the caller ID needs to be set later on, and not just after
+; the first ring, as per the default (1).
+;
+;sendcalleridafter = 2
+;
+;
+; Support caller ID on Call Waiting
+;
+callwaitingcallerid=yes
+;
+; Support three-way calling
+;
+threewaycalling=yes
+;
+; For FXS ports (either direct analog or over T1/E1):
+; Support flash-hook call transfer (requires three way calling)
+; Also enables call parking (overrides the 'canpark' parameter)
+;
+; For digital ports using ISDN PRI protocols:
+; Support switch-side transfer (called 2BCT, RLT or other names)
+; This setting must be enabled on both ports involved, and the
+; 'facilityenable' setting must also be enabled to allow sending
+; the transfer to the ISDN switch, since it sent in a FACILITY
+; message.
+; NOTE: This should be disabled for NT PTMP mode. Phones cannot
+; have tromboned calls pushed down to them.
+;
+transfer=yes
+;
+; Allow call parking
+; ('canpark=no' is overridden by 'transfer=yes')
+;
+canpark=yes
+;
+; Support call forward variable
+;
+cancallforward=yes
+;
+; Whether or not to support Call Return (*69, if your dialplan doesn't
+; catch this first)
+;
+callreturn=yes
+;
+; Stutter dialtone support: If a mailbox is specified without a voicemail
+; context, then when voicemail is received in a mailbox in the default
+; voicemail context in voicemail.conf, taking the phone off hook will cause a
+; stutter dialtone instead of a normal one.
+;
+; If a mailbox is specified *with* a voicemail context, the same will result
+; if voicemail received in mailbox in the specified voicemail context.
+;
+; for default voicemail context, the example below is fine:
+;
+;mailbox=1234
+;
+; for any other voicemail context, the following will produce the stutter tone:
+;
+;mailbox=1234@context
+;
+; Enable echo cancellation
+; Use either "yes", "no", or a power of two from 32 to 256 if you wish to
+; actually set the number of taps of cancellation.
+;
+; Note that when setting the number of taps, the number 256 does not translate
+; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms.
+;
+; Note that if any of your DAHDI cards have hardware echo cancellers,
+; then this setting only turns them on and off; numeric settings will
+; be treated as "yes". There are no special settings required for
+; hardware echo cancellers; when present and enabled in their kernel
+; modules, they take precedence over the software echo canceller compiled
+; into DAHDI automatically.
+;
+;
+echocancel=yes
+;
+; Some DAHDI echo cancellers (software and hardware) support adjustable
+; parameters; these parameters can be supplied as additional options to
+; the 'echocancel' setting. Note that Asterisk does not attempt to
+; validate the parameters or their values, so if you supply an invalid
+; parameter you will not know the specific reason it failed without
+; checking the kernel message log for the error(s) put there by DAHDI.
+;
+;echocancel=128,param1=32,param2=0,param3=14
+;
+; Generally, it is not necessary (and in fact undesirable) to echo cancel when
+; the circuit path is entirely TDM. You may, however, change this behavior
+; by enabling the echo canceller during pure TDM bridging below.
+;
+echocancelwhenbridged=yes
+;
+; In some cases, the echo canceller doesn't train quickly enough and there
+; is echo at the beginning of the call. Enabling echo training will cause
+; DAHDI to briefly mute the channel, send an impulse, and use the impulse
+; response to pre-train the echo canceller so it can start out with a much
+; closer idea of the actual echo. Value may be "yes", "no", or a number of
+; milliseconds to delay before training (default = 400)
+;
+; WARNING: In some cases this option can make echo worse! If you are
+; trying to debug an echo problem, it is worth checking to see if your echo
+; is better with the option set to yes or no. Use whatever setting gives
+; the best results.
+;
+; Note that these parameters do not apply to hardware echo cancellers.
+;
+;echotraining=yes
+;echotraining=800
+;
+; If you are having trouble with DTMF detection, you can relax the DTMF
+; detection parameters. Relaxing them may make the DTMF detector more likely
+; to have "talkoff" where DTMF is detected when it shouldn't be.
+;
+;relaxdtmf=yes
+;
+; You may also set the default receive and transmit gains (in dB)
+;
+; Gain Settings: increasing / decreasing the volume level on a channel.
+; The values are in db (decibells). A positive number
+; increases the volume level on a channel, and a
+; negavive value decreases volume level.
+;
+; Dynamic Range Compression: you can also enable dynamic range compression
+; on a channel. This will amplify quiet sounds while leaving
+; louder sounds untouched. This is useful in situations where
+; a linear gain setting would cause clipping. Acceptable values
+; are in the range of 0.0 to around 6.0 with higher values
+; causing more compression to be done.
+;
+; There are several independent gain settings:
+; rxgain: gain for the rx (receive - into Asterisk) channel. Default: 0.0
+; txgain: gain for the tx (transmit - out of Asterisk Asterisk) channel.
+; Default: 0.0
+; cid_rxgain: set the gain just for the caller ID sounds Asterisk
+; emits. Default: 5.0 .
+; rxdrc: dynamic range compression for the rx channel. Default: 0.0
+; txdrc: dynamic range compression for the tx channel. Default: 0.0
+
+;rxgain=2.0
+;txgain=3.0
+;
+;rxdrc=1.0
+;txdrc=4.0
+;
+; Logical groups can be assigned to allow outgoing roll-over. Groups range
+; from 0 to 63, and multiple groups can be specified. By default the
+; channel is not a member of any group.
+;
+; Note that an explicit empty value for 'group' is invalid, and will not
+; override a previous non-empty one. The same applies to callgroup and
+; pickupgroup as well.
+;
+group=1
+;
+; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing
+; and it is a member of a group which is one of your pickup groups, then
+; you can answer it by picking up and dialing *8#. For simple offices, just
+; make these both the same. Groups range from 0 to 63.
+;
+callgroup=1
+pickupgroup=1
+
+; Channel variable to be set for all calls from this channel
+;setvar=CHANNEL=42
+;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
+ ; cause the given audio file to
+ ; be played upon completion of
+ ; an attended transfer.
+
+;
+; Specify whether the channel should be answered immediately or if the simple
+; switch should provide dialtone, read digits, etc.
+; Note: If immediate=yes the dialplan execution will always start at extension
+; 's' priority 1 regardless of the dialed number!
+;
+;immediate=yes
+;
+; Specify whether flash-hook transfers to 'busy' channels should complete or
+; return to the caller performing the transfer (default is yes).
+;
+;transfertobusy=no
+
+; Calls will have the party id user tag set to this string value.
+;
+;cid_tag=
+
+; With this set, you can automatically append the MSN of a party
+; to the cid_tag. An '_' is used to separate the tag from the MSN.
+; Applies to ISDN spans.
+; Default is no.
+;
+; Table of what number is appended:
+; outgoing incoming
+; net dialed caller
+; cpe caller dialed
+;
+;append_msn_to_cid_tag=no
+
+; caller ID can be set to "asreceived" or a specific number if you want to
+; override it. Note that "asreceived" only applies to trunk interfaces.
+; fullname sets just the
+;
+; fullname: sets just the name part.
+; cid_number: sets just the number part:
+;
+;callerid = 123456
+;
+;callerid = My Name <2564286000>
+; Which can also be written as:
+;cid_number = 2564286000
+;fullname = My Name
+;
+;callerid = asreceived
+;
+; should we use the caller ID from incoming call on DAHDI transfer?
+;
+;useincomingcalleridondahditransfer = yes
+;
+; AMA flags affects the recording of Call Detail Records. If specified
+; it may be 'default', 'omit', 'billing', or 'documentation'.
+;
+;amaflags=default
+;
+; Channels may be associated with an account code to ease
+; billing
+;
+;accountcode=lss0101
+;
+; ADSI (Analog Display Services Interface) can be enabled on a per-channel
+; basis if you have (or may have) ADSI compatible CPE equipment
+;
+;adsi=yes
+;
+; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel
+; basis if you would like that channel to behave like an SMDI message desk.
+; The SMDI port specified should have already been defined in smdi.conf. The
+; default port is /dev/ttyS0.
+;
+;usesmdi=yes
+;smdiport=/dev/ttyS0
+;
+; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D
+; etc, it can be useful to perform busy detection either in an effort to
+; detect hangup or for detecting busies. This enables listening for
+; the beep-beep busy pattern.
+;
+;busydetect=yes
+;
+; If busydetect is enabled, it is also possible to specify how many busy tones
+; to wait for before hanging up. The default is 3, but it might be
+; safer to set to 6 or even 8. Mind that the higher the number, the more
+; time that will be needed to hangup a channel, but lowers the probability
+; that you will get random hangups.
+;
+;busycount=6
+;
+; If busydetect is enabled, it is also possible to specify the cadence of your
+; busy signal. In many countries, it is 500msec on, 500msec off. Without
+; busypattern specified, we'll accept any regular sound-silence pattern that
+; repeats <busycount> times as a busy signal. If you specify busypattern,
+; then we'll further check the length of the sound (tone) and silence, which
+; will further reduce the chance of a false positive.
+;
+;busypattern=500,500
+;
+; NOTE: In make menuselect, you'll find further options to tweak the busy
+; detector. If your country has a busy tone with the same length tone and
+; silence (as many countries do), consider enabling the
+; BUSYDETECT_COMPARE_TONE_AND_SILENCE option.
+;
+; To further detect which hangup tone your telco provider is sending, it is
+; useful to use the ztmonitor utility to record the audio that main/dsp.c
+; is receiving after the caller hangs up.
+;
+; For FXS (FXO signalled) ports
+; switch the line polarity to signal the connected PBX that an outgoing
+; call was answered by the remote party.
+; For FXO (FXS signalled) ports
+; watch for a polarity reversal to mark when a outgoing call is
+; answered by the remote party.
+;
+;answeronpolarityswitch=yes
+;
+; For FXS (FXO signalled) ports
+; switch the line polarity to signal the connected PBX that the current
+; call was "hung up" by the remote party
+; For FXO (FXS signalled) ports
+; In some countries, a polarity reversal is used to signal the disconnect of a
+; phone line. If the hanguponpolarityswitch option is selected, the call will
+; be considered "hung up" on a polarity reversal.
+;
+;hanguponpolarityswitch=yes
+;
+; polarityonanswerdelay: minimal time period (ms) between the answer
+; polarity switch and hangup polarity switch.
+; (default: 600ms)
+;
+; On trunk interfaces (FXS) it can be useful to attempt to follow the progress
+; of a call through RINGING, BUSY, and ANSWERING. If turned on, call
+; progress attempts to determine answer, busy, and ringing on phone lines.
+; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers,
+; so don't count on it being very accurate.
+;
+; Few zones are supported at the time of this writing, but may be selected
+; with "progzone".
+;
+; progzone also affects the pattern used for buzydetect (unless
+; busypattern is set explicitly). The possible values are:
+; us (default)
+; ca (alias for 'us')
+; cr (Costa Rica)
+; br (Brazil, alias for 'cr')
+; uk
+;
+; This feature can also easily detect false hangups. The symptoms of this is
+; being disconnected in the middle of a call for no reason.
+;
+;callprogress=yes
+;progzone=uk
+;
+; Set the tonezone. Equivalent of the defaultzone settings in
+; /etc/dahdi/system.conf. This sets the tone zone by number.
+; Note that you'd still need to load tonezones (loadzone in
+; /etc/dahdi/system.conf).
+; The default is -1: not to set anything.
+;tonezone = 0 ; 0 is US
+;
+; FXO (FXS signalled) devices must have a timeout to determine if there was a
+; hangup before the line was answered. This value can be tweaked to shorten
+; how long it takes before DAHDI considers a non-ringing line to have hungup.
+;
+; ringtimeout will not update on a reload.
+;
+;ringtimeout=8000
+;
+; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF
+; Pulse digits from phones (FXS devices, FXO signalling) are always
+; detected.
+;
+;pulsedial=yes
+;
+; For fax detection, uncomment one of the following lines. The default is *OFF*
+;
+;faxdetect=both
+;faxdetect=incoming
+;faxdetect=outgoing
+;faxdetect=no
+;
+; When 'faxdetect' is used, one could use 'faxbuffers' to configure the DAHDI
+; transmit buffer policy. The default is *OFF*. When this configuration
+; option is used, the faxbuffer policy will be used for the life of the call
+; after a fax tone is detected. The faxbuffer policy is reverted after the
+; call is torn down. The sample below will result in 6 buffers and a full
+; buffer policy.
+;
+;faxbuffers=>6,full
+;
+; This option specifies a preference for which music on hold class this channel
+; should listen to when put on hold if the music class has not been set on the
+; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
+; channel putting this one on hold did not suggest a music class.
+;
+; If this option is set to "passthrough", then the hold message will always be
+; passed through as signalling instead of generating hold music locally. This
+; setting is only valid when used on a channel that uses digital signalling.
+;
+; This option may be set globally or on a per-channel basis.
+;
+;mohinterpret=default
+;
+; This option specifies which music on hold class to suggest to the peer channel
+; when this channel places the peer on hold. This option may be set globally,
+; or on a per-channel basis.
+;
+;mohsuggest=default
+;
+; PRI channels can have an idle extension and a minunused number. So long as
+; at least "minunused" channels are idle, chan_dahdi will try to call "idledial"
+; on them, and then dump them into the PBX in the "idleext" extension (which
+; is of the form exten@context). When channels are needed the "idle" calls
+; are disconnected (so long as there are at least "minidle" calls still
+; running, of course) to make more channels available. The primary use of
+; this is to create a dynamic service, where idle channels are bundled through
+; multilink PPP, thus more efficiently utilizing combined voice/data services
+; than conventional fixed mappings/muxings.
+;
+; Those settings cannot be changed on reload.
+;
+;idledial=6999
+;idleext=6999@dialout
+;minunused=2
+;minidle=1
+;
+;
+; ignore_failed_channels: Continue even if some channels failed to configure.
+; False by default, as if even a single channel failed to configure, it might
+; mean other channels are misplaced and having them work may not be a good
+; idea. If enabled (set to true), chan_dahdi will nevertheless attempt to
+; configure other channels rather than giving up. This normally makes sense
+; only if you use names (<subdir>!<number>) for DAHDI channels.
+;ignore_failed_channels = true
+;
+; Configure jitter buffers in DAHDI (each one is 20ms, default is 4)
+; This is set globally, rather than per-channel.
+;
+;jitterbuffers=4
+;
+;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
+; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
+ ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will
+ ; be used only if the sending side can create and the receiving
+ ; side can not accept jitter. The DAHDI channel can't accept jitter,
+ ; thus an enabled jitterbuffer on the receive DAHDI side will always
+ ; be used if the sending side can create jitter.
+
+; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
+
+; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
+ ; resynchronized. Useful to improve the quality of the voice, with
+ ; big jumps in/broken timestamps, usually sent from exotic devices
+ ; and programs. Defaults to 1000.
+
+; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI
+ ; channel. Two implementations are currently available - "fixed"
+ ; (with size always equals to jbmax-size) and "adaptive" (with
+ ; variable size, actually the new jb of IAX2). Defaults to fixed.
+
+; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
+ ; The option represents the number of milliseconds by which the new
+ ; jitter buffer will pad its size. the default is 40, so without
+ ; modification, the new jitter buffer will set its size to the jitter
+ ; value plus 40 milliseconds. increasing this value may help if your
+ ; network normally has low jitter, but occasionally has spikes.
+
+; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
+;-----------------------------------------------------------------------------------
+;
+; You can define your own custom ring cadences here. You can define up to 8
+; pairs. If the silence is negative, it indicates where the caller ID spill is
+; to be placed. Also, if you define any custom cadences, the default cadences
+; will be turned off.
+;
+; This setting is global, rather than per-channel. It will not update on
+; a reload.
+;
+; Syntax is: cadence=ring,silence[,ring,silence[...]]
+;
+; These are the default cadences:
+;
+;cadence=125,125,2000,-4000
+;cadence=250,250,500,1000,250,250,500,-4000
+;cadence=125,125,125,125,125,-4000
+;cadence=1000,500,2500,-5000
+;
+; Each channel consists of the channel number or range. It inherits the
+; parameters that were specified above its declaration.
+;
+;
+;callerid="Green Phone"<(256) 428-6121>
+;channel => 1
+;callerid="Black Phone"<(256) 428-6122>
+;channel => 2
+;callerid="CallerID Phone" <(630) 372-1564>
+;channel => 3
+;callerid="Pac Tel Phone" <(256) 428-6124>
+;channel => 4
+;callerid="Uniden Dead" <(256) 428-6125>
+;channel => 5
+;callerid="Cortelco 2500" <(256) 428-6126>
+;channel => 6
+;callerid="Main TA 750" <(256) 428-6127>
+;channel => 44
+;
+; For example, maybe we have some other channels which start out in a
+; different context and use E & M signalling instead.
+;
+;context=remote
+;signaling=em
+;channel => 15
+;channel => 16
+
+;signalling=em_w
+;
+; All those in group 0 I'll use for outgoing calls
+;
+; Strip most significant digit (9) before sending
+;
+;stripmsd=1
+;callerid=asreceived
+;group=0
+;signalling=fxs_ls
+;channel => 45
+
+;signalling=fxo_ls
+;group=1
+;callerid="Joe Schmoe" <(256) 428-6131>
+;channel => 25
+;callerid="Megan May" <(256) 428-6132>
+;channel => 26
+;callerid="Suzy Queue" <(256) 428-6233>
+;channel => 27
+;callerid="Larry Moe" <(256) 428-6234>
+;channel => 28
+;
+; Sample PRI (CPE) config: Specify the switchtype, the signalling as either
+; pri_cpe or pri_net for CPE or Network termination, and generally you will
+; want to create a single "group" for all channels of the PRI.
+;
+; switchtype cannot be changed on a reload.
+;
+; switchtype = national
+; signalling = pri_cpe
+; group = 2
+; channel => 1-23
+;
+; Alternatively, the number of the channel may be replaced with a relative
+; path to a device file under /dev/dahdi . The final element of that file
+; must be a number, though. The directory separator is '!', as we can't
+; use '/' in a dial string. So if we have
+;
+; /dev/dahdi/span-name/pstn/00/1
+; /dev/dahdi/span-name/pstn/00/2
+; /dev/dahdi/span-name/pstn/00/3
+; /dev/dahdi/span-name/pstn/00/4
+;
+; we could use:
+;channel => span-name!pstn!00!1-4
+;
+; or:
+;channel => span-name!pstn!00!1,2,3,4
+;
+; See also ignore_failed_channels above.
+
+; Used for distinctive ring support for x100p.
+; You can see the dringX patterns is to set any one of the dringXcontext fields
+; and they will be printed on the console when an inbound call comes in.
+;
+; dringXrange is used to change the acceptable ranges for "tone offsets". Defaults to 10.
+; Note: a range of 0 is NOT what you might expect - it instead forces it to the default.
+; A range of -1 will force it to always match.
+; Anything lower than -1 would presumably cause it to never match.
+;
+;dring1=95,0,0
+;dring1context=internal1
+;dring1range=10
+;dring2=325,95,0
+;dring2context=internal2
+;dring2range=10
+; If no pattern is matched here is where we go.
+;context=default
+;channel => 1
+
+; AMI alarm event reporting
+;reportalarms=channels
+;Possible values are:
+;channels - report each channel alarms (current behavior, default for backward compatibility)
+;spans - report an "SpanAlarm" event when the span of any configured channel is alarmed
+;all - report channel and span alarms (aggregated behavior)
+;none - do not report any alarms.
+
+; ---------------- Options for use with signalling=ss7 -----------------
+; None of them can be changed by a reload.
+;
+; Variant of SS7 signalling:
+; Options are itu and ansi
+;ss7type = itu
+
+; SS7 Called Nature of Address Indicator
+;
+; unknown: Unknown
+; subscriber: Subscriber
+; national: National
+; international: International
+; dynamic: Dynamically selects the appropriate dialplan
+;
+;ss7_called_nai=dynamic
+;
+; SS7 Calling Nature of Address Indicator
+;
+; unknown: Unknown
+; subscriber: Subscriber
+; national: National
+; international: International
+; dynamic: Dynamically selects the appropriate dialplan
+;
+;ss7_calling_nai=dynamic
+;
+;
+; sample 1 for Germany
+;ss7_internationalprefix = 00
+;ss7_nationalprefix = 0
+;ss7_subscriberprefix =
+;ss7_unknownprefix =
+;
+
+; This option is used to disable automatic sending of ACM when the call is started
+; in the dialplan. If you do use this option, you will need to use the Proceeding()
+; application in the dialplan to send ACM.
+;ss7_explictacm=yes
+
+; All settings apply to linkset 1
+;linkset = 1
+
+; Point code of the linkset. For ITU, this is the decimal number
+; format of the point code. For ANSI, this can either be in decimal
+; number format or in the xxx-xxx-xxx format
+;pointcode = 1
+
+; Point code of node adjacent to this signalling link (Possibly the STP between you and
+; your destination). Point code format follows the same rules as above.
+;adjpointcode = 2
+
+; Default point code that you would like to assign to outgoing messages (in case of
+; routing through STPs, or using A links). Point code format follows the same rules
+; as above.
+;defaultdpc = 3
+
+; Begin CIC (Circuit indication codes) count with this number
+;cicbeginswith = 1
+
+; What the MTP3 network indicator bits should be set to. Choices are
+; national, national_spare, international, international_spare
+;networkindicator=international
+
+; First signalling channel
+;sigchan = 48
+
+; Additional signalling channel for this linkset (So you can have a linkset
+; with two signalling links in it). It seems like a silly way to do it, but
+; for linksets with multiple signalling links, you add an additional sigchan
+; line for every additional signalling link on the linkset.
+;sigchan = 96
+
+; Channels to associate with CICs on this linkset
+;channel = 25-47
+;
+; For more information on setting up SS7, see the README file in libss7 or
+; the doc/ss7.txt file in the Asterisk source tree.
+; ----------------- SS7 Options ----------------------------------------
+
+; ---------------- Options for use with signalling=mfcr2 --------------
+
+; MFC-R2 signaling has lots of variants from country to country and even sometimes
+; minor variants inside the same country. The only mandatory parameters here are:
+; mfcr2_variant, mfcr2_max_ani and mfcr2_max_dnis.
+; IT IS RECOMMENDED that you leave the default values (leaving it commented) for the
+; other parameters unless you have problems or you have been instructed to change some
+; parameter. OpenR2 library uses the mfcr2_variant parameter to try to determine the
+; best defaults for your country, also refer to the OpenR2 package directory
+; doc/asterisk/ where you can find sample configurations for some countries. If you
+; want to contribute your configs for a particular country send them to the e-mail
+; of the primary OpenR2 developer that you can find in the AUTHORS file of the OpenR2 package
+
+; MFC/R2 variant. This depends on the OpenR2 supported variants
+; A list of values can be found by executing the openr2 command r2test -l
+; some valid values are:
+; ar (Argentina)
+; br (Brazil)
+; mx (Mexico)
+; ph (Philippines)
+; itu (per ITU spec)
+; mfcr2_variant=mx
+
+; Max amount of ANI to ask for
+; mfcr2_max_ani=10
+
+; Max amount of DNIS to ask for
+; mfcr2_max_dnis=4
+
+; whether or not to get the ANI before getting DNIS.
+; some telcos require ANI first some others do not care
+; if this go wrong, change this value
+; mfcr2_get_ani_first=no
+
+; Caller Category to send
+; national_subscriber
+; national_priority_subscriber
+; international_subscriber
+; international_priority_subscriber
+; collect_call
+; usually national_subscriber works just fine
+; you can change this setting from the dialplan
+; by setting the variable MFCR2_CATEGORY
+; (remember to set _MFCR2_CATEGORY from originating channels)
+; MFCR2_CATEGORY will also be a variable available in your context
+; on incoming calls set to the value received from the far end
+; mfcr2_category=national_subscriber
+
+; Call logging is stored at the Asterisk
+; logging directory specified in asterisk.conf
+; plus mfcr2/<whatever you put here>
+; if you specify 'span1' here and asterisk.conf has
+; as logging directory /var/log/asterisk then the full
+; path to your MFC/R2 call logs will be /var/log/asterisk/mfcr2/span1
+; (the directory will be automatically created if not present already)
+; remember to set mfcr2_call_files=yes
+; mfcr2_logdir=span1
+
+; whether or not to drop call files into mfcr2_logdir
+; mfcr2_call_files=yes|no
+
+; MFC/R2 valid logging values are: all,error,warning,debug,notice,cas,mf,stack,nothing
+; error,warning,debug and notice are self-descriptive
+; 'cas' is for logging ABCD CAS tx and rx
+; 'mf' is for logging of the Multi Frequency tones
+; 'stack' is for very verbose output of the channel and context call stack, only useful
+; if you are debugging a crash or want to learn how the library works. The stack logging
+; will be only enabled if the openr2 library was compiled with -DOR2_TRACE_STACKS
+; You can mix up values, like: loglevel=error,debug,mf to log just error, debug and
+; multi frequency messages
+; 'all' is a special value to log all the activity
+; 'nothing' is a clean-up value, in case you want to not log any activity for
+; a channel or group of channels
+; BE AWARE that the level of output logged will ALSO depend on
+; the value you have in logger.conf, if you disable output in logger.conf
+; then it does not matter you specify 'all' here, nothing will be logged
+; so logger.conf has the last word on what is going to be logged
+; mfcr2_logging=all
+
+; MFC/R2 value in milliseconds for the MF timeout. Any negative value
+; means 'default', smaller values than 500ms are not recommended
+; and can cause malfunctioning. If you experience protocol error
+; due to MF timeout try incrementing this value in 500ms steps
+; mfcr2_mfback_timeout=-1
+
+; MFC/R2 value in milliseconds for the metering pulse timeout.
+; Metering pulses are sent by some telcos for some R2 variants
+; during a call presumably for billing purposes to indicate costs,
+; however this pulses use the same signal that is used to indicate
+; call hangup, therefore a timeout is sometimes required to distinguish
+; between a *real* hangup and a billing pulse that should not
+; last more than 500ms, If you experience call drops after some
+; minutes of being stablished try setting a value of some ms here,
+; values greater than 500ms are not recommended.
+; BE AWARE that choosing the proper protocol mfcr2_variant parameter
+; implicitly sets a good recommended value for this timer, use this
+; parameter only when you *really* want to override the default, otherwise
+; just comment out this value or put a -1
+; Any negative value means 'default'.
+; mfcr2_metering_pulse_timeout=-1
+
+; Brazil uses a special calling party category for collect calls (llamadas por cobrar)
+; instead of using the operator (as in Mexico). The R2 spec in Brazil says a special GB tone
+; should be used to reject collect calls. If you want to ALLOW collect calls specify 'yes',
+; if you want to BLOCK collect calls then say 'no'. Default is to block collect calls.
+; (see also 'mfcr2_double_answer')
+; mfcr2_allow_collect_calls=no
+
+; This feature is related but independent of mfcr2_allow_collect_calls
+; Some PBX's require a double-answer process to block collect calls, if
+; you ever have problems blocking collect calls using Group B signals (mfcr2_allow_collect_calls=no)
+; then you may want to try with mfcr2_double_answer=yes, this will cause that every answer signal
+; is changed by answer->clear back->answer (sort of a flash)
+; (see also 'mfcr2_allow_collect_calls')
+; mfcr2_double_answer=no
+
+; This feature allows to skip the use of Group B/II signals and go directly
+; to the accepted state for incoming calls
+; mfcr2_immediate_accept=no
+
+; You most likely dont need this feature. Default is yes.
+; When this is set to yes, all calls that are offered (incoming calls) which
+; DNIS is valid (exists in extensions.conf) and pass collect call validation
+; will be accepted with a Group B tone (either call with charge or not, depending on mfcr2_charge_calls)
+; with this set to 'no' then the call will NOT be accepted on offered, and the call will start its
+; execution in extensions.conf without being accepted until the channel is answered (either with Answer() or
+; any other application resulting in the channel being answered).
+; This can be set to 'no' if your telco or PBX needs the hangup cause to be set accurately
+; when this option is set to no you must explicitly accept the call with DAHDIAcceptR2Call
+; or implicitly through the Answer() application.
+; mfcr2_accept_on_offer=yes
+
+; Skip request of calling party category and ANI
+; you need openr2 >= 1.2.0 to use this feature
+; mfcr2_skip_category=no
+
+; WARNING: advanced users only! I really mean it
+; this parameter is commented by default because
+; YOU DON'T NEED IT UNLESS YOU REALLY GROK MFC/R2
+; READ COMMENTS on doc/r2proto.conf in openr2 package
+; for more info
+; mfcr2_advanced_protocol_file=/path/to/r2proto.conf
+
+; Brazil use a special signal to force the release of the line (hangup) from the
+; backward perspective. When mfcr2_forced_release=no, the normal clear back signal
+; will be sent on hangup, which is OK for all mfcr2 variants I know of, except for
+; Brazilian variant, where the central will leave the line up for several seconds (30, 60)
+; which sometimes is not what people really want. When mfcr2_forced_release=yes, a different
+; signal will be sent to hangup the call indicating that the line should be released immediately
+; mfcr2_forced_release=no
+
+; Whether or not report to the other end 'accept call with charge'
+; This setting has no effect with most telecos, usually is safe
+; leave the default (yes), but once in a while when interconnecting with
+; old PBXs this may be useful.
+; Concretely this affects the Group B signal used to accept calls
+; The application DAHDIAcceptR2Call can also be used to decide this
+; in the dial plan in a per-call basis instead of doing it here for all calls
+; mfcr2_charge_calls=yes
+
+; ---------------- END of options to be used with signalling=mfcr2
+
+; Configuration Sections
+; ~~~~~~~~~~~~~~~~~~~~~~
+; You can also configure channels in a separate chan_dahdi.conf section. In
+; this case the keyword 'channel' is not used. Instead the keyword
+; 'dahdichan' is used (as in users.conf) - configuration is only processed
+; in a section where the keyword dahdichan is used. It will only be
+; processed in the end of the section. Thus the following section:
+;
+;[phones]
+;echocancel = 64
+;dahdichan = 1-8
+;group = 1
+;
+; Is somewhat equivalent to the following snippet in the section
+; [channels]:
+;
+;echocancel = 64
+;group = 1
+;channel => 1-8
+;
+; When starting a new section almost all of the configuration values are
+; copied from their values at the end of the section [channels] in
+; chan_dahdi.conf and [general] in users.conf - one section's configuration
+; does not affect another one's.
+;
+; Instead of letting common configuration values "slide through" you can
+; use configuration templates to easily keep the common part in one
+; place and override where needed.
+;
+;[phones](!)
+;echocancel = yes
+;group = 0,4
+;callgroup = 3
+;pickupgroup = 3
+;threewaycalling = yes
+;transfer = yes
+;context = phones
+;faxdetect = incoming
+;
+;[phone-1](phones)
+;dahdichan = 1
+;callerid = My Name <501>
+;mailbox = 501@mailboxes
+;
+;
+;[fax](phones)
+;dahdichan = 2
+;faxdetect = no
+;context = fax
+;
+;[phone-3](phones)
+;dahdichan = 3
+;pickupgroup = 3,4
+
+;signalling = bri_net_ptmp
+;switchtype = euroisdn
+;channel => 2-3
+;;signalling = bri_net
+;;channel => 4,5
+;signalling = bri_cpe
+;switchtype = euroisdn
+;channel => 7-8
+;
+
+signalling=fxo_ks
+callerid="Analog Phone" <1>
+mailbox=101
+;txgain=-30.0
+group=11
+context=from-pstn
+channel => 1
+;
+signalling=fxs_ks
+callerid=asreceived
+group=12
+context=from-pstn
+channel => 2
+
+;signalling=bri_net_ptmp
+signalling=bri_cpe_ptmp
+switchtype=euroisdn
+callerid="ISDN Phone" <2>
+context=from-isdn
+group=21
+channel => 3-4
+
+;signalling=bri_net_ptmp
+signalling=bri_cpe_ptmp
+switchtype=euroisdn
+callerid="Jean" <202>
+context=from-isdn
+group=22
+channel => 6-7
+
+;signalling=bri_net_ptmp
+signalling=bri_cpe_ptmp
+context=from-isdn
+switchtype=euroisdn
+group=23
+channel => 9-10
+
+;signalling=bri_net_ptmp
+signalling=bri_cpe_ptmp
+context=from-isdn
+switchtype=euroisdn
+group=24
+channel => 12-13
diff --git a/factory/full_IO/extensions.conf b/factory/full_IO/extensions.conf
new file mode 100755
index 0000000..5a22248
--- /dev/null
+++ b/factory/full_IO/extensions.conf
@@ -0,0 +1,67 @@
+[from-internal]
+include => default
+
+exten = 42,1,NoOp(FXS)
+same = n,Dial(DAHDI/g22/1)
+
+exten = 43,1,NoOp(FXO)
+same = n,Dial(DAHDI/g22/2)
+
+exten = 44,1,NoOp(Full ISDN 1)
+same = n,Dial(DAHDI/g21/344556681)
+
+[from-sip]
+include => from-internal
+include => default
+
+[from-isdn]
+include => default
+
+[from-pstn]
+include => default
+
+[default]
+; FXS Phone
+exten = 1,1,NoOp(FXS)
+same = n,Dial(DAHDI/g11)
+
+; FXO
+exten = 2,1,NoOp(FXO)
+same = n,Dial(DAHDI/g12)
+
+
+; ISDN Phone
+exten = _3.,1,NoOp()
+same = n,Dial(DAHDI/g21/${EXTEN:1})
+
+; ISDN
+exten = _4.,1,NoOp()
+same = n,Dial(DAHDI/g22/${EXTEN:1})
+
+; ISDN
+exten = _5.,1,NoOp()
+same = n,Dial(DAHDI/g23/${EXTEN:1})
+
+; ISDN
+exten = _6.,1,NoOp()
+same = n,Dial(DAHDI/g24/${EXTEN:1})
+
+
+; Test sounds
+exten = 81,1,NoOp()
+same = n,Playback(hello-world)
+same = n,Hangup()
+
+exten = 82,1,NoOp()
+same = n,System(/usr/share/xioh/tts_asterisk.sh)
+same = n,Playback(/tmp/result_forast)
+same = n,NoOp(${SYSTEMSTATUS})
+same = n,Hangup()
+
+exten = s,1,NoOp(${CALLERID} => ${EXTEN})
+same = n,Answer()
+same = n,Hangup()
+
+[te]
+exten = s,1,NoOp(${CALLERID} => ${EXTEN})
+same = n,Goto(103,1)
diff --git a/factory/full_IO/install.sh b/factory/full_IO/install.sh
new file mode 100755
index 0000000..f9e4157
--- /dev/null
+++ b/factory/full_IO/install.sh
@@ -0,0 +1,95 @@
+#!/bin/bash
+# copy files
+# connect to the asterisk
+# see log
+# send calls (call42, call43, call44)
+# if failed see dahdi_tool
+
+TARGET="eth0"
+TARGET_HOSTNAME="xivo-testing"
+
+ASTERISK_PATH="/etc/asterisk/"
+DAHDI_PATH="/etc/dahdi/"
+
+usage()
+{
+cat << EOF
+usage: $0 MODE
+
+This script init a load_tester scenario and launch it. You should read the README file..
+
+MODE:
+ te Set the target as TE mode (for ISDN)
+ nt Set the target as NT mode (for ISDN)
+EOF
+}
+
+exit_on_error() {
+ if [ ! $? -eq 0 ]
+ then
+ [ $# -gt 0 ] && echo $*
+ exit 1
+ fi
+}
+
+
+#
+# Configure PCB and XHD
+#
+update()
+{
+ diff system.conf.nt $DAHDI_PATH/system.conf 2>&1 > /dev/null
+ result=$?
+ diff chan_dahdi.conf.nt $ASTERISK_PATH/chan_dahdi.conf 2>&1 > /dev/null
+ result=$(($result+$?))
+ diff extensions.conf $ASTERISK_PATH/extensions.conf 2>&1 > /dev/null
+ result=$(($result+$?))
+
+ if [ "$1" = "te" ]
+ then
+ echo setting host $TARGET as TE
+ [ ! $result -eq 0 ] ; exit_on_error "Localhost appear to be already in NT mode, nothing to do."
+ t_mode="te"
+ l_mode="nt"
+ else
+ echo setting host $TARGET as NT
+ [ $result -eq 0 ] ; exit_on_error "Localhost appear to be already in NT mode, nothing to do."
+ t_mode="nt"
+ l_mode="te"
+ fi
+
+
+ # TARGET
+ scp system.conf.$t_mode $TARGET:$DAHDI_PATH/system.conf ; exit_on_error "EE scp"
+ scp chan_dahdi.conf.$t_mode $TARGET:$ASTERISK_PATH/chan_dahdi.conf ; exit_on_error "EE scp"
+ scp extensions.conf $TARGET:$ASTERISK_PATH ; exit_on_error "EE scp"
+ ssh -T $TARGET <<\EOI
+dahdi_cfg
+/etc/init.d/asterisk restart
+exit
+EOI
+ exit_on_error "EE copy on TARGET for nt"
+
+ #LOCALHOST
+ cp system.conf.$l_mode $DAHDI_PATH/system.conf ; exit_on_error "EE cp"
+ cp chan_dahdi.conf.$l_mode $ASTERISK_PATH/chan_dahdi.conf ; exit_on_error "EE cp"
+ cp extensions.conf $ASTERISK_PATH ; exit_on_error "EE cp"
+ dahdi_cfg ; exit_on_error "EE dahdi_cfg host"
+ /etc/init.d/asterisk restart ; exit_on_error "EE asterisk restart host"
+}
+
+
+if [ ! $# -eq 1 ]
+then
+ echo "$0 needs the MODE (\"te\" or \"nt\") exiting"
+ usage
+ exit 1
+fi
+
+MODE=$1
+
+update $MODE
+
+exit 0
+
+# vim: et:sw=2:sts=2
diff --git a/factory/full_IO/screen_test b/factory/full_IO/screen_test
new file mode 100644
index 0000000..c946f3a
--- /dev/null
+++ b/factory/full_IO/screen_test
@@ -0,0 +1,12 @@
+source ~/.screenrc
+
+screen -t "-qc"
+ stuff "cd ~/testing^M"
+
+screen -t "-qc_log"
+ stuff "asterisk -rvvv^M"
+
+screen -t "-testing_log"
+ stuff "ssh eth0^M"
+ stuff "asterisk -rvvv^M"
+
diff --git a/asterisk-load-tests/full_IO/pcb/system.conf b/factory/full_IO/system.conf.nt
index a9b6695..1a16397 100644
--- a/asterisk-load-tests/full_IO/pcb/system.conf
+++ b/factory/full_IO/system.conf.nt
@@ -7,12 +7,18 @@
#
# Global data
+#loadzone = us
+#defaultzone = us
+
fxoks=1
#echocanceller=mg2,1
+
fxsks=2
#echocanceller=mg2,3
+
span=2,0,0,ccs,ami,nt,term
+#span=2,1,0,ccs,ami,te,term
bchan=3-4
hardhdlc=5
@@ -25,6 +31,7 @@ bchan=9-10
hardhdlc=11
span=5,0,0,ccs,ami,nt,term
+#span=5,1,0,ccs,ami,te,term
bchan=12-13
hardhdlc=14
diff --git a/factory/full_IO/system.conf.te b/factory/full_IO/system.conf.te
new file mode 100644
index 0000000..c895935
--- /dev/null
+++ b/factory/full_IO/system.conf.te
@@ -0,0 +1,42 @@
+# Autogenerated by /usr/sbin/dahdi_genconf on Thu Dec 9 06:33:08 2010
+# If you edit this file and execute /usr/sbin/dahdi_genconf again,
+# your manual changes will be LOST.
+# Dahdi Configuration File
+#
+# This file is parsed by the Dahdi Configurator, dahdi_cfg
+#
+# Global data
+
+#loadzone = us
+#defaultzone = us
+
+fxoks=1
+#echocanceller=mg2,1
+
+fxsks=2
+#echocanceller=mg2,3
+
+
+#span=2,0,0,ccs,ami,nt,term
+span=2,1,0,ccs,ami,te,term
+bchan=3-4
+hardhdlc=5
+
+#span=3,0,0,ccs,ami,nt,term
+span=3,1,0,ccs,ami,te,term
+bchan=6-7
+hardhdlc=8
+
+#span=4,0,0,ccs,ami,nt,term
+span=4,1,0,ccs,ami,te,term
+bchan=9-10
+hardhdlc=11
+
+#span=5,0,0,ccs,ami,nt,term
+span=5,1,0,ccs,ami,te,term
+bchan=12-13
+hardhdlc=14
+
+loadzone = fr
+defaultzone = fr
+