bigbluebutton-Github/bigbluebutton-web/grails-app/conf/bigbluebutton.properties

390 lines
14 KiB
Properties
Raw Normal View History

#
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
#
# Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
#
# This program is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 3.0 of the License, or (at your option) any later
# version.
#
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
#
#
# These are the default properites for BigBlueButton Web application
# Default loglevel.
appLogLevel=DEBUG
#----------------------------------------------------
# Directory where BigBlueButton stores uploaded slides
presentationDir=/var/bigbluebutton
#----------------------------------------------------
# Directory where SWFTOOLS (pdf2swf, jpeg2swf, png2swf) are located
swfToolsDir=/usr/bin
#----------------------------------------------------
# Directory where ImageMagick's convert executable is located
imageMagickDir=/usr/bin
#----------------------------------------------------
# Fonts directory passed into PDF2SWF to support highlighting of texts
# in the SWF slides.
fontsDir=/usr/share/fonts
#----------------------------------------------------
# Executable for presentation checker
presCheckExec=/usr/share/prescheck/prescheck.sh
2020-03-03 01:40:01 +08:00
#----------------------------------------------------
# Skip Office doc conversion pre-check. Attempt to convert
# Office doc to PDF right away.
2020-03-03 01:42:43 +08:00
skipOfficePrecheck=true
#----------------------------------------------------
# Executable for presentation office conversion
presOfficeConversionExec=/usr/share/bbb-libreoffice-conversion/convert.sh
#----------------------------------------------------
# These will be copied in cases where the conversion process
# fails to generate a slide from the uploaded presentation
BLANK_SLIDE=/usr/share/bigbluebutton/blank/blank-slide.swf
BLANK_PRESENTATION=/usr/share/bigbluebutton/blank/blank-presentation.pdf
BLANK_THUMBNAIL=/usr/share/bigbluebutton/blank/blank-thumb.png
BLANK_PNG=/usr/share/bigbluebutton/blank/blank-png.png
BLANK_SVG=/usr/share/bigbluebutton/blank/blank-svg.svg
#----------------------------------------------------
# Number of minutes the conversion should take. If it takes
# more than this time, cancel the conversion process.
maxConversionTime=5
#----------------------------------------------------
# Maximum number of pages allowed for an uploaded presentation (default 100).
maxNumPages=200
2017-11-28 06:03:50 +08:00
#----------------------------------------------------
# Maximum file size for an uploaded presentation (default 30MB).
maxFileSizeUpload=30000000
#----------------------------------------------------
# Maximum swf file size for load to the client (default 500000).
MAX_SWF_FILE_SIZE=500000
#----------------------------------------------------
# Maximum allowed number of place object tags in the converted SWF, if exceeded the conversion will fallback to full BMP (default 800)
placementsThreshold=800
# Maximum allowed number of bitmap images in the converted SWF, if exceeded the conversion will fallback to full BMP (default 800)
imageTagThreshold=800
# Maximum allowed number of define text tags in the converted SWF, if exceeded the conversion will fallback to full BMP (default 200)
defineTextThreshold=2000
#------------------------------------
# Number of threads in the pool to do the presentation conversion.
#------------------------------------
numConversionThreads=5
#------------------------------------
# Number of threads to process file uploads
#------------------------------------
numFileProcessorThreads=2
#------------------------------------
# Timeout(secs) to wait for pdf to svg conversion (timeout for each tool called during the process)
#------------------------------------
svgConversionTimeout=60
#------------------------------------
# Presentation resolution, in PPI (will be set to generated svg)
#------------------------------------
svgPresentationResolutionPpi=300
#------------------------------------
# Force conversion of slides to PNG before converting to SVG
## Experimental - this option might be removed in next releases
## This will solve problems like reported in issue #8835
## Disabled by default as it can affect the quality in zoom
#------------------------------------
forceRasterizeSlides=false
#------------------------------------
# Presentation will be resized to this width (in pixels) when rasterizing (converting to PNG)
## Applied in these situations:
## a) the source can't be converted directly to SVG ;
## b) option "forceRasterizeSlides" is defined as true ;
## To disable this constraint (and keep source resolution) define this property as 0.
#------------------------------------
pngWidthRasterizedSlides=2048
#------------------------------------
# Timeout(secs) to wait for conversion script execution
#------------------------------------
officeToPdfConversionTimeout=60
#------------------------------------
# Max concurrent of conversion script execution
#------------------------------------
officeToPdfMaxConcurrentConversions=4
#----------------------------------------------------
# Conversion of the presentation slides to SWF to be
# used in the Flash client
swfSlidesRequired=false
#----------------------------------------------------
# Additional conversion of the presentation slides to SVG
# to be used in the HTML5 client
svgImagesRequired=true
#----------------------------------------------------
# Additional conversion of the presentation slides to PNG
# to be used in the IOS mobile client
generatePngs=false
pngSlideWidth=1200
# Default number of digits for voice conference users joining through the PSTN.
defaultNumDigitsForTelVoice=5
2018-09-11 19:51:03 +08:00
#----------------------------------------------------
# Configuration for large images, 2 MB by default, if bigger it will down-scaled
2018-09-11 19:51:03 +08:00
maxImageSize=2000000
#----------------------------------------------------
# Configuration for large PDF, 14 MB by default, if bigger it will be analysed during the conversion process
bigPdfSize=14000000
2020-03-02 00:24:20 +08:00
# The maximum allowed page size for PDF files exceeding the 'pdfCheckSize' value, 2 MB by default
maxBigPdfPageSize=2000000
#----------------------------------------------------
# Default dial access number
defaultDialAccessNumber=613-555-1234
# Default Guest Policy
# Valid values are ALWAYS_ACCEPT, ALWAYS_DENY, ASK_MODERATOR
#
defaultGuestPolicy=ALWAYS_ACCEPT
# Enables or disables authenticated guest
authenticatedGuest=true
#
#----------------------------------------------------
# Default welcome message to display when the participant joins the web
# conference. This is only used for the old scheduling which will be
# removed in the future. Use the API to create a conference.
#
# If the message contains characters not in ISO-8859-1 character sets
# they must be properly escaped to unicode characters. An easy way to
# do this is running the native2ascii command setting UTF8 encoding and
# passing this file's path as input and output parameters, e.g.:
#
# native2ascii -encoding UTF8 bigbluebutton.properties bigbluebutton.properties
#
defaultWelcomeMessage=Welcome to <b>%%CONFNAME%%</b>!<br><br>For help on using BigBlueButton see these (short) <a href="https://www.bigbluebutton.org/html5"><u>tutorial videos</u></a>.<br><br>To join the audio bridge click the phone button. Use a headset to avoid causing background noise for others.
defaultWelcomeMessageFooter=This server is running <a href="https://docs.bigbluebutton.org/" target="_blank"><u>BigBlueButton</u></a>.
# Default maximum number of users a meeting can have.
# Current default is 0 (meeting doesn't have a user limit).
defaultMaxUsers=0
# Default duration of the meeting in minutes.
# Current default is 0 (meeting doesn't end).
defaultMeetingDuration=0
# Number of minutes to logout client if user
# isn't responsive
clientLogoutTimerInMinutes=0
2017-07-16 10:10:04 +08:00
# End meeting if no user joined within
# a period of time after meeting created.
meetingExpireIfNoUserJoinedInMinutes=5
# Number of minutes to end meeting when
# the last user left.
meetingExpireWhenLastUserLeftInMinutes=1
# User inactivity audit timer interval.
userInactivityInspectTimerInMinutes=0
# Number of minutes to consider a user inactive.
# iSend warning message to client to check if really inactive.
userInactivityThresholdInMinutes=30
# Number of minutes for user to respond to inactivity
# warning before being logged out.
userActivitySignResponseDelayInMinutes=5
# Disable recording by default.
# true - don't record even if record param in the api call is set to record
# false - when record param is passed from api, override this default
disableRecordingDefault=false
# Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting
# is recorded.
autoStartRecording=false
# Allow the user to start/stop recording.
allowStartStopRecording=true
# Allow webcams streaming reception only to and from moderators
2020-03-03 01:42:43 +08:00
webcamsOnlyForModerator=false
# Mute the meeting on start
muteOnStart=false
2019-04-11 04:55:24 +08:00
# Unmute users
# Gives moderators permisson to unmute other users
allowModsToUnmuteUsers=false
2019-04-11 04:55:24 +08:00
# Saves meeting events even if the meeting is not recorded
defaultKeepEvents=false
Patch of improvements for bbb-web This patch includes two improvements made for bbb-web. It tries to better isolate the sessionToken's handling and session's validation, including logs for each one of these steps; and removes maxParticipats control from registered users (that are no longer removed from bbb-web collections) binding it to joined users or users that reached the enter API call. The following adds more details about this last one: User's regular flow to join a meeting goes around an API join call -> redis register event -> redirect to client page -> API enter call -> redis join event. When the guest policy is ASK_MODERATOR, non-moderators are registered and redirected to a guest lobby that polls for her/his guest status and only enters the meeting after a moderator approval. Using registered users as control to check how many participants are in a meeting is problematic because non-approved guests are counted as participants and bbb-web has to find out when to ditch registered users records to make a seat in a meeting available again. In other words, a meeting with maxParicipants of 5 can get it's joins locked with a moderator and 4 waiting guests or bbb-web can wrongly drop a registered user record on a reconnection inducing weird 401 responses from the API. This change proposes to control maxParticipants both at join and enter API calls monitoring the number of redis joined users. This also includes an extra buffer to capture users that called the enter API but still don't have an user joined event. User left events are now handled different holding the user data before removing from the joined users collection and only releasing after verifying that the user didn't reconnected. Both user left timeout `usersTimeout` and entered user timeout `enteredUsersTimeout` can be configured at properties.
2020-09-27 01:52:50 +08:00
# Timeout (millis) to remove a joined user after her/his left event without a rejoin
# e.g. regular user left event
# Default 60s
usersTimeout=60000
# Timeout (millis) to remove users that called the enter API but did not join
# e.g. user's client hanged between the enter call and join event
# Default 45s
enteredUsersTimeout=45000
#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user sucessfully
# enters a name and password, she is redirected here to load the client.
# Do not commit changes to this field.
2019-06-24 06:23:35 +08:00
bigbluebutton.web.serverURL=http://bigbluebutton.example.com
#----------------------------------------------------
# Assign URL where the logged-out participant will be redirected after sign-out.
# If "default", it returns to bigbluebutton.web.serverURL
bigbluebutton.web.logoutURL=default
# The url of the BigBlueButton HTML5 client. Users will be redirected here when
# successfully joining the meeting.
defaultHTML5ClientUrl=${bigbluebutton.web.serverURL}/html5client/join
# Allow requests without JSESSIONID to be handled (default = false)
allowRequestsWithoutSession=false
# The url for where the guest will poll if approved to join or not.
defaultGuestWaitURL=${bigbluebutton.web.serverURL}/html5client/guestWait
# The default avatar image to display.
useDefaultAvatar=false
defaultAvatarURL=${bigbluebutton.web.serverURL}/html5client/resources/images/avatar.png
# The URL of the default configuration
defaultConfigURL=${bigbluebutton.web.serverURL}/client/conf/config.xml
2018-02-09 11:22:11 +08:00
apiVersion=2.0
# Salt which is used by 3rd-party apps to authenticate api calls
2018-06-30 03:27:23 +08:00
securitySalt=330a8b08c3b4c61533e1d0c5ce1ac88f
2020-07-24 13:42:51 +08:00
# Directory where we drop the <meeting-id-recorded>.done file
recordStatusDir=/var/bigbluebutton/recording/status/recorded
redisHost=127.0.0.1
redisPort=6379
2019-05-01 03:30:59 +08:00
redisPassword=
redisKeyExpiry=1209600
# The directory where the published/unpublised recordings are located. This is for
# the get recording* api calls
publishedDir=/var/bigbluebutton/published
unpublishedDir=/var/bigbluebutton/unpublished
2018-06-30 03:27:23 +08:00
captionsDir=/var/bigbluebutton/captions
# The directory where the pre-built configs are stored
configDir=/var/bigbluebutton/configs
# If the API is enabled.
serviceEnabled = true
# Test voiceBridge number
testVoiceBridge=99999
testConferenceMock=conference-mock-default
#------------------------------------------------------
# These properties are used to test the conversion process.
# Conference name folder in ${presentationDir} (see above)
beans.presentationService.testConferenceMock=${testConferenceMock}
# Conference room folder in ${presentationDir}/${testConferenceMock}
beans.presentationService.testRoomMock=conference-mock-default
# Uploaded presentation name
beans.presentationService.testPresentationName=appkonference
# Uploaded presentation file
beans.presentationService.testUploadedPresentation=appkonference.txt
# Default Uploaded presentation file
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/default.pdf
presentationBaseURL=${bigbluebutton.web.serverURL}/bigbluebutton/presentation
#----------------------------------------------------
# The URL where the presentations will be loaded from.
#----------------------------------------------------
beans.presentationService.presentationBaseUrl=${presentationBaseURL}
#----------------------------------------------------
# Inject values into grails service beans
beans.presentationService.presentationDir=${presentationDir}
#----------------------------------------------------
# Specify which IPs can do cross domain requests
accessControlAllowOrigin=${bigbluebutton.web.serverURL}
#----------------------------------------------------
# The lapsus of seconds for polling the BBB Server in order to check if it's down.
# After 5 tries if there isn't response, it will be declared down
checkBBBServerEvery=10
2017-07-12 22:43:44 +08:00
# The Red5 server where FS will publish as RTMP stream
screenshareRtmpServer=192.168.246.131
2017-07-12 22:43:44 +08:00
# The Red5 app that receives the published RTMP stream
screenshareRtmpBroadcastApp=video-broadcast
2017-07-12 22:43:44 +08:00
# The suffix of our verto screenshare conference.
# Convention is {voiceConf}-SCREENSHARE
screenshareConfSuffix=-SCREENSHARE
# Default settings for breakout rooms
breakoutRoomsEnabled=true
breakoutRoomsRecord=false
breakoutRoomsPrivateChatEnabled=true
# Default Lock Settings
lockSettingsDisableCam=false
lockSettingsDisableMic=false
lockSettingsDisablePrivateChat=false
lockSettingsDisablePublicChat=false
lockSettingsDisableNote=false
lockSettingsHideUserList=false
lockSettingsLockedLayout=false
lockSettingsLockOnJoin=true
lockSettingsLockOnJoinConfigurable=false
allowDuplicateExtUserid=true
defaultTextTrackUrl=${bigbluebutton.web.serverURL}/bigbluebutton
# Param to end the meeting when there are no moderators after a certain period of time.
# Needed for classes where teacher gets disconnected and can't get back in. Prevents
# students from running amok.
endWhenNoModerator=false