217 lines
4.7 KiB
Plaintext
217 lines
4.7 KiB
Plaintext
[general]
|
|
; Common settings
|
|
|
|
; enabled: bool: Enable the module and install message handlers
|
|
;enabled=no
|
|
|
|
; priority: int: Priority to install message handlers into engine
|
|
;priority=15
|
|
|
|
; default: bool: Assist channels by default, module must be enabled first
|
|
;default=yes
|
|
|
|
; incoming: bool: Assist incoming calls, needs that default is enabled
|
|
;incoming=yes
|
|
|
|
; filter: regexp: Expression matching assisted channel IDs, default all
|
|
; Adding a ^ character at the very end reverses the matching mode
|
|
;filter=
|
|
|
|
; dtmfpass: bool: Enter DTMF pass-through mode by default
|
|
;dtmfpass=no
|
|
|
|
; dialheld: bool: Dial back from held calls if the control call leg hangs up
|
|
;dialheld=no
|
|
|
|
; diversion: bool: Honor protocol requested diversion of calls
|
|
;diversion=no
|
|
|
|
; minlen: int: Minimum length of command sequences
|
|
;minlen=2
|
|
|
|
; maxlen: int: Maximum length of command sequences
|
|
;maxlen=20
|
|
|
|
; timeout: int: Inter-digit timeout in milliseconds
|
|
;timeout=30000
|
|
|
|
; retake: string: Exact sequence (not regexp) to exit DTMF pass-through mode
|
|
;retake=###
|
|
|
|
; lang: string: Language for tones used by the pbx
|
|
; This parameter can be overridden from routing by a 'pbxlang' parameter
|
|
;lang=
|
|
|
|
; dropconfhangup: bool: Drop (terminate) the conference room on hangup if the call is in one
|
|
; This parameter can be overridden from routing by a 'pbxdropconfhangup' parameter
|
|
; This parameter is applied on reload
|
|
; Defaults to yes
|
|
;dropconfhangup=yes
|
|
|
|
; confowner: bool: Make non-guest assistants own the conference rooms they join
|
|
; This parameter can be overridden from routing by a 'pbxconfowner' parameter
|
|
; This parameter is applied on reload
|
|
; Defaults to no
|
|
;confowner=no
|
|
|
|
; lonelytimeout: integer: The interval (in milliseconds) a lonely user is allowed to
|
|
; remain in conference
|
|
; This parameter can be overridden from routing by a 'pbxlonelytimeout' parameter
|
|
; This parameter is applied on reload
|
|
; Defaults to 0 (stay until hangup)
|
|
;lonelytimeout=0
|
|
|
|
|
|
; Every other section defines an operation to trigger
|
|
;[operation]
|
|
; The name of the section is used as the default operation name
|
|
|
|
; trigger: regexp: Trigger key sequence
|
|
;trigger=
|
|
|
|
; operation: string: Operation name, will use section name if missing
|
|
;operation=
|
|
|
|
; message: string: Message to emit for this operation
|
|
;message=chan.operation
|
|
|
|
; pbxstates: regexp: Expression matching states allowing operation, default all
|
|
;pbxstates=
|
|
|
|
; pbxprompt: string: Resource to overlay on audio channel, * for error beep
|
|
;pbxprompt=
|
|
|
|
; pastekeys: string: Keys to fill in buffer instead of clearing it
|
|
;pastekeys=
|
|
|
|
; All other parameters are copied in the generated message after having
|
|
; the \0 .. \9 placeholders replaced with matches from the trigger
|
|
|
|
|
|
[transfer]
|
|
; blind transfer: make call on behalf of peer, hangup this
|
|
; key: *1nnnnn*
|
|
trigger=\*1\([0-9]\+\)\*$
|
|
target=\1
|
|
|
|
[fortransfer]
|
|
; put the peer on hold and dial another number
|
|
; key: *2nnnnn*
|
|
trigger=\*2\([0-9]\+\)\*$
|
|
target=\1
|
|
onhangup=yes
|
|
|
|
[dotransfer]
|
|
; transfer held to active (2nd) call
|
|
; key: *4
|
|
trigger=\*4$
|
|
|
|
[onhold]
|
|
; toggle call on/off hold
|
|
; key: *0
|
|
trigger=\*0$
|
|
|
|
[returnhold]
|
|
; always return to the held peer
|
|
; key: *7
|
|
trigger=\*7$
|
|
|
|
[conference]
|
|
; put us and peer in an ad-hoc conference or return to conference
|
|
; key: *3
|
|
trigger=\*3$
|
|
|
|
[returnconf]
|
|
; always return to conference
|
|
; key: *6
|
|
trigger=\*6$
|
|
|
|
[returntone]
|
|
; always return to a dialtone, hang up peer
|
|
; key: *9
|
|
trigger=\*9$
|
|
;operation=dialtone
|
|
|
|
[secondcall]
|
|
; hangup the peer and dial another number
|
|
; key: *8nnnnn*
|
|
trigger=\*8\([0-9]\+\)\*$
|
|
target=\1
|
|
|
|
[seconddial]
|
|
; execute a dial while at dialtone
|
|
; key: nnnn*
|
|
trigger=^\([0-9]\+\)\*$
|
|
pbxstates=dial
|
|
target=\1
|
|
operation=secondcall
|
|
|
|
[flush]
|
|
; no operation, flush the buffer
|
|
; key: #
|
|
trigger=#$
|
|
operation=
|
|
pbxgreedy=yes
|
|
pbxprompt=tone/info
|
|
|
|
[flush-dial]
|
|
; flush the buffer, return to dialtone
|
|
; key: #
|
|
trigger=#$
|
|
pbxstates=dial
|
|
pbxgreedy=yes
|
|
pbxprompt=tone/info
|
|
message=call.execute
|
|
callto=tone/dial
|
|
|
|
[passthrough]
|
|
; enter DTMF pass-through mode
|
|
; key: **
|
|
trigger=\*\*
|
|
pbxprompt=tone/probe/1
|
|
|
|
[silence]
|
|
; silence the dialtone, keep collecting tones
|
|
; key: n
|
|
trigger=^[0-9]$
|
|
pbxstates=dial
|
|
pastekeys=\0
|
|
pbxgreedy=yes
|
|
message=call.execute
|
|
callto=tone/noise
|
|
|
|
[collect]
|
|
; keep collecting tones
|
|
; key: nnnn
|
|
trigger=^[0-9]\+$
|
|
pbxstates=dial
|
|
pastekeys=\0
|
|
pbxgreedy=yes
|
|
operation=
|
|
|
|
[transparent]
|
|
; send a tone as-is to the remote
|
|
; key: n
|
|
trigger=^[0-9]$
|
|
|
|
|
|
; Example: flush the key buffer with *#, play the error beep
|
|
;[flush]
|
|
;trigger=\*#$
|
|
;operation=
|
|
;pbxprompt=*
|
|
|
|
; Example: enter conference named conf/dyn-N with key sequence #N# where N=0..9
|
|
;[conference]
|
|
;trigger=#\([0-9]\)#$
|
|
;message=call.conference
|
|
;room=conf/dyn-\1
|
|
|
|
;[blessing]
|
|
; allow the remote user to use the PBX functionality - dangerous!
|
|
; key: *9
|
|
;trigger=^\*9$
|
|
;operation=setstate
|
|
;pbxguest=no
|
|
;id=${peerid}
|