app_confbridge / bridge_softmix: Add ability to configure REMB interval.
[asterisk/asterisk.git] / configs / samples / confbridge.conf.sample
1 [general]
2 ; The general section of this config
3 ; is not currently used, but reserved
4 ; for future use.
5
6 ;
7 ; --- Default Information ---
8 ; The default_user and default_bridge sections are applied
9 ; automatically to all ConfBridge instances invoked without
10 ; a user, or bridge argument.  No menu is applied by default.
11 ;
12 ; Note that while properties of the default_user or default_bridge
13 ; profile can be overridden, if removed, they will be automatically
14 ; added and made available to the dialplan upon module load.
15 ;
16
17 ; --- ConfBridge User Profile Options ---
18 [default_user]
19 type=user
20 ;admin=yes     ; Sets if the user is an admin or not. Off by default.
21 ;marked=yes    ; Sets if this is a marked user or not. Off by default.
22 ;startmuted=yes; Sets if all users should start out muted. Off by default
23 ;music_on_hold_when_empty=yes  ; Sets whether MOH should be played when only
24                                ; one person is in the conference or when the
25                                ; the user is waiting on a marked user to enter
26                                ; the conference. Off by default.
27 ;music_on_hold_class=default   ; The MOH class to use for this user.
28 ;quiet=yes     ; When enabled enter/leave prompts and user intros are not played.
29                ; There are some prompts, such as the prompt to enter a PIN number,
30                ; that must be played regardless of what this option is set to.
31                ; Off by default
32 ;announce_user_count=yes  ; Sets if the number of users should be announced to the
33                           ; caller.  Off by default.
34 ;announce_user_count_all=yes ; Sets if the number of users should be announced to
35                              ; all the other users in the conference when someone joins.
36                              ; This option can be either set to 'yes' or a number.
37                              ; When set to a number, the announcement will only occur
38                              ; once the user count is above the specified number.
39 ;announce_only_user=yes   ; Sets if the only user announcement should be played
40                           ; when a channel enters a empty conference.  On by default.
41 ;wait_marked=yes   ; Sets if the user must wait for a marked user to enter before
42                    ; joining the conference. Off by default.
43 ;end_marked=yes ; This option will kick every user with this option set in their
44                 ; user profile after the last Marked user exists the conference.
45
46 ;dsp_drop_silence=yes  ; This option drops what Asterisk detects as silence from
47                        ; entering into the bridge.  Enabling this option will drastically
48                        ; improve performance and help remove the buildup of background
49                        ; noise from the conference. Highly recommended for large conferences
50                        ; due to its performance enhancements.
51
52 ;dsp_talking_threshold=128  ; Average magnitude threshold to determine talking.
53                             ;
54                             ; The minimum average magnitude per sample in a frame for the
55                             ; DSP to consider talking/noise present.  A value below this
56                             ; level is considered silence.  This value affects several
57                             ; operations and should not be changed unless the impact on
58                             ; call quality is fully understood.
59                             ;
60                             ; What this value affects internally:
61                             ;
62                             ; 1. Audio is only mixed out of a user's incoming audio
63                             ;    stream if talking is detected.  If this value is set too
64                             ;    high the user will hear himself talking.
65                             ;
66                             ; 2. When talk detection AMI events are enabled, this value
67                             ;    determines when talking has begun which results in an
68                             ;    AMI event to fire.  If this value is set too low AMI
69                             ;    events may be falsely triggered by variants in room
70                             ;    noise.
71                             ;
72                             ; 3. The 'drop_silence' option depends on this value to
73                             ;    determine when the user's audio should be mixed into the
74                             ;    bridge after periods of silence.  If this value is too
75                             ;    high the user's speech will get discarded as they will
76                             ;    be considered silent.
77                             ;
78                             ; Valid values are 1 through 2^15.
79                             ; By default this value is 160.
80
81 ;dsp_silence_threshold=2000 ; The number of milliseconds of silence necessary to declare
82                             ; talking stopped.
83                             ;
84                             ; The time in milliseconds of sound falling below the
85                             ; 'dsp_talking_threshold' option when a user is considered to
86                             ; stop talking.  This value affects several operations and
87                             ; should not be changed unless the impact on call quality is
88                             ; fully understood.
89                             ;
90                             ; What this value affects internally:
91                             ;
92                             ; 1. When talk detection AMI events are enabled, this value
93                             ;    determines when the user has stopped talking after a
94                             ;    period of talking.  If this value is set too low AMI
95                             ;    events indicating the user has stopped talking may get
96                             ;    falsely sent out when the user briefly pauses during mid
97                             ;    sentence.
98                             ;
99                             ; 2. The 'drop_silence' option depends on this value to
100                             ;    determine when the user's audio should begin to be
101                             ;    dropped from the conference bridge after the user stops
102                             ;    talking.  If this value is set too low the user's audio
103                             ;    stream may sound choppy to the other participants.  This
104                             ;    is caused by the user transitioning constantly from
105                             ;    silence to talking during mid sentence.
106                             ;
107                             ; The best way to approach this option is to set it slightly
108                             ; above the maximum amount of milliseconds of silence a user
109                             ; may generate during natural speech.
110                             ;
111                             ; Valid values are 1 through 2^31.
112                             ; By default this value is 2500ms.
113
114 ;talk_detection_events=yes ; This option sets whether or not notifications of when a user
115                            ; begins and ends talking should be sent out as events over AMI.
116                            ; By default this option is off.
117
118 ;denoise=yes ; Sets whether or not a denoise filter should be applied
119              ; to the audio before mixing or not.  Off by default. Requires
120              ; func_speex to be built and installed.  Do not confuse this option
121              ; with drop_silence.  Denoise is useful if there is a lot of background
122              ; noise for a user as it attempts to remove the noise while preserving
123              ; the speech.  This option does NOT remove silence from being mixed into
124              ; the conference and does come at the cost of a slight performance hit.
125
126 ;jitterbuffer=yes  ; Enabling this option places a jitterbuffer on the user's audio stream
127                    ; before audio mixing is performed.  This is highly recommended but will
128                    ; add a slight delay to the audio.  This option is using the JITTERBUFFER
129                    ; dialplan function's default adaptive jitterbuffer.  For a more fine tuned
130                    ; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
131                    ; on the user before entering the ConfBridge application.
132
133 ;pin=1234  ; Sets if this user must enter a PIN number before entering
134            ; the conference.  The PIN will be prompted for.
135 ;announce_join_leave=yes ; When enabled, this option will prompt the user for a
136                          ; name when entering the conference.  After the name is
137                          ; recorded, it will be played as the user enters and exists
138                          ; the conference. This option is off by default.
139 ;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
140                                 ; will be prompted to review their recording before
141                                 ; entering the conference. During this phase, the recording
142                                 ; may be listened to, re-recorded, or accepted as is. This
143                                 ; option is off by default.
144 ;dtmf_passthrough=yes  ; Sets whether or not DTMF should pass through the conference.
145                        ; This option is off by default.
146 ;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.
147
148 ;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
149               ; may stay in the conference before being automatically ejected. When the user
150               ; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
151               ; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
152               ; Default: 0
153
154 ; --- ConfBridge Bridge Profile Options ---
155 [default_bridge]
156 type=bridge
157 ;max_members=50                ; This option limits the number of participants for a single
158                                ; conference to a specific number.  By default conferences
159                                ; have no participant limit. After the limit is reached, the
160                                ; conference will be locked until someone leaves.  Note however
161                                ; that an Admin user will always be alowed to join the conference
162                                ; regardless if this limit is reached or not.
163
164 ;record_conference=yes         ; Records the conference call starting when the first user
165                                ; enters the room, and ending when the last user exits the room.
166                                ; The default recorded filename is
167                                ; 'confbridge-<name of conference bridge>-<start time>.wav
168                                ; and the default format is 8khz slinear.  This file will be
169                                ; located in the configured monitoring directory in asterisk.conf.
170
171 ;record_file=</path/to/file>   ; When record_conference is set to yes, the specific name of the
172                                ; record file can be set using this option.  Note that since multiple
173                                ; conferences may use the same bridge profile, this may cause issues
174                                ; depending on the configuration.  It is recommended to only use this
175                                ; option dynamically with the CONFBRIDGE() dialplan function. This
176                                ; allows the record name to be specified and a unique name to be chosen.
177                                ; By default, the record_file is stored in Asterisk's spool/monitor directory
178                                ; with a unique filename starting with the 'confbridge' prefix.
179
180 ;record_file_append=yes        ; Append record file when starting/stopping on same conference recording.
181 ;record_file_timestamp=yes     ; Append the start time to the record file name.
182
183 ;record_options=               ; Pass additional options to MixMonitor.
184 ;record_command=</path/to/command> ; Command to execute when recording finishes.
185
186 ;internal_sample_rate=auto     ; Sets the internal native sample rate the
187                                ; conference is mixed at.  This is set to automatically
188                                ; adjust the sample rate to the best quality by default.
189                                ; Other values can be anything from 8000-192000.  If a
190                                ; sample rate is set that Asterisk does not support, the
191                                ; closest sample rate Asterisk does support to the one requested
192                                ; will be used.
193
194 ;mixing_interval=40     ; Sets the internal mixing interval in milliseconds for the bridge.  This
195                         ; number reflects how tight or loose the mixing will be for the conference.
196                         ; In order to improve performance a larger mixing interval such as 40ms may
197                         ; be chosen.  Using a larger mixing interval comes at the cost of introducing
198                         ; larger amounts of delay into the bridge.  Valid values here are 10, 20, 40,
199                         ; or 80.  By default 20ms is used.
200
201 ;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
202                            ; Note that participants wanting to view and be the source of a video feed
203                            ; _MUST_ be sharing the same video codec.  Also, using video in conjunction with
204                            ; with the jitterbuffer currently results in the audio being slightly out of sync
205                            ; with the video.  This is a result of the jitterbuffer only working on the audio
206                            ; stream.  It is recommended to disable the jitterbuffer when video is used.
207                            ;
208                            ; --- MODES ---
209                            ; none: No video sources are set by default in the conference. It is still
210                            ;       possible for a user to be set as a video source via AMI or DTMF action
211                            ;       at any time.
212                            ;
213                            ; follow_talker: The video feed will follow whoever is talking and providing video.
214                            ;
215                            ; last_marked: The last marked user to join the conference with video capabilities
216                            ;              will be the single source of video distributed to all participants.
217                            ;              If multiple marked users are capable of video, the last one to join
218                            ;              is always the source, when that user leaves it goes to the one who
219                            ;              joined before them.
220                            ;
221                            ; first_marked: The first marked user to join the conference with video capabilities
222                            ;               is the single source of video distribution among all participants. If
223                            ;               that user leaves, the marked user to join after them becomes the source.
224                            ;
225                            ; sfu: Selective Forwarding Unit - Sets multi-stream operation
226                            ;      for a multi-party video conference.
227
228 ;language=en               ; Set the language used for announcements to the conference.
229                            ; Default is en (English).
230
231 ;regcontext=conferences    ; The name of the context into which to register conference names as extensions.
232 ;video_update_discard=2000 ; Amount of time (in milliseconds) to discard video update requests after sending a video
233                            ; update request. Default is 2000. A video update request is a request for a full video
234                            ; intra-frame. Clients can request this if they require a full frame in order to decode
235                            ; the video stream. Since a full frame can be large limiting how often they occur can
236                            ; reduce bandwidth usage at the cost of increasing how long it may take a newly joined
237                            ; channel to receive the video stream.
238 ;remb_send_interval=1000   ; Interval (in milliseconds) at which a combined REMB frame will be sent to sources of video.
239                            ; A REMB frame contains receiver estimated maximum bitrate information. By creating a combined
240                            ; frame and sending it to the sources of video the sender can be influenced on what bitrate
241                            ; they choose allowing a better experience for the receivers. This defaults to 0, or disabled.
242
243 ; All sounds in the conference are customizable using the bridge profile options below.
244 ; Simply state the option followed by the filename or full path of the filename after
245 ; the option.  Example: sound_had_joined=conf-hasjoin  This will play the conf-hasjoin
246 ; sound file found in the sounds directory when announcing someone's name is joining the
247 ; conference.
248
249 ;sound_join  ; The sound played to everyone when someone enters the conference.
250 ;sound_leave ; The sound played to everyone when someone leaves the conference.
251 ;sound_has_joined ; The sound played before announcing someone's name has
252                   ; joined the conference. This is used for user intros.
253                   ; Example "_____ has joined the conference"
254 ;sound_has_left ; The sound played when announcing someone's name has
255                 ; left the conference. This is used for user intros.
256                 ; Example "_____ has left the conference"
257 ;sound_kicked ; The sound played to a user who has been kicked from the conference.
258 ;sound_muted  ; The sound played when the mute option is toggled on using DTMF menu.
259 ;sound_unmuted  ; The sound played when the mute option is toggled off using DTMF menu.
260 ;sound_only_person ; The sound played when the user is the only person in the conference.
261 ;sound_only_one ; The sound played to a user when there is only one other
262                 ; person is in the conference.
263 ;sound_there_are  ; The sound played when announcing how many users there
264                   ; are in a conference.
265 ;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
266                        ; when announcing how many users there are in the conference.
267                        ; The sounds are stringed together like this.
268                        ; "sound_there_are" <number of participants> "sound_other_in_party"
269 ;sound_place_into_conference ; The sound played when someone is placed into the conference
270                              ; after waiting for a marked user. This sound is now deprecated
271                              ; since it was only ever used improperly and correcting that bug
272                              ; made it completely unused.
273 ;sound_wait_for_leader  ; The sound played when a user is placed into a conference that
274                         ; can not start until a marked user enters.
275 ;sound_leader_has_left  ; The sound played when the last marked user leaves the conference.
276 ;sound_get_pin ; The sound played when prompting for a conference pin number.
277 ;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
278 ;sound_locked ; The sound played to a user trying to join a locked conference.
279 ;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
280 ;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
281 ;sound_error_menu ; The sound played when an invalid menu option is entered.
282 ;sound_begin ; The sound played to the conference when the first marked user enters the conference.
283 ;sound_binaural_on ; The sound played when binaural audio is turned on
284 ;sound_binaural_off ; The sound played when binaural audio is turned off
285
286 ; --- ConfBridge Menu Options ---
287 ; The ConfBridge application also has the ability to
288 ; apply custom DTMF menus to each channel using the
289 ; application.  Like the User and Bridge profiles
290 ; a menu is passed in to ConfBridge as an argument in
291 ; the dialplan.
292 ;
293 ; Below is a list of menu actions that can be assigned
294 ; to a DTMF sequence.
295 ;
296 ; To have the first DTMF digit in a sequence be the '#' character, you need to
297 ; escape it.  If it is not escaped then normal config file processing will
298 ; think it is a directive like #include.  For example:
299 ; \#1=toggle_mute                      ; Pressing #1 will toggle the mute setting.
300 ;
301 ; A single DTMF sequence can have multiple actions associated with it. This is
302 ; accomplished by stringing the actions together and using a ',' as the delimiter.
303 ; Example:  Both listening and talking volume is reset when '5' is pressed.
304 ; 5=reset_talking_volume, reset_listening_volume
305 ;
306 ; playback(<name of audio file>&<name of audio file>)
307                                        ; Playback will play back an audio file to a channel
308                                        ; and then immediately return to the conference.
309                                        ; This file can not be interupted by DTMF.
310                                        ; Mutliple files can be chained together using the
311                                        ; '&' character.
312 ; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
313                                        ; playback_and_continue will
314                                        ; play back a prompt while continuing to
315                                        ; collect the dtmf sequence.  This is useful
316                                        ; when using a menu prompt that describes all
317                                        ; the menu options.  Note however that any DTMF
318                                        ; during this action will terminate the prompts
319                                        ; playback.  Prompt files can be chained together
320                                        ; using the '&' character as a delimiter.
321 ; toggle_mute      ; Toggle turning on and off mute.  Mute will make the user silent
322                    ; to everyone else, but the user will still be able to listen in.
323 ; toggle_binaural  ; Toggle on or off binaural audio processing.
324
325 ; no_op ; This action does nothing (No Operation). Its only real purpose exists for
326         ; being able to reserve a sequence in the config as a menu exit sequence.
327 ; decrease_listening_volume ; Decreases the channel's listening volume.
328 ; increase_listening_volume ; Increases the channel's listening volume.
329 ; reset_listening_volume    ; Reset channel's listening volume to default level.
330
331 ; decrease_talking_volume ; Decreases the channel's talking volume.
332 ; increase_talking_volume ; Icreases the channel's talking volume.
333 ; reset_talking_volume    ; Reset channel's talking volume to default level.
334 ;
335 ; dialplan_exec(context,exten,priority)  ; The dialplan_exec action allows a user
336                                          ; to escape from the conference and execute
337                                          ; commands in the dialplan.  Once the dialplan
338                                          ; exits the user will be put back into the
339                                          ; conference.  The possibilities are endless!
340 ; leave_conference ; This action allows a user to exit the conference and continue
341                    ; execution in the dialplan.
342 ;
343 ; admin_kick_last  ; This action allows an Admin to kick the last participant from the
344                    ; conference. This action will only work for admins which allows
345                    ; a single menu to be used for both users and admins.
346 ;
347 ; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
348                                ; unlocking the conference.  Non admins can not use
349                                ; this action even if it is in their menu.
350
351 ; set_as_single_video_src   ; This action allows any user to set themselves as the
352                             ; single video source distributed to all participants.
353                             ; This will make the video feed stick to them regardless
354                             ; of what the video_mode is set to.
355
356 ; release_as_single_video_src ; This action allows a user to release themselves as
357                               ; the video source.  If video_mode is not set to "none"
358                               ; this action will result in the conference returning to
359                               ; whatever video mode the bridge profile is using.
360                               ;
361                               ; Note that this action will have no effect if the user
362                               ; is not currently the video source.  Also, the user is
363                               ; not guaranteed by using this action that they will not
364                               ; become the video source again.  The bridge will return
365                               ; to whatever operation the video_mode option is set to
366                               ; upon release of the video src.
367
368 ; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
369                                  ; state for all non-admins within a conference.
370                                  ; Subsequent non-admins joining a muted conference will
371                                  ; start muted.  All admin users are unaffected by this
372                                  ; option.  Note that all users, regardless of their admin
373                                  ; status, are notified that the conference is muted when
374                                  ; the state is toggled.
375
376 ; participant_count        ; This action plays back the number of participants currently
377                            ; in a conference
378
379 [sample_user_menu]
380 type=menu
381 *=playback_and_continue(conf-usermenu)
382 *1=toggle_mute
383 1=toggle_mute
384 *4=decrease_listening_volume
385 4=decrease_listening_volume
386 *6=increase_listening_volume
387 6=increase_listening_volume
388 *7=decrease_talking_volume
389 7=decrease_talking_volume
390 *8=leave_conference
391 8=leave_conference
392 *9=increase_talking_volume
393 9=increase_talking_volume
394
395 [sample_admin_menu]
396 type=menu
397 *=playback_and_continue(conf-adminmenu)
398 *1=toggle_mute
399 1=toggle_mute
400 *2=admin_toggle_conference_lock ; only applied to admin users
401 2=admin_toggle_conference_lock  ; only applied to admin users
402 *3=admin_kick_last       ; only applied to admin users
403 3=admin_kick_last        ; only applied to admin users
404 *4=decrease_listening_volume
405 4=decrease_listening_volume
406 *6=increase_listening_volume
407 6=increase_listening_volume
408 *7=decrease_talking_volume
409 7=decrease_talking_volume
410 *8=no_op
411 8=no_op
412 *9=increase_talking_volume
413 9=increase_talking_volume