[asterisk-users] Confbridge for 80 devices

Eric Wieling ewieling at nyigc.com
Thu Oct 20 17:15:55 CDT 2022


https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces

On 10/20/22 17:35, Jerry Geis wrote:
> 
> [modules]
> autoload = yes
> noload = res_timing_pthread
> noload = res_timing_timerfd
> 
> SO I "dont" want to load res_timing_anything ???
> 
> I have preload on res_timing_dahdi, then res_timing_pthread and not 
> res_timing_timerfd at all.
> 
> 
> 
> confbridge.conf is below
> 
> [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.
> ;
> 
> ; --- ConfBridge User Profile Options ---
> [default_user]
> type=user
> ;admin=yes     ; Sets if the user is an admin or not. Off by default.
> ;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
> ;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 user with this option set 
> in their
>                  ; user profile after the last Marked user exists the 
> conference.
> 
> ;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  ; The time in milliseconds of sound above 
> what the dsp has
>                              ; established as base line silence for a 
> user before a user
>                              ; is considered to be 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. Audio is only mixed out of a user's 
> incoming audio stream
>                              ;    if talking is detected.  If this value 
> is set too
>                              ;    loose the user will hear themselves 
> briefly each
>                              ;    time they begin talking until the dsp 
> has time to
>                              ;    establish that they are in fact 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 tight
>                              ;    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 loose
>                              ;    the beginning of a user's speech will 
> get cut off as they
>                              ;    transition from silence to talking.
>                              ;
>                              ; By default this value is 160 ms. Valid 
> values are 1 through 2^31
> 
> ;dsp_silence_threshold=2000 ; The time in milliseconds of sound falling 
> within the what
>                              ; the dsp has established as baseline 
> silence before a user
>                              ; is considered be silent.  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 ms of silence a 
> user may generate during
>                              ; natural speech.
>                              ;
>                              ; By default this value is 2500ms. Valid 
> values are 1 through 2^31
> 
> ;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
>               ; codec_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.
> ;dtmf_passthrough=yes  ; Sets whether or not DTMF should pass through 
> the conference.
>                         ; This option is off 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-<name of conference 
> bridge>-<start time>.wav
>                                 ; and the default format is 8khz 
> slinear.  This file will be
>                                 ; located in the configured monitoring 
> directory in asterisk.conf.
> 
> ;record_file=</path/to/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.
> 
> ;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.
> 
> ;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.
> 
> ; 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 it toggled on.
> ;sound_unmuted  ; The sound played when the mute option it toggled off.
> ;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" <number of participants> 
> "sound_other_in_party"
> ;sound_place_into_conference ; The sound played when someone is placed 
> into the conference
>                               ; after waiting for a marked user.
> ;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.
> 
> [broadcastBridge]
> type=bridge
> 
> video_mode=first_marked
> ;video_mode=sfu; 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.
> 
> ; 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 it toggled on.
> ;sound_unmuted  ; The sound played when the mute option it toggled off.
> ;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" <number of participants> 
> "sound_other_in_party"
> ;sound_place_into_conference ; The sound played when someone is placed 
> into the conference
>                               ; after waiting for a marked user.
> ;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.
> 
> ; --- 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.
> ;
> ; 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(<name of audio file>&<name of audio file>)
>                                         ; 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(<name of playback prompt>&<name of playback prompt>)
>                                         ; 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.
>                     ; continue to collect the dtmf sequence.
> ; 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.
> 
> [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
> 
> [LSIConfBridge]
> type=bridge
> record_conference=no
> sound_only_person=none
> sound_only_one=none
> sound_join=none
> sound_leave=none
> sound_has_joined=none
> sound_join=none
> sound_has_left=none
> sound_kicked=none
> sound_muted=none
> sound_unmuted=none
> sound_only_person=none
> sound_only_one=none
> sound_there_are=none
> sound_other_in_party=none
> sound_place_into_conference=none
> sound_wait_for_leader=none
> sound_leader_has_left=none
> sound_get_pin=none
> sound_invalid_pin=none
> sound_locked=none
> sound_locked_now=none
> sound_unlocked_now=none
> sound_error_menu=none
> 
> [LSIBroadcaster]
> type=user
> marked=yes
> quiet=yes
> announce_only_user=no
> announce_user_count_all=no
> announce_join_leave=no
> 
> [LSIBroadcastee]
> type=user
> quiet=yes
> end_marked=yes
> startmuted=yes
> announce_only_user=no
> announce_user_count_all=no
> announce_join_leave=no
> 
> [LSIConfUser]
> type=user
> marked=yes
> quiet=yes
> announce_only_user=no
> announce_user_count_all=no
> announce_join_leave=no
> 
> [LSIConfUserMuted]
> type=user
> quiet=yes
> startmuted=yes
> announce_only_user=no
> announce_user_count_all=no
> announce_join_leave=no
> 

-- 
http://help.nyigc.net/



More information about the asterisk-users mailing list