bigbluebutton-Github/bigbluebutton-html5/private/config/settings.yml
Mario Jr c65fa2b350 Add keep alive message to audio's websocket
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.
2020-12-10 23:48:01 -03:00

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