;
; DAHDI telephony interface
;
; Configuration file
;
; You need to restart Asterisk to re-configure the DAHDI channels
; CLI> reload chan_dahdi.so 
;		will reload the configuration file,
;		but not all configuration options are 
; 		re-configured during a reload.



[trunkgroups]
;
; Trunk groups are used for NFAS or GR-303 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
;
; Default context
;
context=default
;
; Switchtype:  Only used for PRI.
;
; national:	  National ISDN 2 (default)
; dms100:	  Nortel DMS100
; 4ess:           AT&T 4ESS
; 5ess:	          Lucent 5ESS
; euroisdn:       EuroISDN (also known as ETSI NET/5; Cisco calls this "primary-net5")
; ni1:            Old National ISDN 1
; qsig:           Q.SIG
;
switchtype=national
;
; Some switches (AT&T especially) require network specific facility IE
; supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
;
;nsf=none
;
; PRI Dialplan:  Only RARELY used for PRI.
;
; unknown:        Unknown
; private:        Private ISDN
; local:          Local ISDN
; national:	  National ISDN
; international:  International ISDN
; dynamic:	  Dynamically selects the appropriate dialplan
;
;pridialplan=national
;
; PRI Local Dialplan:  Only RARELY used for PRI (sets the calling number's numbering plan)
;
; unknown:        Unknown
; private:        Private ISDN
; local:          Local ISDN
; national:	  National ISDN
; international:  International ISDN
; dynamic:	  Dynamically selects the appropriate dialplan
;
;prilocaldialplan=national
;
; PRI callerid prefixes based on the given TON/NPI (dialplan)
; This is especially needed for euroisdn E1-PRIs
; 
; 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
; channels, defaults to 3600; minimum 60 seconds.  Some PBXs don't like
; channel restarts. so set the interval to a very long interval e.g. 100000000
; or 'never' to disable *entirely*.
;
;resetinterval = 3600 
;
; Overlap dialing mode (sending overlap digits)
;
; 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 RELEASEd by the far end of a PRI
;
;inbanddisconnect=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
;
; 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 = 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)
;
; pritimer => t200,1000
; pritimer => t313,4000
;
; To enable transmission of facility-based ISDN supplementary services (such
; as caller name from CPE over facility), enable this option.
; facilityenable = yes
;
;
; Signalling method (default is fxs).  Valid values:
; em:             E & M
; 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
; gr303fxoks_net: GR-303 Signalling, FXO Loopstart, Network side
; gr303fxsks_cpe: GR-303 Signalling, FXS Loopstart, CPE 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
;
; 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)
;
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.
; 
; signalling=featdmf
; outsignalling=featb
;
; For Feature Group D Tandem access, to set the default CIC and OZZ use these
; parameters:
;defaultozz=0000
;defaultcic=303
;
; A variety of timing parameters can be specified as well
; Including:
;    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)
;
rxwink=300		; Atlas seems to use long (250ms) winks
;
; How long generated tones (DTMF and MF) will be played on the channel
; (in milliseconds)
;toneduration=100
;
; Whether or not to do distinctive ring detection on FXO lines
;
;usedistinctiveringdetection=yes
;distinctiveringaftercid=yes	; enable dring detection after callerid for those countries like Australia
				; where the ring cadence is changed *after* the callerid spill.
;
; Whether or not to use caller ID
;
usecallerid=yes
;
; Type of caller ID signalling in use
;     bell     = bell202 as used in US
;     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 callerid.  Requires SMDI to be enabled (usesmdi).
;
;cidsignalling=bell
;
; What signals the start of caller ID
;     ring     = a ring signals the start
;     polarity = polarity reversal signals the start
;
;cidstart=ring
;
; Whether or not to hide outgoing caller ID (Override with *67 or *82)
;
hidecallerid=no
;
; Enable if you need to hide just the name and not the number for legacy PBX use.
; Only applies to PRI channels.
;hidecalleridname=no
;
; 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
;
; 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 doc/callingpres.txt
; Only applies to PRI channels.
;
usecallingpres=yes
;
; Some countries (UK) have ring tones with different ring tones (ring-ring),
; which means the callerid needs to be set later on, and not just after
; the first ring, as per the default. 
;
;sendcalleridafter=1
;
;
; 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.
;
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)
;
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
;
; 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 cancel 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
; asterisk 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)
;
rxgain=0.0
txgain=0.0
;
; Logical groups can be assigned to allow outgoing rollover.  Groups range
; from 0 to 63, and multiple groups can be specified.
;
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 dialling *8#.  For simple offices, just
; make these both the same.  Groups range from 0 to 63.
;
callgroup=1
pickupgroup=1

;
; 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=no
;
; Specify whether flash-hook transfers to 'busy' channels should complete or
; return to the caller performing the transfer (default is yes).
;
;transfertobusy=no
;
; CallerID can be set to "asreceived" or a specific number if you want to
; override it.  Note that "asreceived" only applies to trunk interfaces.
;
;callerid=2564286000
;
; 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 4, but better results can be
; achieved if 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=4
;
; 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 the Asterisk Makefile 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 defining the
; -DBUSYDETECT_COMPARE_TONE_AND_SILENCE option.
;
; Use a polarity reversal to mark when a outgoing call is answered by the
; remote party.
;
;answeronpolarityswitch=yes
;
; 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
;
; 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"
;
; 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=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=8000
;
; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF
;
;pulsedial=yes
;
; For fax detection, uncomment one of the following lines.  The default is *OFF*
;
;faxdetect=both
;faxdetect=incoming
;faxdetect=outgoing
;faxdetect=no
;
; 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 specified 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. It may be specified globally or on
; a per-channel.
;
;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.
;
;idledial=6999
;idleext=6999@dialout
;minunused=2
;minidle=1
;
; Configure jitter buffers in DAHDI (each one is 20ms, default is 4)
;
;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.

; 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 callerid spill is
; to be placed.  Also, if you define any custom cadences, the default cadences
; will be turned off.
;
; 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.
;
; For GR-303, CRV's are created like channels except they must start with the
; trunk group followed by a colon, e.g.: 
;
; crv => 1:1
; crv => 2:1-2,5-8
;
;
;callerid="Green Phone"<(256) 428-6121>
;channel => 1
;callerid="Black Phone"<(256) 428-6122>
;channel => 2
;callerid="CallerID Phone" <(256) 428-6123>
;callerid="CallerID Phone" <(630) 372-1564>
;callerid="CallerID Phone" <(256) 704-4666>
;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 = national
; signalling = pri_cpe
; group = 2
; channel => 1-23

;

;  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.
;
;dring1=95,0,0 
;dring1context=internal1 
;dring2=325,95,0 
;dring2context=internal2 
; If no pattern is matched here is where we go.
;context=default
;channel => 1 

