This file is indexed.

/etc/yate/pbxassist.conf is in yate-core 5.4.0-1-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
[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}