[general] ; The general section of this config ; is not currently used, but reserved ; for future use. ; ; --- Default Information --- ; The default_user and default_bridge sections are applied ; automatically to all ConfBridge instances invoked without ; a user, or bridge argument. No menu is applied by default. ; ; Note that while properties of the default_user or default_bridge ; profile can be overridden, if removed, they will be automatically ; added and made available to the dialplan upon module load. ; ; --- ConfBridge User Profile Options --- [default_user] type=user ;admin=yes ; Sets if the user is an admin or not. Off by default. ;send_events=no ; If events are enabled for this bridge and this option is ; set, users will receive events like join, leave, talking, ; etc. via text messages. For users accessing the bridge ; via chan_pjsip, this means in-dialog MESSAGE messages. ; This is most useful for WebRTC participants where the ; browser application can use the messages to alter the user ; interface. ;echo_events=yes ; If events are enabled for this user and this option is set, ; the user will receive events they trigger, talking, mute, etc. ; If not set, they will not receive their own events. ;marked=yes ; Sets if this is a marked user or not. Off by default. ;startmuted=yes; Sets if all users should start out muted. Off by default ;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only ; one person is in the conference or when the ; the user is waiting on a marked user to enter ; the conference. Off by default. ;music_on_hold_class=default ; The MOH class to use for this user. ;quiet=yes ; When enabled enter/leave prompts and user intros are not played. ; There are some prompts, such as the prompt to enter a PIN number, ; that must be played regardless of what this option is set to. ; Off by default ;hear_own_join_sound=yes ; Sets if a user joining the conference should hear the sound_join ; audio sound when they enter the conference. If set to 'no' the ; user will not hear the sound_join audio but the other participants ; in the conference will still hear the audio. If set to 'yes' ; everyone hears the sound_join audio when this user enters the conference. ; On by default ;announce_user_count=yes ; Sets if the number of users should be announced to the ; caller. Off by default. ;announce_user_count_all=yes ; Sets if the number of users should be announced to ; all the other users in the conference when someone joins. ; This option can be either set to 'yes' or a number. ; When set to a number, the announcement will only occur ; once the user count is above the specified number. ;announce_only_user=yes ; Sets if the only user announcement should be played ; when a channel enters a empty conference. On by default. ;wait_marked=yes ; Sets if the user must wait for a marked user to enter before ; joining the conference. Off by default. ;end_marked=yes ; This option will kick every non-marked user with this option set in their ; user profile after the last marked user exits the conference. ;end_marked_any=no ; This option will kick every user with this option set in ; their user profile after any marked user exits the conference. ; Additionally, note that unlike end_marked, this includes marked users. ;dsp_drop_silence=yes ; This option drops what Asterisk detects as silence from ; entering into the bridge. Enabling this option will drastically ; improve performance and help remove the buildup of background ; noise from the conference. Highly recommended for large conferences ; due to its performance enhancements. ;dsp_talking_threshold=128 ; Average magnitude threshold to determine talking. ; ; The minimum average magnitude per sample in a frame for the ; DSP to consider talking/noise present. A value below this ; level is considered silence. This value affects several ; operations and should not be changed unless the impact on ; call quality is fully understood. ; ; What this value affects internally: ; ; 1. Audio is only mixed out of a user's incoming audio ; stream if talking is detected. If this value is set too ; high the user will hear himself talking. ; ; 2. When talk detection AMI events are enabled, this value ; determines when talking has begun which results in an ; AMI event to fire. If this value is set too low AMI ; events may be falsely triggered by variants in room ; noise. ; ; 3. The 'drop_silence' option depends on this value to ; determine when the user's audio should be mixed into the ; bridge after periods of silence. If this value is too ; high the user's speech will get discarded as they will ; be considered silent. ; ; Valid values are 1 through 2^15. ; By default this value is 160. ;dsp_silence_threshold=2000 ; The number of milliseconds of silence necessary to declare ; talking stopped. ; ; The time in milliseconds of sound falling below the ; 'dsp_talking_threshold' option when a user is considered to ; stop talking. This value affects several operations and ; should not be changed unless the impact on call quality is ; fully understood. ; ; What this value affects internally: ; ; 1. When talk detection AMI events are enabled, this value ; determines when the user has stopped talking after a ; period of talking. If this value is set too low AMI ; events indicating the user has stopped talking may get ; falsely sent out when the user briefly pauses during mid ; sentence. ; ; 2. The 'drop_silence' option depends on this value to ; determine when the user's audio should begin to be ; dropped from the conference bridge after the user stops ; talking. If this value is set too low the user's audio ; stream may sound choppy to the other participants. This ; is caused by the user transitioning constantly from ; silence to talking during mid sentence. ; ; The best way to approach this option is to set it slightly ; above the maximum amount of milliseconds of silence a user ; may generate during natural speech. ; ; Valid values are 1 through 2^31. ; By default this value is 2500ms. ;talk_detection_events=yes ; This option sets whether or not notifications of when a user ; begins and ends talking should be sent out as events over AMI. ; By default this option is off. ;denoise=yes ; Sets whether or not a denoise filter should be applied ; to the audio before mixing or not. Off by default. Requires ; func_speex to be built and installed. Do not confuse this option ; with drop_silence. Denoise is useful if there is a lot of background ; noise for a user as it attempts to remove the noise while preserving ; the speech. This option does NOT remove silence from being mixed into ; the conference and does come at the cost of a slight performance hit. ;jitterbuffer=yes ; Enabling this option places a jitterbuffer on the user's audio stream ; before audio mixing is performed. This is highly recommended but will ; add a slight delay to the audio. This option is using the JITTERBUFFER ; dialplan function's default adaptive jitterbuffer. For a more fine tuned ; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function ; on the user before entering the ConfBridge application. ;pin=1234 ; Sets if this user must enter a PIN number before entering ; the conference. The PIN will be prompted for. ;announce_join_leave=yes ; When enabled, this option will prompt the user for a ; name when entering the conference. After the name is ; recorded, it will be played as the user enters and exists ; the conference. This option is off by default. ;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user ; will be prompted to review their recording before ; entering the conference. During this phase, the recording ; may be listened to, re-recorded, or accepted as is. This ; option is off by default. ;dtmf_passthrough=yes ; Sets whether or not DTMF should pass through the conference. ; This option is off by default. ;announcement= ; Play a sound file to the user when they join the conference. ;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant ; may stay in the conference before being automatically ejected. When the user ; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT ; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout. ; Default: 0 ;text_messaging=yes ; When set to yes text messages will be sent to this user. Text messages ; may occur as a result of events or can be received from other participants. ; When set to no text messages will not be sent to this user. ;answer_channel=yes ; Sets if the channel should be answered if it hasn't been already. ; On by default. ; --- ConfBridge Bridge Profile Options --- [default_bridge] type=bridge ;max_members=50 ; This option limits the number of participants for a single ; conference to a specific number. By default conferences ; have no participant limit. After the limit is reached, the ; conference will be locked until someone leaves. Note however ; that an Admin user will always be alowed to join the conference ; regardless if this limit is reached or not. ;record_conference=yes ; Records the conference call starting when the first user ; enters the room, and ending when the last user exits the room. ; The default recorded filename is ; 'confbridge--.wav ; and the default format is 8khz slinear. This file will be ; located in the configured monitoring directory in asterisk.conf. ;record_file= ; When record_conference is set to yes, the specific name of the ; record file can be set using this option. Note that since multiple ; conferences may use the same bridge profile, this may cause issues ; depending on the configuration. It is recommended to only use this ; option dynamically with the CONFBRIDGE() dialplan function. This ; allows the record name to be specified and a unique name to be chosen. ; By default, the record_file is stored in Asterisk's spool/monitor directory ; with a unique filename starting with the 'confbridge' prefix. ;record_file_append=yes ; Append record file when starting/stopping on same conference recording. ;record_file_timestamp=yes ; Append the start time to the record file name. ;record_options= ; Pass additional options to MixMonitor. ;record_command= ; Command to execute when recording finishes. ;internal_sample_rate=auto ; Sets the internal native sample rate the ; conference is mixed at. This is set to automatically ; adjust the sample rate to the best quality by default. ; Other values can be anything from 8000-192000. If a ; sample rate is set that Asterisk does not support, the ; closest sample rate Asterisk does support to the one requested ; will be used. ;maximum_sample_rate=none ; Sets the maximum sample rate the conference ; is mixed at. This is set to no maximum by default. ; Values can be anything from 8000-192000. ;mixing_interval=40 ; Sets the internal mixing interval in milliseconds for the bridge. This ; number reflects how tight or loose the mixing will be for the conference. ; In order to improve performance a larger mixing interval such as 40ms may ; be chosen. Using a larger mixing interval comes at the cost of introducing ; larger amounts of delay into the bridge. Valid values here are 10, 20, 40, ; or 80. By default 20ms is used. ;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants. ; Note that participants wanting to view and be the source of a video feed ; _MUST_ be sharing the same video codec. Also, using video in conjunction with ; with the jitterbuffer currently results in the audio being slightly out of sync ; with the video. This is a result of the jitterbuffer only working on the audio ; stream. It is recommended to disable the jitterbuffer when video is used. ; ; --- MODES --- ; none: No video sources are set by default in the conference. It is still ; possible for a user to be set as a video source via AMI or DTMF action ; at any time. ; ; follow_talker: The video feed will follow whoever is talking and providing video. ; ; last_marked: The last marked user to join the conference with video capabilities ; will be the single source of video distributed to all participants. ; If multiple marked users are capable of video, the last one to join ; is always the source, when that user leaves it goes to the one who ; joined before them. ; ; first_marked: The first marked user to join the conference with video capabilities ; is the single source of video distribution among all participants. If ; that user leaves, the marked user to join after them becomes the source. ; ; sfu: Selective Forwarding Unit - Sets multi-stream operation ; for a multi-party video conference. ;language=en ; Set the language used for announcements to the conference. ; Default is en (English). ;regcontext=conferences ; The name of the context into which to register conference names as extensions. ;video_update_discard=2000 ; Amount of time (in milliseconds) to discard video update requests after sending a video ; update request. Default is 2000. A video update request is a request for a full video ; intra-frame. Clients can request this if they require a full frame in order to decode ; the video stream. Since a full frame can be large limiting how often they occur can ; reduce bandwidth usage at the cost of increasing how long it may take a newly joined ; channel to receive the video stream. ;remb_send_interval=1000 ; Interval (in milliseconds) at which a combined REMB frame will be sent to sources of video. ; A REMB frame contains receiver estimated maximum bitrate information. By creating a combined ; frame and sending it to the sources of video the sender can be influenced on what bitrate ; they choose allowing a better experience for the receivers. This defaults to 0, or disabled. ;remb_behavior=average ; How the combined REMB report for an SFU video bridge is constructed. If set to "average" then ; the estimated maximum bitrate of each receiver is used to construct an average bitrate. If ; set to "lowest" the lowest maximum bitrate is forwarded to the sender. If set to "highest" ; the highest maximum bitrate is forwarded to the sender. If set to "average_all" a single average ; is generated from every receiver and the same value is sent to every sender. If set to ; "lowest_all" the lowest maximum bitrate of all receivers is sent to every sender. If set to ; "highest_all" the highest maximum bitrate of all receivers is sent to every sender. ; When set to "force", the value set in remb_estimated_bitrate is sent to every sender. ; This defaults to "average". ;remb_estimated_bitrate=0 ; When remb_behavior is set to 'force', this options sets the estimated bitrate ; (in bits per second) sent to each participant in REMB reports. ;enable_events=no ; If enabled, recipients who joined the bridge via a channel driver ; that supports Enhanced Messaging (currently only chan_pjsip) will ; receive in-dialog messages containing a JSON body describing the ; event. The Content-Type header will be ; "text/x-ast-confbridge-event". ; This feature must also be enabled in user profiles. ; All sounds in the conference are customizable using the bridge profile options below. ; Simply state the option followed by the filename or full path of the filename after ; the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin ; sound file found in the sounds directory when announcing someone's name is joining the ; conference. ;sound_join ; The sound played to everyone when someone enters the conference. ;sound_leave ; The sound played to everyone when someone leaves the conference. ;sound_has_joined ; The sound played before announcing someone's name has ; joined the conference. This is used for user intros. ; Example "_____ has joined the conference" ;sound_has_left ; The sound played when announcing someone's name has ; left the conference. This is used for user intros. ; Example "_____ has left the conference" ;sound_kicked ; The sound played to a user who has been kicked from the conference. ;sound_muted ; The sound played when the mute option is toggled on using DTMF menu. ;sound_unmuted ; The sound played when the mute option is toggled off using DTMF menu. ;sound_only_person ; The sound played when the user is the only person in the conference. ;sound_only_one ; The sound played to a user when there is only one other ; person is in the conference. ;sound_there_are ; The sound played when announcing how many users there ; are in a conference. ;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are" ; when announcing how many users there are in the conference. ; The sounds are stringed together like this. ; "sound_there_are" "sound_other_in_party" ;sound_place_into_conference ; The sound played when someone is placed into the conference ; after waiting for a marked user. This sound is now deprecated ; since it was only ever used improperly and correcting that bug ; made it completely unused. ;sound_wait_for_leader ; The sound played when a user is placed into a conference that ; can not start until a marked user enters. ;sound_leader_has_left ; The sound played when the last marked user leaves the conference. ;sound_get_pin ; The sound played when prompting for a conference pin number. ;sound_invalid_pin ; The sound played when an invalid pin is entered too many times. ;sound_locked ; The sound played to a user trying to join a locked conference. ;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode. ;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode. ;sound_error_menu ; The sound played when an invalid menu option is entered. ;sound_begin ; The sound played to the conference when the first marked user enters the conference. ;sound_binaural_on ; The sound played when binaural audio is turned on ;sound_binaural_off ; The sound played when binaural audio is turned off ; --- ConfBridge Menu Options --- ; The ConfBridge application also has the ability to ; apply custom DTMF menus to each channel using the ; application. Like the User and Bridge profiles ; a menu is passed in to ConfBridge as an argument in ; the dialplan. ; ; Below is a list of menu actions that can be assigned ; to a DTMF sequence. ; ; To have the first DTMF digit in a sequence be the '#' character, you need to ; escape it. If it is not escaped then normal config file processing will ; think it is a directive like #include. For example: ; \#1=toggle_mute ; Pressing #1 will toggle the mute setting. ; ; A single DTMF sequence can have multiple actions associated with it. This is ; accomplished by stringing the actions together and using a ',' as the delimiter. ; Example: Both listening and talking volume is reset when '5' is pressed. ; 5=reset_talking_volume, reset_listening_volume ; ; playback(&) ; Playback will play back an audio file to a channel ; and then immediately return to the conference. ; This file can not be interupted by DTMF. ; Mutliple files can be chained together using the ; '&' character. ; playback_and_continue(&) ; playback_and_continue will ; play back a prompt while continuing to ; collect the dtmf sequence. This is useful ; when using a menu prompt that describes all ; the menu options. Note however that any DTMF ; during this action will terminate the prompts ; playback. Prompt files can be chained together ; using the '&' character as a delimiter. ; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent ; to everyone else, but the user will still be able to listen in. ; toggle_binaural ; Toggle on or off binaural audio processing. ; no_op ; This action does nothing (No Operation). Its only real purpose exists for ; being able to reserve a sequence in the config as a menu exit sequence. ; decrease_listening_volume ; Decreases the channel's listening volume. ; increase_listening_volume ; Increases the channel's listening volume. ; reset_listening_volume ; Reset channel's listening volume to default level. ; decrease_talking_volume ; Decreases the channel's talking volume. ; increase_talking_volume ; Icreases the channel's talking volume. ; reset_talking_volume ; Reset channel's talking volume to default level. ; ; dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user ; to escape from the conference and execute ; commands in the dialplan. Once the dialplan ; exits the user will be put back into the ; conference. The possibilities are endless! ; leave_conference ; This action allows a user to exit the conference and continue ; execution in the dialplan. ; ; admin_kick_last ; This action allows an Admin to kick the last participant from the ; conference. This action will only work for admins which allows ; a single menu to be used for both users and admins. ; ; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and ; unlocking the conference. Non admins can not use ; this action even if it is in their menu. ; set_as_single_video_src ; This action allows any user to set themselves as the ; single video source distributed to all participants. ; This will make the video feed stick to them regardless ; of what the video_mode is set to. ; release_as_single_video_src ; This action allows a user to release themselves as ; the video source. If video_mode is not set to "none" ; this action will result in the conference returning to ; whatever video mode the bridge profile is using. ; ; Note that this action will have no effect if the user ; is not currently the video source. Also, the user is ; not guaranteed by using this action that they will not ; become the video source again. The bridge will return ; to whatever operation the video_mode option is set to ; upon release of the video src. ; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute ; state for all non-admins within a conference. ; Subsequent non-admins joining a muted conference will ; start muted. All admin users are unaffected by this ; option. Note that all users, regardless of their admin ; status, are notified that the conference is muted when ; the state is toggled. ; participant_count ; This action plays back the number of participants currently ; in a conference [sample_user_menu] type=menu *=playback_and_continue(conf-usermenu) *1=toggle_mute 1=toggle_mute *4=decrease_listening_volume 4=decrease_listening_volume *6=increase_listening_volume 6=increase_listening_volume *7=decrease_talking_volume 7=decrease_talking_volume *8=leave_conference 8=leave_conference *9=increase_talking_volume 9=increase_talking_volume [sample_admin_menu] type=menu *=playback_and_continue(conf-adminmenu) *1=toggle_mute 1=toggle_mute *2=admin_toggle_conference_lock ; only applied to admin users 2=admin_toggle_conference_lock ; only applied to admin users *3=admin_kick_last ; only applied to admin users 3=admin_kick_last ; only applied to admin users *4=decrease_listening_volume 4=decrease_listening_volume *6=increase_listening_volume 6=increase_listening_volume *7=decrease_talking_volume 7=decrease_talking_volume *8=no_op 8=no_op *9=increase_talking_volume 9=increase_talking_volume