;
; Configuration for Shared Line Appearances (SLA).
;
; See https://docs.asterisk.org for more information.
;

; ---- General Options ----------------
[general]

;attemptcallerid=no         ; Attempt CallerID handling.  The default value for this
                            ; is "no" because CallerID handling with an SLA setup is
                            ; known to not work properly in some situations.  However,
                            ; feel free to enable it if you would like.  If you do, and
                            ; you find problems, please do not report them.
; -------------------------------------


; ********************************
; **** Configuration Ordering ****
; ********************************

; Note that SLA configuration processing assumes that *all* trunk declarations are
; listed in the configuration file before any stations.

; ********************************
; ********************************


; ---- Trunk Declarations -------------
;
;[line1]                    ; Provide a name for this trunk.

;type=trunk                 ; This line is what marks this entry as a trunk.

;device=DAHDI/3             ; Map this trunk declaration to a specific device.
                            ; NOTE: You can not just put any type of channel here.
                            ;       DAHDI channels can be directly used.  IP trunks
                            ;       require some indirect configuration which is
                            ;       described in
                            ; https://docs.asterisk.org/Configuration/Applications/Shared-Line-Appearances-SLA/

;autocontext=line1          ; This supports automatic generation of the dialplan entries
                            ; if the autocontext option is used.  Each trunk should have
                            ; a unique context name.  Then, in chan_dahdi.conf, this device
                            ; should be configured to have incoming calls go to this context.

;ringtimeout=30             ; Set how long to allow this trunk to ring on an inbound call before hanging
                            ; it up as an unanswered call.  The value is in seconds.

;barge=no                   ; If this option is set to "no", then no station will be
                            ; allowed to join a call that is in progress.  The default
                            ; value is "yes".

;hold=private               ; This option configure hold permissions for this trunk.
                            ;   "open"    - This means that any station can put this trunk
                            ;               on hold, and any station can retrieve it from
                            ;               hold.  This is the default.
                            ;   "private" - This means that once a station puts the
                            ;               trunk on hold, no other station will be
                            ;               allowed to retrieve the call from hold.

;[line2]
;type=trunk
;device=DAHDI/4
;autocontext=line2

;[line3]
;type=trunk
;device=DAHDI/3
;autocontext=line3

;[line4]
;type=trunk
;device=Local/disa@line4_outbound ; A Local channel in combination with the Disa
                                  ; application can be used to support IP trunks.
                                  ; See https://docs.asterisk.org/Configuration/Applications/Shared-Line-Appearances-SLA/
;autocontext=line4
; --------------------------------------


; ---- Station Declarations ------------

;[station1]                 ; Define a name for this station.

;type=station               ; This line indicates that this entry is a station.

;device=SIP/station1        ; Each station must be mapped to a device.

;autocontext=sla_stations   ; This supports automatic generation of the dialplan entries if
                            ; the autocontext option is used.  All stations can use the same
                            ; context without conflict.  The device for this station should
                            ; have its context configured to the same one listed here.

;ringtimeout=10             ; Set a timeout for how long to allow the station to ring for an
                            ; incoming call, in seconds.

;ringdelay=10               ; Set a time for how long to wait before beginning to ring this station
                            ; once there is an incoming call, in seconds.

;hold=private               ; This option configure hold permissions for this station.  Note
                            ; that if private hold is set in the trunk entry, that will override
                            ; anything here.  However, if a trunk has open hold access, but this
                            ; station is set to private hold, then the private hold will be in
                            ; effect.
                            ;   "open"    - This means that once this station puts a call
                            ;               on hold, any other station is allowed to retrieve
                            ;               it.  This is the default.
                            ;   "private" - This means that once this station puts a
                            ;               call on hold, no other station will be
                            ;               allowed to retrieve the call from hold.


;trunk=line1                ; Individually list all of the trunks that will appear on this station.  This
                            ; order is significant.  It should be the same order as they appear on the
                            ; phone.  The order here defines the order of preference that the trunks will
                            ; be used.
;trunk=line2
;trunk=line3,ringdelay=5    ; A ring delay for the station can also be specified for a specific trunk.
                            ; If a ring delay is specified both for the whole station and for a specific
                            ; trunk on a station, the setting for the specific trunk will take priority.
                            ; This value is in seconds.

;trunk=line4,ringtimeout=5  ; A ring timeout for the station can also be specified for a specific trunk.
                            ; If a ring timeout is specified both for the whole station and for a specific
                            ; trunk on a station, the setting for the specific trunk will take priority.
                            ; This value is in seconds.


;[station](!)               ; When there are a lot of stations that are configured the same way,
                            ; it is convenient to use a configuration template like this so that
                            ; the common settings stay in one place.
;type=station
;autocontext=sla_stations
;trunk=line1
;trunk=line2
;trunk=line3
;trunk=line4

;[station2](station)        ; Define a station that uses the configuration from the template "station".
;device=SIP/station2
;
;[station3](station)
;device=SIP/station3
;
;[station4](station)
;device=SIP/station4
;
;[station5](station)
;device=SIP/station5
; --------------------------------------
