[asterisk-users] Confbridge for 80 devices

Jerry Geis jerry.geis at gmail.com
Thu Oct 20 16:35:01 CDT 2022


[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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20221020/4e20751e/attachment-0001.html>


More information about the asterisk-users mailing list