c65fa2b350
This was added as an option (websocketKeepAliveInterval), which is the interval to send keep alive messages. Setting websocketKeepAliveInterval to 0 disables the keep alive, producing the same old behavior. This helps avoid websocket disconnection due to socket inactivity, preventing it to unnecessarily reconnect. Also, sometimes reconnect fails and error 1005 is triggered. Fixes problems reported in #10985. Also reduces occurrences of error 1005.
505 lines
14 KiB
YAML
Executable File
505 lines
14 KiB
YAML
Executable File
public:
|
|
app:
|
|
mobileFontSize: 16px
|
|
desktopFontSize: 14px
|
|
audioChatNotification: false
|
|
autoJoin: true
|
|
listenOnlyMode: true
|
|
forceListenOnly: false
|
|
skipCheck: false
|
|
clientTitle: BigBlueButton
|
|
appName: BigBlueButton HTML5 Client
|
|
bbbServerVersion: 2.2
|
|
copyright: "©2020 BigBlueButton Inc."
|
|
html5ClientBuild: HTML5_CLIENT_VERSION
|
|
helpLink: https://bigbluebutton.org/html5/
|
|
lockOnJoin: true
|
|
cdn: ""
|
|
basename: "/html5client"
|
|
askForFeedbackOnLogout: false
|
|
# the default logoutUrl matches window.location.origin i.e. bigbluebutton.org for demo.bigbluebutton.org
|
|
# in some cases we want only custom logoutUrl to be used when provided on meeting create. Default value: true
|
|
allowDefaultLogoutUrl: true
|
|
allowUserLookup: false
|
|
enableNetworkInformation: false
|
|
enableLimitOfViewersInWebcam: false
|
|
enableMultipleCameras: false
|
|
enableTalkingIndicator: true
|
|
mirrorOwnWebcam: false
|
|
viewersInWebcam: 8
|
|
ipv4FallbackDomain: ""
|
|
allowLogout: true
|
|
allowFullscreen: true
|
|
remainingTimeThreshold: 30
|
|
remainingTimeAlertThreshold: 1
|
|
# Warning: increasing the limit of breakout rooms per meeting
|
|
# can generate excessive overhead to the server. We recommend
|
|
# this value to be kept under 12.
|
|
breakoutRoomLimit: 8
|
|
customHeartbeat: false
|
|
defaultSettings:
|
|
application:
|
|
animations: true
|
|
chatAudioAlerts: false
|
|
chatPushAlerts: false
|
|
userJoinAudioAlerts: false
|
|
userJoinPushAlerts: false
|
|
fallbackLocale: en
|
|
overrideLocale: null
|
|
audio:
|
|
inputDeviceId: undefined
|
|
outputDeviceId: undefined
|
|
dataSaving:
|
|
viewParticipantsWebcams: true
|
|
viewScreenshare: true
|
|
shortcuts:
|
|
openOptions:
|
|
accesskey: O
|
|
descId: openOptions
|
|
toggleUserList:
|
|
accesskey: U
|
|
descId: toggleUserList
|
|
toggleMute:
|
|
accesskey: M
|
|
descId: toggleMute
|
|
joinAudio:
|
|
accesskey: J
|
|
descId: joinAudio
|
|
leaveAudio:
|
|
accesskey: L
|
|
descId: leaveAudio
|
|
togglePublicChat:
|
|
accesskey: P
|
|
descId: togglePublicChat
|
|
hidePrivateChat:
|
|
accesskey: H
|
|
descId: hidePrivateChat
|
|
closePrivateChat:
|
|
accesskey: G
|
|
descId: closePrivateChat
|
|
openActions:
|
|
accesskey: A
|
|
descId: openActions
|
|
branding:
|
|
displayBrandingArea: false
|
|
connectionTimeout: 60000
|
|
showHelpButton: true
|
|
effectiveConnection:
|
|
- critical
|
|
- danger
|
|
- warning
|
|
externalVideoPlayer:
|
|
enabled: true
|
|
networkMonitoring:
|
|
enableNetworkMonitoring: false
|
|
packetLostThreshold: 10
|
|
kurento:
|
|
wsUrl: HOST
|
|
# Valid for video-provider. Time (ms) before its WS connection times out
|
|
# and tries to reconnect.
|
|
wsConnectionTimeout: 4000
|
|
cameraTimeouts:
|
|
# Base camera timeout: used as the camera *sharing* timeout and
|
|
# as the minimum camera subscribe reconnection timeout
|
|
baseTimeout: 15000
|
|
# Max timeout: used as the max camera subscribe reconnection timeout. Each
|
|
# subscribe reattempt increases the reconnection timer up to this
|
|
maxTimeout: 60000
|
|
chromeDefaultExtensionKey: akgoaoikmbmhcopjgakkcepdgdgkjfbc
|
|
chromeDefaultExtensionLink: https://chrome.google.com/webstore/detail/bigbluebutton-screenshare/akgoaoikmbmhcopjgakkcepdgdgkjfbc
|
|
chromeExtensionKey: KEY
|
|
chromeExtensionLink: LINK
|
|
screenshare:
|
|
constraints:
|
|
video:
|
|
frameRate:
|
|
ideal: 5
|
|
max: 10
|
|
width:
|
|
max: 2560
|
|
height:
|
|
max: 1600
|
|
audio: false
|
|
chromeScreenshareSources:
|
|
- window
|
|
- screen
|
|
firefoxScreenshareSource: window
|
|
# cameraProfiles is an array of:
|
|
# - id: profile identifier
|
|
# name: human-readable profile name
|
|
# bitrate
|
|
# hidden: whether this profile will be hidden in the video preview dropdown
|
|
# constraints: a video media constraints dictionary (without the video key)
|
|
cameraProfiles:
|
|
- id: low-u30
|
|
name: low-u30
|
|
bitrate: 30
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 3
|
|
- id: low-u25
|
|
name: low-u25
|
|
bitrate: 40
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 3
|
|
- id: low-u20
|
|
name: low-u20
|
|
bitrate: 50
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 5
|
|
- id: low-u15
|
|
name: low-u15
|
|
bitrate: 70
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 8
|
|
- id: low-u12
|
|
name: low-u12
|
|
bitrate: 90
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 10
|
|
- id: low-u8
|
|
name: low-u8
|
|
bitrate: 100
|
|
hidden: true
|
|
constraints:
|
|
frameRate: 10
|
|
- id: low
|
|
name: Low
|
|
default: false
|
|
bitrate: 100
|
|
- id: medium
|
|
name: Medium
|
|
default: true
|
|
bitrate: 200
|
|
- id: high
|
|
name: High
|
|
default: false
|
|
bitrate: 500
|
|
- id: hd
|
|
name: High definition
|
|
default: false
|
|
bitrate: 800
|
|
enableScreensharing: true
|
|
enableVideo: true
|
|
enableVideoMenu: true
|
|
enableListenOnly: true
|
|
autoShareWebcam: false
|
|
skipVideoPreview: false
|
|
# Entry `thresholds` is an array of:
|
|
# - threshold: minimum number of cameras being shared for profile to applied
|
|
# profile: a camera profile id from the cameraProfiles configuration array
|
|
# that will be applied to all cameras when threshold is hit
|
|
cameraQualityThresholds:
|
|
enabled: false
|
|
thresholds:
|
|
- threshold: 8
|
|
profile: low-u8
|
|
- threshold: 12
|
|
profile: low-u12
|
|
- threshold: 15
|
|
profile: low-u15
|
|
- threshold: 20
|
|
profile: low-u20
|
|
- threshold: 25
|
|
profile: low-u25
|
|
- threshold: 30
|
|
profile: low-u30
|
|
pagination:
|
|
# whether to globally enable or disable pagination.
|
|
enabled: false
|
|
# how long (in ms) the negotiation will be debounced after a page change.
|
|
pageChangeDebounceTime: 2500
|
|
# video page sizes for DESKTOP endpoints. It stands for the number of SUBSCRIBER streams.
|
|
# PUBLISHERS aren't accounted for .
|
|
# A page size of 0 (zero) means that the page size is unlimited (disabled).
|
|
desktopPageSizes:
|
|
moderator: 0
|
|
viewer: 5
|
|
# video page sizes for MOBILE endpoints
|
|
mobilePageSizes:
|
|
moderator: 2
|
|
viewer: 2
|
|
pingPong:
|
|
clearUsersInSeconds: 180
|
|
pongTimeInSeconds: 15
|
|
allowOutsideCommands:
|
|
toggleRecording: false
|
|
toggleSelfVoice: false
|
|
poll:
|
|
enabled: true
|
|
max_custom: 5
|
|
captions:
|
|
enabled: true
|
|
enableDictation: false
|
|
backgroundColor: "#000000"
|
|
fontColor: "#FFFFFF"
|
|
fontFamily: Calibri
|
|
fontSize: 24px
|
|
takeOwnership: true
|
|
lines: 2
|
|
time: 5000
|
|
chat:
|
|
enabled: true
|
|
bufferChatInsertsMs: 0
|
|
startClosed: false
|
|
min_message_length: 1
|
|
max_message_length: 5000
|
|
grouping_messages_window: 10000
|
|
type_system: SYSTEM_MESSAGE
|
|
type_public: PUBLIC_ACCESS
|
|
type_private: PRIVATE_ACCESS
|
|
system_userid: SYSTEM_MESSAGE
|
|
system_username: SYSTEM_MESSAGE
|
|
public_id: public
|
|
public_group_id: MAIN-PUBLIC-GROUP-CHAT
|
|
public_userid: public_chat_userid
|
|
public_username: public_chat_username
|
|
storage_key: UNREAD_CHATS
|
|
system_messages_keys:
|
|
chat_clear: PUBLIC_CHAT_CLEAR
|
|
typingIndicator:
|
|
enabled: true
|
|
note:
|
|
enabled: false
|
|
url: ETHERPAD_HOST
|
|
config:
|
|
showLineNumbers: false
|
|
showChat: false
|
|
noColors: true
|
|
showControls: true
|
|
rtl: false
|
|
layout:
|
|
autoSwapLayout: false
|
|
hidePresentation: false
|
|
media:
|
|
stunTurnServersFetchAddress: "/bigbluebutton/api/stuns"
|
|
cacheStunTurnServers: true
|
|
fallbackStunServer: ''
|
|
recvonlyIceGatheringCheck: true
|
|
mediaTag: "#remote-media"
|
|
callTransferTimeout: 5000
|
|
callHangupTimeout: 2000
|
|
callHangupMaximumRetries: 10
|
|
echoTestNumber: 'echo'
|
|
relayOnlyOnReconnect: false
|
|
listenOnlyCallTimeout: 25000
|
|
#Timeout (ms) for gathering ICE candidates. When this timeout expires
|
|
#the SDP is sent to the server with the candidates the browser gathered
|
|
#so far. Increasing this value might help avoiding 1004 error when
|
|
#user activates microphone.
|
|
iceGatheringTimeout: 5000
|
|
sipjsHackViaWs: false
|
|
#Websocket keepAlive interval (seconds). You may set this to prevent
|
|
#websocket disconnection in some environments. When set, BBB will send
|
|
#'\r\n\r\n' string through SIP.js's websocket. If not set, default value
|
|
#is 0.
|
|
websocketKeepAliveInterval: 30
|
|
#Debounce time (seconds) for sending SIP.js's websocket keep alive message.
|
|
#If not set, default value is 10.
|
|
websocketKeepAliveDebounce: 10
|
|
presentation:
|
|
defaultPresentationFile: default.pdf
|
|
panZoomThrottle: 32
|
|
restoreOnUpdate: false
|
|
uploadEndpoint: "/bigbluebutton/presentation/upload"
|
|
uploadSizeMin: 0
|
|
uploadSizeMax: 50000000
|
|
uploadValidMimeTypes:
|
|
- extension: .pdf
|
|
mime: application/pdf
|
|
- extension: .doc
|
|
mime: application/msword
|
|
- extension: .docx
|
|
mime: application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
|
- extension: .xls
|
|
mime: application/vnd.ms-excel
|
|
- extension: .xlsx
|
|
mime: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
|
- extension: .ppt
|
|
mime: application/vnd.ms-powerpoint
|
|
- extension: .pptx
|
|
mime: application/vnd.openxmlformats-officedocument.presentationml.presentation
|
|
- extension: .txt
|
|
mime: text/plain
|
|
- extension: .rtf
|
|
mime: application/rtf
|
|
- extension: .odt
|
|
mime: application/vnd.oasis.opendocument.text
|
|
- extension: .ods
|
|
mime: application/vnd.oasis.opendocument.spreadsheet
|
|
- extension: .odp
|
|
mime: application/vnd.oasis.opendocument.presentation
|
|
- extension: .odg
|
|
mime: application/vnd.oasis.opendocument.graphics
|
|
- extension: .odc
|
|
mime: application/vnd.oasis.opendocument.chart
|
|
- extension: .odi
|
|
mime: application/vnd.oasis.opendocument.image
|
|
- extension: .jpg
|
|
mime: image/jpeg
|
|
- extension: .jpeg
|
|
mime: image/jpeg
|
|
- extension: .png
|
|
mime: image/png
|
|
user:
|
|
role_moderator: MODERATOR
|
|
role_viewer: VIEWER
|
|
whiteboard:
|
|
annotations:
|
|
status:
|
|
start: DRAW_START
|
|
update: DRAW_UPDATE
|
|
end: DRAW_END
|
|
toolbar:
|
|
multiUserPenOnly: false
|
|
colors:
|
|
- label: black
|
|
value: "#000000"
|
|
- label: white
|
|
value: "#ffffff"
|
|
- label: red
|
|
value: "#ff0000"
|
|
- label: orange
|
|
value: "#ff8800"
|
|
- label: eletricLime
|
|
value: "#ccff00"
|
|
- label: Lime
|
|
value: "#00ff00"
|
|
- label: Cyan
|
|
value: "#00ffff"
|
|
- label: dodgerBlue
|
|
value: "#0088ff"
|
|
- label: blue
|
|
value: "#0000ff"
|
|
- label: violet
|
|
value: "#8800ff"
|
|
- label: magenta
|
|
value: "#ff00ff"
|
|
- label: silver
|
|
value: "#c0c0c0"
|
|
thickness:
|
|
- value: 14
|
|
- value: 12
|
|
- value: 10
|
|
- value: 8
|
|
- value: 6
|
|
- value: 4
|
|
- value: 2
|
|
- value: 1
|
|
font_sizes:
|
|
- value: 36
|
|
- value: 32
|
|
- value: 28
|
|
- value: 24
|
|
- value: 20
|
|
- value: 16
|
|
tools:
|
|
- icon: text_tool
|
|
value: text
|
|
- icon: line_tool
|
|
value: line
|
|
- icon: circle_tool
|
|
value: ellipse
|
|
- icon: triangle_tool
|
|
value: triangle
|
|
- icon: rectangle_tool
|
|
value: rectangle
|
|
- icon: pen_tool
|
|
value: pencil
|
|
- icon: hand
|
|
value: hand
|
|
presenterTools:
|
|
- text
|
|
- line
|
|
- ellipse
|
|
- triangle
|
|
- rectangle
|
|
- pencil
|
|
- hand
|
|
multiUserTools:
|
|
- text
|
|
- line
|
|
- ellipse
|
|
- triangle
|
|
- rectangle
|
|
- pencil
|
|
- hand
|
|
clientLog:
|
|
server: { enabled: false, level: info }
|
|
console: { enabled: true, level: debug }
|
|
external: { enabled: false, level: info, url: https://LOG_HOST/html5Log, method: POST, throttleInterval: 400, flushOnClose: true, logTag: "" }
|
|
private:
|
|
app:
|
|
host: 127.0.0.1
|
|
port: 3000
|
|
localesUrl: /locales
|
|
pencilChunkLength: 100
|
|
loadSlidesFromHttpAlways: false
|
|
etherpad:
|
|
apikey: ETHERPAD_APIKEY
|
|
version: 1.2.13
|
|
host: 127.0.0.1
|
|
port: 9001
|
|
redis:
|
|
host: 127.0.0.1
|
|
port: '6379'
|
|
timeout: 5000
|
|
password: null
|
|
debug: false
|
|
metrics:
|
|
queueMetrics: false
|
|
metricsDumpIntervalMs: 60000
|
|
metricsFolderPath: METRICS_FOLDER
|
|
channels:
|
|
toAkkaApps: to-akka-apps-redis-channel
|
|
toThirdParty: to-third-party-redis-channel
|
|
subscribeTo:
|
|
- to-html5-redis-channel
|
|
- from-akka-apps-*
|
|
- from-third-party-redis-channel
|
|
- from-etherpad-redis-channel
|
|
async:
|
|
- from-akka-apps-wb-redis-channel
|
|
ignored:
|
|
- CheckAlivePongSysMsg
|
|
- DoLatencyTracerMsg
|
|
serverLog:
|
|
level: info
|
|
streamerLog: false
|
|
memoryMonitoring:
|
|
stat:
|
|
enabled: false
|
|
leak:
|
|
enabled: false
|
|
heapdump:
|
|
enabled: false
|
|
minBrowserVersions:
|
|
- browser: chrome
|
|
version: 72
|
|
- browser: chromeMobileIOS
|
|
version: Infinity
|
|
- browser: firefox
|
|
version: 63
|
|
- browser: firefoxMobile
|
|
version: 68
|
|
- browser: edge
|
|
version: 79
|
|
- browser: ie
|
|
version: Infinity
|
|
- browser: safari
|
|
version: [12, 1]
|
|
- browser: mobileSafari
|
|
version: [12, 1]
|
|
- browser: opera
|
|
version: 50
|
|
- browser: electron
|
|
version: [0, 36]
|
|
- browser: SamsungInternet
|
|
version: 10
|
|
- browser: YandexBrowser
|
|
version: 19
|