Shared Views Could Not Get a Valid Session Try Sharing Again 3ds Max
BigBlueButton has many configuration files that offer you opportunities to customize your installation. This document covers common customizations of BigBlueButton two.two.
apply-conf.sh
Whenever you upgrade a server to the latest version of BigBlueButton, either using the manual upgrade steps or the bbb-install.sh script, if you take made custom changes to BigBlueButton's configuration files, the packaging scripts may overwrite these changes.
To make it easier to employ your configuration changes, y'all can create a Bash script at /etc/bigbluebutton/bbb-conf/utilize-config.sh
that contains commands to apply your changes. The bbb-conf
script, which is run as part of the terminal steps in a transmission upgrade steps or using bbb-install.sh
, volition observe utilize-config.sh
and invoke information technology only before starting all of BigBlueButton's components.
In this manner, you can use apply-conf.sh
to apply your custom configuration changes later on all packages have updated merely just before BigBlueButton starts.
For example, if you create /etc/bigbluebutton/bbb-conf/employ-config.sh
with the following contents and get in executable with chmod +x /etc/bigbluebutton/bbb-conf/apply-config.sh
#!/bin/fustigate # Pull in the helper functions for configuring BigBlueButton source /etc/bigbluebutton/bbb-conf/use-lib.sh enableUFWRules echo " - Disable screen sharing" yq w -i $HTML5_CONFIG public.kurento.enableScreensharing false chown meteor:meteor $HTML5_CONFIG
then when called past bbb-conf
, the to a higher place apply-conf.sh
script will
- use the helper function
enableUFWRules
to restrict admission to specific ports, and - gear up
enableScreensharing
tofalse
in the HTML5 configuration file at/usr/share/meteor/bundle/programs/server/avails/app/config/settings.yml
.
Notice that apply-conf.sh
includes a helper script apply-lib.sh. This helper script contains some functions to brand it piece of cake to apply common configuratino changes, forth with some helper variables, such as HTML5_CONFIG
.
The contents of utilize-config.sh
are non owned by whatever package, so it will never be overwritten.
Mutual Customizations
Recording
Delete raw data from published recordings
When a meeting finishes, the BigBlueButton server athenaeum the meeting information (referred to equally the "raw" data).
Retaining the raw information lets you lot rebuild a recording if it was accidentally deleted by a user; however, the tradeoff is the storage of raw information will swallow more disk infinite over fourth dimension.
By default, BigBlueButton server automatically remove the raw data for a recording after xiv days of its being published. To disable this, edit the BigBlueButton cron job, located at /etc/cron.daily/bigbluebutton
, and comment the post-obit line
remove_raw_of_published_recordings
The default duration (days)
is defined near the elevation of the BigBlueButton cron job.
Delete recordings older than Northward days
To delete recordings older than 14 days, create the file /etc/cron.daily/bbb-recording-cleanup
with the contents
#!/bin/bash MAXAGE =14 LOGFILE =/var/log/bigbluebutton/bbb-recording-cleanup.log shopt -s nullglob NOW = $( appointment +%south) echo " $( date --rfc-3339 =seconds) Deleting recordings older than ${ MAXAGE } days" >> " ${ LOGFILE } " for donefile in /var/bigbluebutton/recording/status/published/* -presentation.done ; do MTIME = $( stat -c %Y " ${ donefile } " ) # Check the age of the recording if [ $(( ( $Now - $MTIME ) / 86400 )) -gt $MAXAGE ] ; then MEETING_ID = $( basename " ${ donefile } " ) MEETING_ID = ${ MEETING_ID %-presentation.done } echo " ${ MEETING_ID } " >> " ${ LOGFILE } " bbb-tape --delete " ${ MEETING_ID } " >> " ${ LOGFILE } " fi done for eventsfile in /var/bigbluebutton/recording/raw/*/events.xml ; practise MTIME = $( stat -c %Y " ${ eventsfile } " ) # Check the age of the recording if [ $(( ( $NOW - $MTIME ) / 86400 )) -gt $MAXAGE ] ; then MEETING_ID = " ${ eventsfile %/events.xml } " MEETING_ID = " ${ MEETING_ID ##*/ } " echo " ${ MEETING_ID } " >> " ${ LOGFILE } " bbb-record --delete " ${ MEETING_ID } " >> " ${ LOGFILE } " fi done
Change the value for MAXAGE
to specify how many days to retain the presentation
format recordings on your BigBlueButton server. After you lot create the file, make it executable.
$ chmod +x /etc/cron.daily/bbb-recording-cleanup
Motion recordings to a dissimilar sectionalisation
Most of BigBlueButton'southward storage occurs in the /var/bigbluebutton
directory (this is where all the recordings are stored). If yous want to movement this directory to another partition, say to /mnt/data
, do the following
$ sudo bbb-conf --stop $ mv /var/bigbluebutton /mnt/data $ ln -southward /mnt/data/bigbluebutton /var/bigbluebutton $ sudo bbb-conf --kickoff
Migrate recordings from a previous version
Depending of the previous version there may exist some differences in the metadata generated. In gild to fix that it will be necessary to execute the respective scripts for updating the migrated recordings.
$ cd /usr/local/bigbluebutton/cadre/scripts
From version 0.9
$ sudo ./bbb-0.9-beta-recording-update $ sudo ./bbb-0.9-recording-size
From version 1.0
$ sudo ./bbb-i.one-meeting-tag
If for some reason the scripts have to be run more than once, employ the –force modifier.
$ sudo ./bbb-x.ten-script --force
Enable playback of recordings on iOS
The presentation
playback format encodes the video shared during the session (webcam and screen share) as .webm
(VP8) files; however, iOS devices only support playback of .mp4
(h.264) video files. To enable playback of the presentation
recording format on iOS devices, edit /usr/local/bigbluebutton/core/scripts/presentation.yml
and uncomment the entry for mp4
.
video_formats : - webm - mp4
This change will cause BigBlueButton to generate an boosted .mp4
file for the video components (webcam and screen share) that was shared during the session. This modify only applies to new recordings. If you desire this change to apply to any existing recordings, you lot need employ the bbb-record
command to rebuild them.
This change will increase the processing time and storage size of recordings with video files every bit it volition at present generate two videos: .webm
and .mp4
for the webcam and screen share videos.
E'er record every meeting
By default, the BigBlueButton server will produce a recording when (one) the meeting has been created with tape=truthful
in the create API call and (ii) a moderator has clicked the Kickoff/Terminate Record push (at least in one case) during the coming together.
However, you can configure a BigBlueButton server to record every coming together, edit /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.backdrop
and change
# Start recording when first user joins the meeting. # For backward compatibility with 0.81 where whole meeting # is recorded. autoStartRecording = false # Let the user to start/terminate recording. allowStartStopRecording = truthful
to
# Start recording when first user joins the coming together. # For backward compatibility with 0.81 where whole meeting # is recorded. autoStartRecording = truthful # Permit the user to start/end recording. allowStartStopRecording = fake
To apply the changes, restart the BigBlueButton server using the command
$ sudo bbb-conf --restart
To e'er record every coming together, add together the following to apply-config.sh
.
echo " - Prevent viewers from sharing webcams" sed -i 's/autoStartRecording=.*/autoStartRecording=true/g' /usr/share/bbb-web/Web-INF/classes/bigbluebutton.properties sed -i 'due south/allowStartStopRecording=.*/allowStartStopRecording=simulated/g' /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.backdrop
Transfer recordings
When setting upward BigBlueButton on a server, yous may want to transfer recordings from an older server. If your quondam server has all of the original recording files in the /var/bigbluebutton/recording/raw
directory, so you can transfer these files to the new server using rsync
.
For example, running this rsync
command new server will re-create over the recording file from the quondam server.
$ rsync -rP root@old-bbb-server.case.com:/var/bigbluebutton/recording/raw/ /var/bigbluebutton/recording/raw/
Alternatively, you could create a tar archive of the /var/bigbluebutton/recording/raw
directory, and copy it with scp, or use a shared NFS mount.
Later you re-create over the files (either through rsync or tar-and-re-create), you lot will then demand to set the permissions on the new server using the following chown
command.
$ chown -R bigbluebutton:bigbluebutton /var/bigbluebutton/recording/raw
Subsequently transfer of recordings, view a sampling of the recordings to ensure they playback correctly (they should).
Re-process raw recordings
If you lot have transferred over the raw content, y'all tin also reprocess the recordings using the newer scripts to rebuild them with the latest playback format (including any bug fixes made in the latest version). Annotation: Re-processing can take a long fourth dimension (around 25% to 50% of the original length of the recordings), and volition use a lot of CPU on your new BigBlueButton server while you lot await for the recordings to procedure.
If you lot are interested in reprocessing the older recordings, try it starting time with 1 or ii of the larger recordings. If there is no perceptible departure, you don't demand to reprocess the others.
And initiate the re-processing of a single recording, you can do
$ sudo bbb-record --rebuild <recording_id>
where <recording_id>
is the the file name of the raw recording in /var/bigbluebutton/recording/raw
, such as
$ sudo bbb-record --rebuild f4ae6fd61e2e95940e2e5a8a246569674c63cb4a-1517234271176
If your former server has all of the original recording files in the /var/bigbluebutton/recording/raw
directory, then yous can transfer these files to the new server, for example with rsync:
If you lot want to rebuild all your recordings, enter the command
Alert: If you take a large number of recordings, this will rebuild all of them, and not procedure any new recordings until the rebuild process finishes. Do not do this unless this is you intent. Do not do this command to troubleshoot recording errors, instead come across Recording Troubleshooting.
$ sudo bbb-record --rebuildall
The BigBlueButton server will automatically go through the recordings and rebuild and publish them. You can employ the bbb-record --sentry
control to see the progress.
Transfer published recordings from another server
If you desire to do the minimum corporeality of piece of work to speedily make your existing recordings on an older BigBlueButton server, transfer the contents of the /var/bigbluebutton/published
and /var/bigbluebutton/unpublished
directories. In add-on, to preserve the backup of the original raw media, you should transfer the contents of the /var/bigbluebutton/recording/raw
directory.
Hither is an example set of rsync commands that would accomplish this; run these on the new server to copy the files from the one-time server.
$ rsync -rP root@old-bbb-server:/var/bigbluebutton/published/ /var/bigbluebutton/published/ $ rsync -rP root@old-bbb-server:/var/bigbluebutton/unpublished/ /var/bigbluebutton/unpublished/ $ rsync -rP root@old-bbb-server:/var/bigbluebutton/recording/raw/ /var/bigbluebutton/recording/raw/
Other methods of transferring these files tin also exist used; for example, you could create a tar archive of each of the directories, and transfer information technology via scp, or use a shared NFS mount.
You will then need to fix the permissions on the newly copied recordings:
$ chown -R bigbluebutton:bigbluebutton /var/bigbluebutton/published /var/bigbluebutton/unpublished /var/bigbluebutton/recording/raw
If the recordings were copied from a server with a unlike hostname, you will accept to run the following command to fix the stored hostnames. (If you don't practice this, it'll either return a 404 fault, or attempt to load the recordings from the one-time server instead of the new server!)
Notation that this command will restart the BigBlueButton server, interrupting any live sessions.
$ sudo bbb-conf --setip <ip_address_or_hostname>
For case,
$ sudo bbb-conf --setip bigbluebutton.example.com
The transferred recordings should be immediately visible via the BigBlueButton recordings API.
Modify processing time
On a two.2.x BigBlueButton server, the server will process recordings every bit meetings finish. You can restrict the recording processing interval to specific hours by creating the file /etc/systemd/system/bbb-record-core.timer.d/override.conf
with the contents
[Timer] OnActiveSec= OnUnitInactiveSec= OnCalendar=21,22,23,00,01,02,03:*:00 Persistent=simulated
and do systemctl daemon-reload
. This file overrides the timing of when systemd runs bbb-record-core.target
. In the above example, recordings will get-go processing betwixt 21:00 and 03:59.
Video
Reduce bandwidth from webcams
You can utilise a banwidth usage on your BigBlueButton server using a tool such equally bmon
(sudo apt-get install bmon
). Yous can modify the maximum bandwidth settings for each webcam options (low, medium, high, high definition) past editing /usr/share/shooting star/parcel/programs/server/avails/app/config/settings.yml
and modifying the entries for
cameraProfiles : - id : low name : Low quality default : false bitrate : 100 - id : medium proper noun : Medium quality default : truthful bitrate : 200 - id : high name : High quality default : false bitrate : 500 - id : hd name : Loftier definition default : false bitrate : 800
The settings for bitrate
are in kbits/sec (i.e. 100 kbits/sec). Subsequently your alter the values, save the file, restart your BigBlueButton server sudo bbb-conf --restart
to have the settings accept effect. The lowest setting allowed for WebRTC is thirty Kbits/sec.
If you take sessions that similar to share lots of webcams, such as ten or more, and then then setting the bitrate
for low
to l and medium
to 100 will help reduce the overall bandwidth on the server. When many webcams are shared, the size of the webcams go so small that the reduction in bitrate
volition not be noticable during the live sessions.
Disable webcams
Y'all can disable webcams by setting enableVideo
to false
in the settings.yml
file for the HTML5 customer.
To do this automatically between package upgrades and restarts of BigBlueButton, add the following lines to apply-conf.sh.
echo " - Disable webcams" yq w -i $HTML5_CONFIG public.kurento.enableVideo faux chown meteor:shooting star $HTML5_CONFIG
and run bbb-conf --restart
Disable screen sharing
You tin disable screen sharing past setting enableScreensharing
to false
in the settings.yml
file for the HTML5 client.
To do this automatically between package upgrades and restarts of BigBlueButton, add the following lines to employ-conf.sh.
echo " - Disable screen sharing" yq due west -i $HTML5_CONFIG public.kurento.enableScreensharing faux chown meteor:shooting star $HTML5_CONFIG
Reduce bandwidth for webcams
If you expect users to share many webcams, yous can reduce bandwidth for webcams.
To do this automatically between bundle upgrades and restarts of BigBlueButton, add together the following lines to use-conf.sh.
echo " - Setting photographic camera defaults" yq w -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==low).bitrate' l yq w -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==medium).bitrate' 100 yq w -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==high).bitrate' 200 yq w -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==hard disk).bitrate' 300 yq w -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==depression).default' true yq due west -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==medium).default' false yq due west -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==high).default' faux yq west -i $HTML5_CONFIG 'public.kurento.cameraProfiles.(id==hard disk).default' faux chown meteor:meteor $HTML5_CONFIG
Run three parallel Kurento media servers
[ Available since BigBluebutton 2.ii.24+ ]
Kurento media server handles 3 different types of media streams: listen only, webcams, and screen share.
Running three parallel Kurento media servers (KMS) – one dedicated to each type of media stream – should increment the stability of media handling as the load for starting/stopping media streams spreads over 3 separate KMS processes. Also, it should increase the reliability of media handling equally a crash (and automatic restart) by one KMS will not touch the 2.
To configure your BigBlueButton server to run three KMS processes, add the following line to apply-conf.sh
and run sudo bbb-conf --restart
, you should see
- Configuring three Kurento Media Servers: one for heed only, webcam, and screeshare Generating a 2048 scrap RSA private primal ....................+++ ......+++ writing new individual key to '/tmp/dtls-srtp-key.pem' ----- Created symlink from /etc/systemd/system/kurento-media-server.service.wants/kurento-media-server-8888.service to /usr/lib/systemd/system/kurento-media-server-8888.service. Created symlink from /etc/systemd/system/kurento-media-server.service.wants/kurento-media-server-8889.service to /usr/lib/systemd/arrangement/kurento-media-server-8889.service. Created symlink from /etc/systemd/arrangement/kurento-media-server.service.wants/kurento-media-server-8890.service to /usr/lib/systemd/system/kurento-media-server-8890.service.
Later BigBlueButton finishes restarting, you lot should come across iii KMS processes running using the netstat -antp | grep kur
command.
# netstat -antp | grep kur tcp6 0 0 :::8888 :::* Mind 5929/kurento-media- tcp6 0 0 :::8889 :::* LISTEN 5943/kurento-media- tcp6 0 0 :::8890 :::* Listen 5956/kurento-media- tcp6 0 0 127.0.0.1:8888 127.0.0.1:49132 ESTABLISHED 5929/kurento-media- tcp6 0 0 127.0.0.1:8890 127.0.0.1:55540 ESTABLISHED 5956/kurento-media- tcp6 0 0 127.0.0.ane:8889 127.0.0.1:41000 ESTABLISHED 5943/kurento-media-
Each process has its own log file (distinguished by its procedure ID).
# ls -alt /var/log/kurento-media-server/ total 92 -rw-rw-r-- i kurento kurento 11965 Sep xiii 17:10 2020-09-13T170908.00000.pid5929.log -rw-rw-r-- 1 kurento kurento 10823 Sep 13 17:ten 2020-09-13T170908.00000.pid5943.log -rw-rw-r-- 1 kurento kurento 10823 Sep 13 17:x 2020-09-13T170908.00000.pid5956.log
At present, if y'all now join a session and choose listen only (which causes Kurento setup a single listen just stream to FreeSWITCH), share your webcam, or share your screen, you'll meet updates occuring independently to each of the above log files every bit each KMS process handles your request.
To revert dorsum to running a single KMS server (which handles all three meida streams), alter the above line in /etc/bigbluebutton/bbb-conf/apply-config.sh
to
and run sudo bbb-conf --restart
again.
Limit overall media streams
On a typical BigBlueButton server Kurento tin handle about 1000 media streams. A media stream is created when a user broadcasts or receives a webcam or screen share video, or when a user joins audio listening just. If your server will exist using webcams, you can prepare limits per user, per room, and an overall limit per server in /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml
. The default is no limit.
mediaThresholds: global: 0 perRoom: 0 perUser: 0
For example, the following settings would limit the overall number of media across all meetings to yard streams, the maximum number of webcam streams per meeting to 300, and no limit on the number of webcam streams per user.
mediaThresholds: global: yard perRoom: 300 perUser: 0
On a BigBlueButton 2.iii (or later) server, you can place the above in /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
, which bbb-webrtc-sfu
will utilise to override the settings in default.yml
(even afterward bundle upgrades).
If any of these thresholds are reached, so a user will receive a "Media resources non bachelor (2002)" mistake when sharing webcams.
Thus, we recommend you enable multiple Kurento servers, thereby having one Kurento server for webcams, 1 for screen share, and one for mind just streams. The settings apply to each Kurento server, and so in the above example each Kurento server would have a maximum of 1000 media streams.
BigBlueButton will dynamically reduce the number of webcams in a coming together as the meeting grows larger. These are set in /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
, but yous can override them by placing them in /etc/bigbluebutton/bbb-html5.yml
.
For example, the follwing /etc/bigbluebutton/bbb-html5.yml
file would ensure that no single coming together volition have more than than 300 streams. For example, in a meeting with 30 users, the moderator will run across 25 webcams and the viewers vi webcams. This gives 25 + 29 _ 6 = 196 webcam streams. If the meeting grows to 100 users, the moderator will meet eight webcams and viewers will come across two webcams. This gives eight + 99 _ 2 = 206 webcam streams.
public: app: defaultSettings: application: paginationEnabled: true kurento: pagination: desktopPageSizes: moderator: 0 viewer: 5 mobilePageSizes: moderator: two viewer: 2 paginationToggleEnabled: false paginationThresholds: enabled: truthful thresholds: - desktopPageSizes: moderator: 25 viewer: six users: xxx - desktopPageSizes: moderator: 20 viewer: 5 users: 40 - desktopPageSizes: moderator: xvi viewer: 4 users: l - desktopPageSizes: moderator: 12 viewer: four users: 60 - desktopPageSizes: moderator: 8 viewer: 3 users: seventy - desktopPageSizes: moderator: 8 viewer: 2 users: fourscore - desktopPageSizes: moderator: 8 viewer: ii users: 90 - desktopPageSizes: moderator: 8 viewer: 2 users: 100 Here
Apply custom images for virtual background
Starting from version two.iv BigBlueButton offers virtual background for webcams. To employ your own groundwork images copy them into the directory /usr/share/meteor/bundle/programs/web.browser/app/resources/images/virtual-backgrounds
. For each image copy a thumbnail of the prototype of 50x50 pixels size into /usr/share/shooting star/parcel/programs/web.browser/app/resources/images/virtual-backgrounds/thumbnails
.
To generate thumbnails you can utilize the following shell snippet:
#!/bin/bash FULL = "/usr/share/falling star/bundle/programs/web.browser/app/resource/images/virtual-backgrounds" THUMB = " ${ Total } /thumbnails" cd " $FULL " for pic in *.jpg; do convert " $motion picture " -resize 50x50^ -gravity Center -extent 50x50 " ${ THUMB } / ${ movie } " done
Reference them in the configuration file /etc/bigbluebutton/bbb-html5.yml
:
public: virtualBackgrounds: fileNames: - image1.jpg - image2.jpg - image3.jpg
Background images should not be too large as clients take to download them. You tin can optimize them using the jpegoptim
command which is bachelor as an Ubuntu package.
Audio
Mute all users on startup
If yous want to accept all users join muted, you tin can alter /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
and ready this every bit a server-wide configuration.
# Mute the meeting on start muteOnStart = imitation
Subsequently making them modification, restart your server with sudo bbb-conf --restart
to apply the changes.
Plow off "yous are at present muted"
You tin can remove this sound for all users past editing /opt/freeswitch/etc/freeswitch/autoload_configs/conference.conf.xml
and moving the lines containing muted-sound
and unmuted-sound
into the commented section.
<profile proper name= "cdquality" > <param name= "domain" value= "$${domain}" /> <param proper name= "rate" value= "48000" /> <param name= "interval" value= "twenty" /> <param proper noun= "energy-level" value= "100" /> <!-- <param name="sound-prefix" value="$${sounds_dir}/en/the states/callie"/> --> <param proper noun= "muted-sound" value= "conference/conf-muted.wav" /> <param proper name= "unmuted-sound" value= "conference/conf-unmuted.wav" /> <param proper noun= "alone-sound" value= "conference/conf-alone.wav" /> <!-- <param proper name="moh-sound" value="$${hold_music}"/> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,fifty,25)"/> --> <param proper name= "kicked-sound" value= "briefing/conf-kicked.wav" /> <param name= "locked-sound" value= "conference/conf-locked.wav" /> <param name= "is-locked-sound" value= "conference/conf-is-locked.wav" /> <param name= "is-unlocked-sound" value= "conference/conf-is-unlocked.wav" /> <param name= "pin-audio" value= "briefing/conf-pivot.wav" /> <param name= "bad-pin-sound" value= "conference/conf-bad-pin.wav" /> <param proper noun= "caller-id-name" value= "$${outbound_caller_name}" /> <param proper name= "caller-id-number" value= "$${outbound_caller_id}" /> <param proper name= "comfort-racket" value= "true" /> <!-- <param name="conference-flags" value="video-flooring-only|rfc-4579|livearray-sync|auto-3d-position|minimize-video-encoding"/> --> <!-- <param proper name="video-mode" value="mux"/> --> <!-- <param proper name="video-layout-proper name" value="3x3"/> --> <!-- <param name="video-layout-name" value="group:grid"/> --> <!-- <param name="video-canvass-size" value="1920x1080"/> --> <!-- <param name="video-canvas-bgcolor" value="#333333"/> --> <!-- <param name="video-layout-bgcolor" value="#000000"/> --> <!-- <param proper name="video-codec-bandwidth" value="2mb"/> --> <!-- <param proper noun="video-fps" value="15"/> --> </profile>
Enable background music when only i person is in a session
p FreeSWITCH enables y'all to accept music play in the background when simply one users is in the vox conference. To enable background music, edit /opt/freeswitch/conf/autoload_configs/conference.conf.xml
(every bit root) and around line 204 y'all'll come across the music on hold (moh-sound) commented out
<!-- <param proper noun="moh-sound" value="$${hold_music}"/> <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <param proper noun="get out-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/> -->
Uncomment it and relieve this file.
<param name= "moh-sound" value= "$${hold_music}" /> <!-- <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/> <param name="go out-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/> -->
The default BigBlueButton installation does not come with any music files. Yous'll need to upload a music file in WAV format to the server and change a reference in /opt/freeswitch/conf/vars.xml
.
For example, to use the file /opt/freeswitch/share/freeswitch/sounds/en/us/callie/ivr/48000/ivr-to_listen_to_moh.wav
as music on hold, edit /opt/freeswitch/conf/vars.xml
and change the line
<X-PRE-Procedure cmd= "set" data= "hold_music=local_stream://moh" />
to
<X-PRE-Procedure cmd= "set" data= "hold_music=/opt/freeswitch/share/freeswitch/sounds/en/us/callie/ivr/48000/ivr-to_listen_to_moh.wav" />
and so restart BigBlueButton
and bring together an audio session. Y'all should now hear music on concur if at that place is only one user in the session.
Add a telephone number to the briefing bridge
The built-in WebRTC-based audio in BigBlueButton is very high quality sound. Still, there may be cases where you desire users to be able to punch into the conference span using a telephone number.
Before you can configure FreeSWITCH to route the telephone call to the right conference, yous demand to first obtain a phone number from a Net Phone Service Providers and configure FreeSWITCH appropriately to receive incoming calls via session initiation protocol (SIP) from that provider. Ensure that the context is public
and that the file is called /opt/freeswitch/conf/sip_profiles/external/YOUR-PROVIDER.xml
. Hither is an example; of course, hostname and ALL-CAPS values need to be changed:
<include> <gateway name= "Any-Proper name-FOR-YOUR-PROVIDER" > <param name= "proxy" value= "sip.example.net" /> <param proper noun= "username" value= "PROVIDER-Business relationship" /> <param name= "countersign" value= "PROVIDER-PASSWORD" /> <param name= "extension" value= "EXTERNALDID" /> <param name= "annals" value= "true" /> <param proper name= "context" value= "public" /> </gateway> </include>
To road the incoming phone call to the right BigBlueButton audio conference, you need to create a dialplan
which, for FreeSWITCH, is a set up of instructions that information technology runs when receiving an incoming telephone call. When a user calls the phone number, the dialplan will prompt the user to enter a five digit number associated with the briefing.
To create the dialplan, utilise the XML below and save it to /opt/freeswitch/conf/dialplan/public/my_provider.xml
. Replace EXTERNALDID
with the value specified every bit the extension
in the SIP contour (such as 6135551234, but see higher up).
<extension name= "from_my_provider" > <condition field= "destination_number" expression= "^EXTERNALDID" > <action application= "start_dtmf" /> <action awarding= "answer" /> <action application= "sleep" data= "m" /> <action application= "play_and_get_digits" data= "five 7 3 30000 # briefing/conf-pin.wav ivr/ivr-that_was_an_invalid_entry.wav pivot \d+" /> <!-- Uncomment the post-obit block if y'all want to mask the phone number in the listing of participants. --> <!-- Instead of `01711233121` it volition and so prove `xxx-thirty-3121`. --> <!-- <action application="set_profile_var" data="caller_id_name=${regex(${caller_id_name}|^.*(.{4})$|xxx-xxx-%one)}"/> --> <activity application= "transfer" data= "SEND_TO_CONFERENCE XML public" /> </condition> </extension> <extension name= "check_if_conference_active" > <condition field= "${briefing ${pin} listing}" expression= "/sofia/k" /> <status field= "destination_number" expression= "^SEND_TO_CONFERENCE$" > <action application= "set" data= "bbb_authorized=truthful" /> <action awarding= "transfer" data= "${pin} XML default" /> </condition> </extension> <extension name= "conf_bad_pin" > <condition field= "${pin}" expression= "^\d{5}$" > <activeness application= "answer" /> <action application= "sleep" data= "1000" /> <action application= "play_and_get_digits" data= "5 seven 3 30000 # briefing/conf-bad-pivot.wav ivr/ivr-that_was_an_invalid_entry.wav pin \d+" /> <action awarding= "transfer" data= "SEND_TO_CONFERENCE XML public" /> </condition> </extension>
Change buying of this file to freeswitch:daemon
$ chown freeswitch:daemon /opt/freeswitch/conf/dialplan/public/my_provider.xml
and and so restart FreeSWITCH:
$ sudo systemctl restart freeswitch
Endeavor calling the phone number. Information technology should connect to FreeSWITCH and you should hear a vocalization prompting you to enter the 5 digit PIN number for the conference. Please annotation, that dialin will currently only work if at to the lowest degree one web participant has joined with their microphone.
To ever show users the phone number along with the 5-digit Pin number within BigBlueButton, not only while selecting the microphone participation, edit /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
and change 613-555-1234 to the telephone number provided by your Internet Telephone Service Provider
#---------------------------------------------------- # Default dial access number defaultDialAccessNumber = 613-555-1234
and modify defaultWelcomeMessageFooter
to
defaultWelcomeMessageFooter = <br><br>To join this meeting by phone, dial:<br> %%DIALNUM%%<br>So enter %%CONFNUM%%# as the conference PIN number.
Save bigbluebutton.backdrop
and restart BigBlueButton again. Each user that joins a session will see a bulletin in the chat like to.
To join this meeting by phone, dial: 613-555-1234 and enter 12345 as the conference Pin number.
Finally, setup the firewall rules so you are only accepting incoming calls from the IP accost of your SIP provider. For example, if your SIP provider forwards incoming calls from 64.2.142.33, so setup the following firewall rules on your server.
iptables -A INPUT -i eth0 -p tcp --dport 5060 -s 0.0.0.0/0 -j Turn down iptables -A INPUT -i eth0 -p udp --dport 5060 -s 0.0.0.0/0 -j Pass up iptables -A INPUT -i eth0 -p tcp --dport 5080 -s 0.0.0.0/0 -j Reject iptables -A INPUT -i eth0 -p udp --dport 5080 -due south 0.0.0.0/0 -j Decline iptables -I INPUT -p udp --dport 5060 -due south 64.ii.142.33 -j ACCEPT
With these rules, you won't go spammed by bots scanning for SIP endpoints and trying to connect.
Turn on the "condolement racket" when no 1 is speaking
FreeSWITCH has the power to add a "comfort dissonance" that is a slight groundwork hiss to let users know they are withal in a voice briefing even when no ane is talking (otherwise, they may forget they are continued to the briefing bridge and say something unintended for others).
If you want to enable, edit /opt/freeswitch/conf/autoload_configs/briefing.conf.xml
, await for the block <profile proper name="cdquality">
, and modify the value for comfort-noise
. You tin can specify a level of noise, such every bit 0 (no dissonance), 350, 1400, etc. Try different values to get the level you desire.
<param proper name= "comfort-racket" value= "1400" />
Yous need to restart BigBlueButton betwixt each change. For more data, encounter comfort-dissonance in FreeSWITCH documentation.
$ sudo bbb-conf --restart
Connect BigBlueButton to an external FreeSWITCH Server
BigBlueButton bundles in FreeSWITCH, but y'all tin can configure BigBlueButton to employ an external FreeSWITCH server.
First, edit /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
freeswitch.esl.host = 127.0.0.1 freeswitch.esl.port = 8021 freeswitch.esl.password = ClueCon
Change freeswitch.esl.host
to signal to your external FreeSWITCH IP address. Modify the default freeswitch.esl.countersign
to the ESL countersign for your server.
You can use http://strongpasswordgenerator.com/ to generate passwords.
In your external FreeSWITCH server, edit /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml
.
<configuration name= "event_socket.conf" description= "Socket Client" > <settings> <param name= "nat-map" value= "simulated" /> <param proper noun= "listen-ip" value= "127.0.0.1" /> <param name= "listen-port" value= "8021" /> <param name= "password" value= "ClueCon" /> <!-- param name="apply-inbound-acl" value="localnet.auto"/ --> </settings> </configuration>
Change the listen-ip
to your external FreeSWITCH server IP and besides change the password
to be the same equally freeswitch.esl.password
.
Edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.backdrop
bbb.sip.app.ip = 127.0.0.1 bbb.sip.app.port = 5070 sip.server.username = bbbuser sip.server.password = secret freeswitch.ip = 127.0.0.1 freeswitch.port = 5060
Change bbb.sip.app.ip
to your BigBlueButton server ip.
Modify sip.server.countersign
to something else.
Change freeswitch.ip
to your external FreeSWITCH ip.
In your external FreeSWITCH server.
Edit /opt/freeswitch/conf/directory/default/bbbuser.xml
<user id= "bbbuser" > <params> <!-- omit countersign for authless registration --> <param name= "password" value= "secret" /> <!-- What this user is immune to admission --> <!--<param name="http-allowed-api" value="jsapi,voicemail,status"/> --> </params>
Change password
to match the password yous set in sip.server.password
.
Presentation
Change the default presentation
When a new meeting starts, BigBlueButton displays a default presentation. The file for the default presentation is located in /var/www/bigbluebutton-default/default.pdf
. You tin replace the contents of this file with your presentation. Whenever a coming together is created, BigBlueButton will automatically load, convert, and display this presentation for all users.
Alternatively, you tin modify the global default by editing /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
and changing the URL for beans.presentationService.defaultUploadedPresentation
.
# Default Uploaded presentation file beans.presentationService.defaultUploadedPresentation = ${bigbluebutton.web.serverURL}/default.pdf
Yous'll need to restart BigBlueButton afterwards the modify with sudo bbb-conf --restart
.
If you want to specify the default presentation for a given meeting, y'all can besides pass a URL to the presentation as function of the create meeting API call.
Increase the 200 page limit for uploads
BigBlueButton, by default, restricts uploads to 200 pages. To increase this value, open /usr/share/bbb-web/Spider web-INF/classes/bigbluebutton.backdrop
and change the maxNumPages
value:
#---------------------------------------------------- # Maximum number of pages immune for an uploaded presentation (default 200). maxNumPages = 200
After y'all salve the changes to bigbluebutton.backdrop
, restart the BigBlueButton server with
$ sudo bbb-conf --restart
Increase the file size for an uploaded presentation
The default maximum file upload size for an uploaded presentation is 30 MB.
The first step is to change the size restriction in nginx. Edit /etc/bigbluebutton/nginx/spider web.nginx
and alter the values for client_max_body_size
.
location ~ "^\/bigbluebutton\/presentation\/(?<prestoken>[a-zA-Z0-9_-]+)/upload$" { .... # Allow 30M uploaded presentation certificate. client_max_body_size 30m ; .... } location = /bigbluebutton/presentation/checkPresentation { .... # Allow 30M uploaded presentation document. client_max_body_size 30m ; .... }
Side by side alter the restriction in bbb-spider web. Edit /usr/share/bbb-spider web/Spider web-INF/classes/bigbluebutton.properties
and modify the value maxFileSizeUpload
.
# Maximum file size for an uploaded presentation (default 30MB). maxFileSizeUpload = 30000000
The next changes are for the client-side checks and it depends on which clients you have it use. To increase the size for the Wink client, edit /var/www/bigbluebutton/client/conf/config.xml
and modify maxFileSize
to the new value (note: if you have the development surround you demand to edit ~/dev/bigbluebutton/bigbluebutton-client/src/conf/config.xml
and and then rebuild the client). To increase the size for the HTML5 client, edit /usr/share/meteor/package/programs/server/assets/app/config/settings.yml
and modify uploadSizeMax
.
Restart BigBlueButton with sudo bbb-conf --restart
. You lot should now be able to upload larger presentations within the new limit.
Add together custom fonts for presentation conversion
Starting with BigBlueButton 2.three we added support for using additional fonts when converting presentation files.
On the server where yous want the new fonts supported you would want to download the fonts (.ttf) file. For instance:
wget https://github.com/bigbluebutton/bigbluebutton/files/6391912/Street.Ruler.zip unzip Street.Ruler.zip
Then copy the font (.ttf) to /usr/share/fonts/
sudo cp 'Street Ruler.ttf' /usr/share/fonts/
That's all! The font volition be bachelor on adjacent presentations.
Frontends
Remove the API demos
If you have earlier installed the API demos for testing (which makes it possible for anyone to use your BigBlueButton server without authentication) and desire to now remove them, enter the command:
$ sudo apt-become purge bbb-demo
Modify the default landing page
The default HTML landing folio is located in
/var/www/bigbluebutton-default/index.html
Modify this page to create your own landing page (and go on a redundancy copy of information technology as information technology will be overwritten during package updates to bbb-conf
).
Use the Greenlight front-end
BigBlueButton comes with Greenlight, a front-end application written in Ruby on Track that makes it easy for users to create meetings, invite others, start meetings, and manage recordings.
For more data see Installing Greenlight.
Networking
Setup a firewall
Configuring IP firewalling is essential for securing your installation. By default, many services are reachable across the network. This allows BigBlueButton operate in clusters and individual data middle networks – but if your BigBlueButton server is publicly bachelor on the internet, y'all need to run a firewall to reduce access to the minimal required ports.
If your server is backside a firewall already – such as running within your company or on an EC2 case behind a Amazon Security Group – and the firewall is enforcing the higher up restrictions, you don't need a 2nd firewall and can skip this section.
BigBlueButton comes with a UFW based ruleset. It it can be applied on restart (c.f. Automatically apply configuration changes on restart) and restricts access merely to the following needed ports:
- TCP/IP port 22 for SSH
- TCP/IP port 80 for HTTP
- TCP/IP port 443 for HTTPS
- UDP ports 16384 to 32768 for media connections
Note: if you take configured sshd
(the OpenSSH daemon) to employ a different port than 22, so before running the commands below, modify ufw allow OpenSSH
to ufw allow <port>/tcp
where <port>
is the port in use by sshd
. You can come across the listening port for sshd
using the control # netstat -antp | grep sshd
. Here the command shows sshd
listening to the standard port 22.
$ netstat -antp | grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* Heed 1739/sshd tcp6 0 0 :::22 :::* Mind 1739/sshd
To restrict external access minimal needed ports for BigBlueButton (with HTML5 customer set equally default). BigBlueButton supplies a helper office that you can call in /etc/bigbluebutton/bbb-conf/apply-conf.sh
to setup a minimal firewall (come across Setup Firewall.
You tin can also do it manually with the following commands
$ apt-become install -y ufw ufw allow OpenSSH ufw let "Nginx Total" ufw allow 16384:32768/udp ufw --force enable
These ufw
firewall rules volition exist automatically re-practical on server reboot.
Besides IP-based firewalling, you can explore web application firewalls such as ModSecurity that provide additional security by checking requests to various web-based components.
Setup Firewall
To configure a firewall for your BigBlueButton server (recommended), add enableUFWRules
to /etc/bigbluebutton/bbb-conf/apply-config.sh
, as in
With enableUFWRule
added to apply-config.sh
, whenever yous do bbb-conf
with --restart
or --setip
, y'all'll see the following output
sudo bbb-conf --restart Restarting BigBlueButton .. Stopping BigBlueButton Applying updates in /etc/bigbluebutton/bbb-conf/apply-config.sh: - Enable Firewall and opening 22/tcp, 80/tcp, 443/tcp and 16384:32768/udp Rules updated Rules updated (v6) Rules updated Rules updated (v6) Rules updated Rules updated (v6) Rules updated Rules updated (v6) Firewall is active and enabled on organization startup Starting BigBlueButton
Alter UDP ports
By default, BigBlueButton uses the UDP ports 16384-32768 which are used by FreeSWITCH and Kurento to send real-time packets (RTP).
Specifically, FreeSWITCH uses the range 16384 - 24576, which is defined in /opt/freeswitch/etc/freeswitch/autoload_configs/switch.conf.xml
<!-- RTP port range --> <param name= "rtp-start-port" value= "16384" /> <param name= "rtp-terminate-port" value= "24576" />
Kurento uses the range 24577 - 32768, which is divers in /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini
minPort = 24577 maxPort = 32768
Apply custom settings for Plow server
If ever want a specific TURN server configuration, the following to use-config.sh and modify aaa.bbb.ccc.ddd
and surreptitious
with your values.
echo " - Update Plough server configuration turn-stun-servers.xml" cat << Here > /usr/share/bbb-web/WEB-INF/classes/bound/plow-stun-servers.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://world wide web.springframework.org/schema/beans http://www.springframework.org/schema/beans/bound-beans-2.5.xsd"> <bean id="stun0" class="org.bigbluebutton.spider web.services.turn.StunServer"> <constructor-arg index="0" value="stun:aaa.bbb.ccc.ddd"/> </edible bean> <bean id="turn0" course="org.bigbluebutton.web.services.turn.TurnServer"> <constructor-arg index="0" value="secret"/> <constructor-arg index="1" value="turns:aaa.bbb.ccc.ddd:443?transport=tcp"/> <constructor-arg index="2" value="86400"/> </bean> <bean id="stunTurnService" course="org.bigbluebutton.web.services.plough.StunTurnService"> <property proper noun="stunServers"> <fix> <ref bean="stun0"/> </set up> </property> <property proper noun="turnServers"> <fix> <ref bean="turn0"/> </set> </belongings> </edible bean> </beans> HERE
HTML5 customer
Change the default welcome message
The default welcome message is built from iii parameters: two organization-wide parameters (meet below) and the welcome
parameter from the BigBlueButton create
API call.
You'll find the two system-wide welcome parameters defaultWelcomeMessage
and defaultWelcomeMessageFooter
in /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
.
defaultWelcomeMessage = <default welcome message> defaultWelcomeMessageFooter = <default welcome bulletin footer>
When a front-end creates a BigBlueButton session, information technology may as well pass a welcome
parameter in the create API call.
The final welcome message shown to the user (as blue text in the Chat window) is a composite of welcome
+ defaultWelcomeMessage
+ defaultWelcomeMessageFooter
.
The welcome message is fixed for the duration of a meeting. If you want to see the effect of irresolute the welcome
parameter, you must end the electric current meeting or expect until the BigBlueButton server removes it from memory (which occurs about two minutes after the last person has left). If you modify the parameters in bigbluebutton.properties
, you must restart BigBlueButton with sudo bbb-conf --restart
for the new values to take outcome.
Change the default locale
Xxx - Needs updating
By default, the BigBlueButton client should discover the browser's locale and use that default language accordingly. The default linguistic communication is English, simply yous can change that by editing bigbluebutton/client/BigBlueButton.html
and change the value
You can see the listing of languages installed with BigBlueButton in the directory /usr/share/meteor/bundle/programs/server/assets/app/locales
.
Change favicon
To modify the favicon, overwrite the file /var/www/bigbluebutton-default/favicon.ico
.
You'll need to update file each time the bbb-config
bundle updates.
Modify championship in the HTML5 client
The configuration file for the HTML5 client is located in /usr/share/falling star/package/programs/server/avails/app/config/settings.yml
. It contains all the settings for the HTML5 client.
To change the title, edit settings.yml
and change the entry for public.app.clientTitle
public : app : ... clientTitle : BigBlueButton
You'll need to update this entry each time the package bbb-html5
updates. The post-obit script can help automate the change
$ TARGET =/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml $ yq w -i $TARGET public.app.clientTitle "New Title" $ chown meteor:falling star $TARGET
Apply lock settings to restrict webcams
To enable lock settings for Share webcam
by default (viewers are unable to share their webcam), add the post-obit to apply-config.sh
.
repeat " - Prevent viewers from sharing webcams" sed -i 's/lockSettingsDisableCam=.*/lockSettingsDisableCam=true/g' /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
Subsequently restart, if you open the lock settings y'all'll see Share webcam
lock enabled.
Make the HTML5 client default
To brand the HTML5 customer the default client (and no longer load the Flash client), edit /usr/share/bbb-web/Spider web-INF/classes/bigbluebutton.properties
and set both attendeesJoinViaHTML5Client
and moderatorsJoinViaHTML5Client
to true
, as in
# Forcefulness all attendees to bring together the coming together using the HTML5 client attendeesJoinViaHTML5Client = true # Force all moderators to join the meeting using the HTML5 client moderatorsJoinViaHTML5Client = truthful
In BigBlueButton ii.two-beta-10, you tin also decrease the slide conversion time by disabling creation of SWF files by setting swfSlidesRequired=imitation
.
#---------------------------------------------------- # Conversion of the presentation slides to SWF to exist # used in the Flash customer swfSlidesRequired = fake
The SWF files are not needed by the HTML5 customer.
Alter the default path for HTML5 client
The default URL path for the customer is /html5client
, and it can exist changed to friction match your preferences.
Edit nginx configuration file (/etc/bigbluebutton/nginx/bbb-html5.nginx
), replacing all instances of /html5client
with the new path;
Do the same in /usr/share/bbb-spider web/WEB-INF/classes/bigbluebutton.properties
in the following lines:
defaultHTML5ClientUrl=${bigbluebutton.spider web.serverURL}/html5client/join defaultGuestWaitURL=${bigbluebutton.web.serverURL}/html5client/guestWait
In configuration file for the HTML5 client, located in /usr/share/meteor/package/programs/server/assets/app/config/settings.yml
, alter the entry for public.app.basename
:
public: app: ... basename: '/html5client'
Edit systemd_start.sh
and systemd_start_frontend.sh
files, located in /usr/share/meteor/bundle
, replacing /html5client
with the new path in both files;
Finally, run the post-obit command to reload configuration:
sudo service nginx reload && sudo bbb-conf --restart
Configuration of global settings
The configuration file for the HTML5 client is located in /usr/share/meteor/package/programs/server/assets/app/config/settings.yml
. It contains all the settings for the HTML5 client.
Modify the HTML5 client title
All changes to global HTML5 customer settings are washed in the file above. And then to change the title, edit settings.yml
and change the entry for public.app.clientTitle
Configure invitee policy
There is piece of work underway to add the ability for moderators to approve incoming viewers in the HTML5 client (see #5979; however, this feature is not notwithstanding implemented.
The policy for guest management on the server is is set in the backdrop file for bbb-spider web
, which is at /usr/share/bbb-web/Web-INF/classes/bigbluebutton.properties
.
# Default Guest Policy # Valid values are ALWAYS_ACCEPT, ALWAYS_DENY, ASK_MODERATOR # defaultGuestPolicy = ALWAYS_ACCEPT
Currently, if this value is set every bit ASK_MODERATOR
(which may occur in some upgrades from two.0 to two.ii), it will foreclose HTML5 users from joining the session.
For now, to enable HTML5 users to join, change it to ALWAYS_ACCEPT
and restart BigBlueButton server with sudo bbb-conf --restart
.
Show a custom logo on the client
Ensure that the parameter displayBrandingArea
is fix to true
in bbb-html5's configuration, restart BigBlueButton server with sudo bbb-conf --restart
and laissez passer logo=<epitome-url>
in Custom parameters when creating the meeting.
Passing custom parameters to the customer on bring together
The HTML5 client supports a list of parameters that can be added to the join
API call which change the look and default behaviour of the client. This list is authentic as of BigBlueButton version 2.two.17 (build 937). These parameters override the global defaults set in settings.yml
. Equally the parameters are passed on call to bring together, it allows for some powerful customization that tin can vary depending on which user is joining the session.
Useful tools for development:
- A tool like (https://meyerweb.com/eric/tools/dencoder/) is useful in the encoding-decoding process for the fields expecting encoded value passed (see below).
- The API mate allows you to directly experiment with these custom parameters. To use the API mate, run the post-obit command on your BigBlueButton car:
sudo bbb-conf --secret
. This creates a link for you with your secret equally a parameter so you can go started experimenting correct away.
Application parameters
Parameter | Clarification | Default value |
---|---|---|
userdata-bbb_ask_for_feedback_on_logout= | If set to true , the client will display the ask for feedback screen on logout | false |
userdata-bbb_auto_join_audio= | If set to true , the client will first the process of joining the sound bridge automatically upon loading the client | false |
userdata-bbb_client_title= | Specifies a cord to set up as the HTML5 customer title | BigBlueButton |
userdata-bbb_force_listen_only= | If ready to true , attendees volition exist not be able to join with a microphone every bit an choice (does not employ to moderators) | fake |
userdata-bbb_listen_only_mode= | If set to false , the user will not be able to join the audio role of the meeting without a microphone (disables listen-simply manner) | truthful |
userdata-bbb_skip_check_audio= | If set to truthful , the user will not see the "echo test" prompt when sharing audio | imitation |
userdata-bbb_skip_check_audio_on_first_join= | (Introduced in BigBlueButton two.3) If set to true , the user volition not see the "echo test" when sharing sound for the offset fourth dimension in the session. If the user stops sharing, next time they try to share audio the echo exam window will be displayed, allowing for configuration changes to be made prior to sharing sound once again | false |
userdata-bbb_override_default_locale= | (Introduced in BigBlueButton 2.3) If prepare to de , the user'southward browser preference will exist ignored - the client will be shown in 'de' (i.due east. German) regardless of the otherwise preferred locale 'en' (or other) | null |
Branding parameters
Parameter | Description | Default value |
---|---|---|
userdata-bbb_display_branding_area= | If set to true , the customer will display the branding expanse in the upper left hand corner | false |
Shortcut parameters
Parameter | Description | Default value |
---|---|---|
userdata-bbb_shortcuts= | The value passed has to exist URL encoded. For case if you would like to disable shortcuts, pass %5B%5D which is the encoded version of the empty assortment [] | Meet settings.yml |
Kurento parameters
Parameter | Clarification | Default value |
---|---|---|
userdata-bbb_auto_share_webcam= | If set to truthful , the client volition get-go the procedure of sharing webcam (if any) automatically upon loading the customer | faux |
userdata-bbb_preferred_camera_profile= | Specifies a preferred camera profile to use out of those defined in the settings.yml | none |
userdata-bbb_enable_video= | If set to false , the client will brandish the webcam sharing button (in effect disabling/enabling webcams) | true |
userdata-bbb_record_video= | If gear up to fake , the user won't take her/his video stream recorded | truthful |
userdata-bbb_skip_video_preview= | If set to truthful , the user will not meet a preview of their webcam before sharing it | faux |
userdata-bbb_skip_video_preview_on_first_join= | (Introduced in BigBlueButton two.3) If set to truthful , the user will not run across a preview of their webcam earlier sharing it when sharing for the first time in the session. If the user stops sharing, next time they attempt to share webcam the video preview will be displayed, allowing for configuration changes to be made prior to sharing | imitation |
userdata-bbb_mirror_own_webcam= | If gear up to true , the client will see a mirrored version of their webcam. Doesn't affect the incoming video stream for other users. | false |
Presentation parameters
Parameter | Clarification | Default value |
---|---|---|
userdata-bbb_force_restore_presentation_on_new_events= | If prepare to true , new events related to the presentation volition be pushed to viewers. See this PR for more data | false |
Whiteboard parameters
Parameter | Description | Default value |
---|---|---|
userdata-bbb_multi_user_pen_only= | If set to true , only the pen tool volition be available to non-participants when multi-user whiteboard is enabled | false |
userdata-bbb_presenter_tools= | Laissez passer in an assortment of permitted tools from settings.yml | all enabled |
userdata-bbb_multi_user_tools= | Pass in an assortment of permitted tools for not-presenters from settings.yml | all enabled |
Themeing & styling parameters
Parameter | Description | Default value |
---|---|---|
userdata-bbb_custom_style= | URL encoded string with custom CSS | none |
userdata-bbb_custom_style_url= | This parameter acts the same way every bit userdata-bbb_custom_style except that the CSS content comes from a hosted file | none |
Layout parameters
Parameter | Description | Default value |
---|---|---|
userdata-bbb_auto_swap_layout= | If set to true , the presentation area will be minimized when a user joins a coming together. | fake |
userdata-bbb_hide_presentation= | If set to true , the presentation area will not be displayed. | false |
userdata-bbb_show_participants_on_login= | If set to false , the participants panel (and the chat panel) will not exist displayed until opened. | true |
userdata-bbb_show_public_chat_on_login= | If prepare to false , the chat panel volition non be visible on folio load until opened. Not the same as disabling chat. | truthful |
userdata-bbb_hide_nav_bar= | If set to true , the navigation bar (the acme portion of the client) will not be displayed. Introduced in BBB 2.4-rc-iii. | false |
userdata-bbb_hide_actions_bar= | If set to truthful , the deportment bar (the bottom portion of the customer) will not exist displayed. Introduced in BBB 2.4-rc-three. | fake |
Examples
Changing the background colour of the HTML customer
Yous can alter the groundwork color of the HTML5 client with the following stylesheet:
:root { --loader-bg : #000 ; } .overlay--1aTlbi { groundwork-color : #000 !important ; } body { background-color : #000 !important ; }
You can add together this code to a hosted .css file and pass userdata-bbb_custom_style_url=https://someservice.com/customStyles.css
Alternatively (for simple changes) you lot tin accomplish the same without hosted file.
You can try this in API-MATE - yous demand the non-encoded version of the CSS
userdata-bbb_custom_style=:root{--loader-bg:#000;}.overlay--1aTlbi{groundwork-color:#000!of import;}trunk{groundwork-color:#000!important;}
If yous are adding this to a join-url y'all need to URI encode the string (run into a sample encoding tool to a higher place)
%3Aroot%7B--loader-bg%3A%23000%3B%7D.overlay--1aTlbi%7Bbackground-color%3A%23000!important%3B%7Dbody%7Bbackground-colour%3A%23000!important%3B%7D
Send client logs to the server
Step-past-stride instructions for how to configure logs from clients to be logged in a server log file are located in Assistants -> Configuration Files
Collect feedback from the users
The BigBlueButton client can inquire the user for feedback when they leave a session. This feedback gives the ambassador insight on a user's experiences within a BigBlueButton sessions.
To enable the feedback and it'due south logging to your server, run the post-obit script.
#!/bin/bash HOST = $( true cat /usr/share/bbb-spider web/Web-INF/classes/bigbluebutton.properties | grep -v '#' | sed -northward '/^bigbluebutton.spider web.serverURL/{due south/.*\///;p}' ) HTML5_CONFIG =/usr/share/meteor/packet/programs/server/assets/app/config/settings.yml PROTOCOL = $( cat /usr/share/bbb-spider web/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | grep '^bigbluebutton.web.serverURL' | sed 's/.*\(http[s]*\).*/\1/' ) apt-get install -y nginx-full yq west -i $HTML5_CONFIG public.clientLog.external.enabled true yq w -i $HTML5_CONFIG public.clientLog.external.url " $PROTOCOL :// $HOST /html5log" yq westward -i $HTML5_CONFIG public.app.askForFeedbackOnLogout truthful chown falling star:meteor $HTML5_CONFIG cat > /etc/bigbluebutton/nginx/html5-client-log.nginx << HERE location /html5log { access_log /var/log/nginx/html5-client.log postdata; echo_read_request_body; } Hither cat > /etc/nginx/conf.d/html5-customer-log.conf << Here log_format postdata ' \$ remote_addr [ \$ time_iso8601] \$ request_body'; Here # Nosotros need nginx-total to enable postdata log_format if ! dpkg -l | grep -q nginx-full; and then apt-go install -y nginx-total fi bear on /var/log/nginx/html5-customer.log chown bigbluebutton:bigbluebutton /var/log/nginx/html5-client.log
The feedback will exist written to /var/log/nginx/html5-client.log
, which you would need to extract and parse. You can besides utilize the following command to monitor the feedback
tail -f /var/log/nginx/html5-client.log | sed -u 's/\\x22/"/g' | sed -u 's/\\x5C//g'
There used to be an wrong version of the script to a higher place on the docs. If you confront any bug after updating it, refer to this event for solutions.
Other configuration changes
Any front-end to BigBlueButton needs two pieces of information: the hostname for the BigBlueButton server and its shared secret (for authenticating API calls). To print out the hostname and shared secret for you BigBlueButton server, enter the control bbb-conf --secret
:
$ bbb-conf --secret URL: http://bigbluebutton.example.com/bigbluebutton/ Hole-and-corner: 577fd5f05280c10fb475553d200f3322 Link to the API-Mate: http://mconf.github.io/api-mate/#server=http://ten.0.3.132/bigbluebutton/&sharedSecret=577fd5f05280c10fb475553d200f3322
The final line gives a link API-Mate, an excellent tool provided past Mconf Technologies (a company that has made many contributions to the BigBlueButton projection over the years) that makes it easy to create API calls.
Change the shared secret
To validate incoming API calls, all external applications making API calls must checksum their API call using the aforementioned surreptitious every bit configured in the BigBlueButton server.
You'll notice the shared secret in /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.backdrop
beans.dynamicConferenceService.securitySalt = <value_of_salt>
To change the shared secret, do the following:
- Generate a new Universal Unique ID (UUID) from a UUID generator such equally at http://world wide web.somacon.com/p113.php. This volition give a long string of random numbers that will be impossible to contrary engineer.
- Run the command
sudo bbb-conf --setsecret new_secret
.
Notation: If you have created you own forepart-end or are using a tertiary-party plug-in to connect to BigBlueButton, its shared secret; otherwise, if the shared secrets exercise non match, the checksum for the incoming API calls volition not match and the BigBlueButton server volition reject the API call with an error.
Install callback for events (webhooks)
Desire to receive callbacks to your application when an event occurs in BigBlueButton? BigBlueButton provides an optional web hooks package that installs a node.js application listens for all events on BigBlueButton and sends POST requests with details about these events to hooks registered via an API. A hook can be any external URL that tin receive HTTP POST requests.
To install bbb-webhooks
$ sudo apt-go install bbb-webhooks
For information on cofiguring bbb-webhooks, meet bbb-webhooks.
cardenasevied1952.blogspot.com
Source: https://docs.bigbluebutton.org/admin/customize.html
0 Response to "Shared Views Could Not Get a Valid Session Try Sharing Again 3ds Max"
Post a Comment