Skip to content
Snippets Groups Projects
chan_dahdi.conf.sample 66.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • Mark Spencer's avatar
    Mark Spencer committed
    ;
    ; 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
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; 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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    ;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.
    
    ; 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.
    
    ; 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 dahdi_monitor 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.
    
    ; 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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; 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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    ;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
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ; 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.
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF
    
    ; Pulse digits from phones (FXS devices, FXO signalling) are always
    ; detected.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    ;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 enabled, one could use 'faxdetect_timeout' to disable fax
    ; detection after the specified number of seconds into a call.  Be aware that
    ; outgoing analog channels may consider the channel is answered immediately
    ; when dialing completes.  Analog does not have a reliable method of detecting
    ; when the far end answers.  Zero disables the timeout.
    ; Default is 0 to disable the timeout.
    ;
    ;faxdetect_timeout=30
    ;
    
    ; 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
    ;
    
    ; When FXO signalling (FXS device, e.g. analog phone) is used, overlap dialing
    ; is typically used. Asterisk has several configurable (per-channel) timeouts
    ; to know how long to wait for the next digit. All the values are in
    ; milliseconds.
    ; * firstdigit_timeout: a longer timeout before any digit is dialed.
    ;   By default: 16 seconds.
    ; * interdigit_timeout: timeout for next digits, if the current number dialed
    ;   does not match a number in the current context. Default: 8 seconds.
    ; * matchdigit_timeout: timeout for next digits, if the current number dialed
    ;   matches a number in the current context. Default: 3 seconds.
    ;
    ;firstdigit_timeout=16000
    ;interdigit_timeout=8000
    ;matchdigit_timeout=3000
    ;
    
    ; Configure the default number of DAHDI buffers and the transmit policy to use.
    ; This can be used to eliminate data drops when scheduling jitter prevents
    ; Asterisk from writing to a DAHDI channel regularly. Most users will probably
    ; want "faxbuffers" instead of "buffers".
    ;
    ; The policies are:
    ; immediate - DAHDI will immediately start sending the data to the hardware after
    ;             Asterisk writes to the channel. This is the default mode. It
    ;             introduces the least amount of latency but has an increased chance for
    ;             hardware under runs if Asterisk is not able to keep the DAHDI write
    ;             queue from going empty.
    ; half      - DAHDI will wait until half of the configured buffers are full before
    ;             starting to transmit. This adds latency to the audio but reduces
    ;             the chance of under runs. Essentially, this is like an in-kernel jitter
    ;             buffer.
    ; full      - DAHDI will not start transmitting until all buffers are full.
    ;             Introduces the most amount of latency and is susceptible to over
    ;             runs from the Asterisk process.
    ;
    ; The receive policy is never changed. DAHDI will always pass up audio as soon
    ; as possible.
    ;
    ; The default number of buffers is 4 (from jitterbuffers) and the default policy
    ; is immediate.
    ;
    ;buffers=4,immediate
    ;
    
    ; This option specifies what to do when the channel's bridged peer puts the
    ; ISDN channel on hold.  Settable per logical ISDN span.
    ; moh:          Generate music-on-hold to the remote party.
    ; notify:       Send hold notification signaling to the remote party.
    ;               For ETSI PTP and ETSI PTMP NT links.
    ;               (The notify setting deprecates the mohinterpret=passthrough setting.)
    ; hold:         Use HOLD/RETRIEVE signaling to release the B channel while on hold.
    ;               For ETSI PTMP TE links.
    ;
    ;moh_signaling=moh
    ;
    
    ; 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 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.
    
    ; 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.
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;idledial=6999
    ;idleext=6999@dialout
    ;minunused=2
    ;minidle=1
    ;
    
    ;
    ; ignore_failed_channels: Continue even if some channels failed to configure.
    
    ; True by default. Disable this if you can guarantee that DAHDI starts before
    ; Asterisk and want to be sure chan_dahdi will not start with broken
    ; configuration.
    ;
    ;ignore_failed_channels = false
    
    ; 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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;callerid="Green Phone"<(256) 428-6121>
    
    ;description=Reception Phone			; add a description for 'dahdi show channels'
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;channel => 1
    ;callerid="Black Phone"<(256) 428-6122>
    
    ;description=Courtesy Phone
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;channel => 2
    ;callerid="CallerID Phone" <(630) 372-1564>
    
    ;description=					; reset the description for following channels
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    ;context=remote
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;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
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;stripmsd=1
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;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.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ; switchtype cannot be changed on a reload.
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; switchtype = national
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; signalling = pri_cpe
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; 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.
    ;
    
    ;  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.
    ;
    
    ; If no pattern is matched here is where we go.
    ;context=default
    
    ; 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:
    
    ; SS7 Called Nature of Address Indicator
    ;
    ; unknown:        Unknown
    ; subscriber:     Subscriber
    
    ; dynamic:        Dynamically selects the appropriate dialplan
    
    ;
    ;ss7_called_nai=dynamic
    ;
    ; SS7 Calling Nature of Address Indicator
    ;
    ; unknown:        Unknown
    ; subscriber:     Subscriber
    
    ; dynamic:        Dynamically selects the appropriate dialplan
    
    ;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 or enable ss7_autoacm below.
    ;ss7_explicitacm=yes
    
    ; Use this option to automatically send ACM when the call rings or is answered and
    ; has not seen proceeding yet. If you use this option, you should disable ss7_explicitacm.
    ; You may still use Proceeding() to explicitly send an ACM from the dialplan.
    ;ss7_autoacm=yes
    
    ; Create the linkset with all CICs in hardware remotely blocked state.
    ;ss7_initialhwblo=yes
    
    ; This option is whether or not to trust the remote echo control indication.  This means
    ; that in cases where echo control is reported by the remote end, we will trust them and
    ; not enable echo cancellation on the call.
    ;ss7_use_echocontrol=yes
    
    ; This option is to set what our echo control indication is to the other end.  Set to
    ; yes to indicate that we are using echo cancellation or no if we are not.
    ;ss7_default_echocontrol=yes
    
    ; All settings apply to linkset 1
    
    ; Set the Signaling Link Code (SLC) for each sigchan.
    ; If you manually set any you need to manually set all.
    ; Should be defined before sigchan.
    ; The default SLC starts with zero and increases for each defined sigchan.
    ;slc=
    
    
    ; 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
    
    ; 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.
    
    
    ; 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.
    
    
    ; Begin CIC (Circuit indication codes) count with this number
    
    
    ; What the MTP3 network indicator bits should be set to.  Choices are
    ; national, national_spare, international, international_spare
    
    ; First signalling channel
    
    ; 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
    
    
    ; Set this option if you wish to send an Information Request Message (INR) request
    ; if no calling party number is specified. This will attempt to tell the other end
    ; to send it anyways. Should be defined after sigchan.
    ;inr_if_no_calling=yes
    
    ; Set this to set whether or not the originating access is (non) ISDN in the forward and
    ; backward call indicators. Should be defined after sigchan
    ;non_isdn_access=yes
    
    ; This sets the number of binary places to shift the CIC when doing load balancing between
    ; sigchans on a linkset. Should be defined after sigchan. Default 0
    ;sls_shift = 0
    
    ; Send custom cause_location value
    ; Should be defined after sigchan. Default 1 (private local)
    ;cause_location=1
    
    ; SS7 timers (ISUP and MTP3) should be explicitly defined for each linkset to be used.
    ; For a full list of supported timers and their default values (applicable for both ITU
    ; and ANSI) see ss7.timers
    ; Should be defined after sigchan
    ;#include ss7.timers
    
    
    ; For more information on setting up SS7, see the README file in libss7 or
    
    ; https://wiki.asterisk.org/wiki/display/AST/Signaling+System+Number+7
    
    ; ----------------- 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
    
    ; 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
    
    
    ; 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
    
    ;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
    
    ; 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)
    
    ;callerid = My Name <501>
    ;mailbox = 501@mailboxes
    ;
    ;
    ;[fax](phones)