Commit Graph

1556 Commits

Author SHA1 Message Date
Anton Georgiev
578332a094
Merge pull request #13731 from schrd/cluster_proxy
Allow BBB to run behind a proxy the avoid gUM permission queries per node
2021-12-03 11:32:07 -05:00
Anton Georgiev
def60fbcbc
Merge pull request #13818 from prlanzarin/u24-lift-wsb
feat(webcam): add a way to re-open video preview without multiple cameras
2021-12-02 17:26:23 -05:00
prlanzarin
da6ab02122 chore: add forceRelayOnFirefox option (false by default)
- forceRelayOnFirefox: whether TURN/relay usage should be forced to work
around Firefox's lack of support for regular nomination when dealing with
ICE-litee peers (e.g.: mediasoup).
  * See: https://bugzilla.mozilla.org/show_bug.cgi?id=1034964
- iOS endpoints are ignored from the trigger because _all_ iOS browsers
  are either native WebKit or WKWebView based (so they shouldn't be affected)
2021-11-30 20:31:12 +00:00
prlanzarin
f8034b8e04 refactor(audio): remove unused relayOnlyOnReconnect config
Removed/left behind when SIP.js was bumped for 0.7.x to 0.15.x
2021-11-30 19:22:38 +00:00
Mario Jr
54bda21287 chore(video): change default setting to enable webcam's button selector
Renamed this setting and added some docs about it
Complements #979
2021-11-26 13:12:07 +00:00
Max Franke
310add10ed feat(webcam): add a little button to webcam button
Add the <ButtonEmoji/> to the webcam button. Now it
is possible to change the webcam settings and change
your settings without having to turn off sharing.
Modifies the <ButtonEmoji/> component so that it can
receive an onClick per props.
It is possible to disable this feat in the settings.yml
2021-11-26 12:53:11 +00:00
Daniel Schreiber
c46556e1f6 Allow BBB to run behind a proxy the avoid gUM permission queries per node
The idea is to run a loadbalancer node which maps each BBB node to a
path. That way each user gets only one gUM permission query for a
cluster. The loadbalancer node only serves the html5 client, each BBB
node will serve its own API and handle the websockets for freeswitch and
bbb-webrtc-sfu.

Configuring a cluster setup
===========================

* let bbb-lb.example.com be the loadbalancer node
* let bbb-01.eaxmple.com be a BBB node

Loadbalancer
------------

On the loadbalancer node add an nginx configuration similar to this one
for each BBB node:

```
location /bbb-01/html5client/ {
  proxy_pass https://bbb-01.example.com/bbb-01/html5client/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
}

```

BBB Node
--------

On the BBB node add the following options to
`/etc/bigbluebutton/bbb-web.properties`:

```
defaultHTML5ClientUrl=https://bbb-lb.example.com/bbb-01/html5client/join
presentationBaseURL=https://bbb-01.example.com/bigbluebutton/presentation
accessControlAllowOrigin=https://bbb-lb.example.com
```

Add the following options to `/etc/bigbluebutton/bbb-html5.yml`:

```
public:
  app:
    basename: '/bbb-01/html5client'
    bbbWebBase: 'https://bbb-01.eaxmple.com/bigbluebutton'
    learningDashboardBase: 'https://bbb-01.eaxmple.com/learning-dashboard'
  media:
    stunTurnServersFetchAddress: 'https://bbb-01.eaxmple.com/bigbluebutton/api/stuns'
    sip_ws_host: 'bbb-01.eaxmple.com'
  presentation:
    uploadEndpoint: 'https://bbb-01.eaxmple.com/bigbluebutton/presentation/upload'
```

Create the following unit file overrides:

* `/etc/systemd/system/bbb-html5-frontend@.service.d/cluster.conf`
* `/etc/systemd/system/bbb-html5-backend@.service.d/cluster.conf`

with the following content:

```
[Service]
Environment=ROOT_URL=https://127.0.0.1/bbb-01/html5client
```

Change the nginx `$bbb_loadbalancer_node` variable to the name of the
load balancer node in `/etc/bigbluebutton/nginx/loadbalancer.nginx` to
allow CORS requests:

```
set $bbb_loadbalancer_node https://bbb-lb.example.com
```

Prepend the mount point of bbb-html5 in all location sections except
from the `location @html5client` section in
`/etc/bigbluebutton/nginx/bbb-html5.nginx`

```
location @html5client {
    ...
}
location /bbb-01/html5client/locales {
    ...
}
```
2021-11-20 22:13:47 +01:00
Mario Jr
117bb91a0e fix(audio): rename fullaudio bridge to FullAudioBridge
updated whitelist, also according to sonar checks
2021-11-09 12:10:36 -03:00
Mario Jr
db4e2f9c47 update(audio): correctly retrieves the media-server-fullaudio from meta params
Previously we were using the same for listenonly, which for default
environments points to kurento, and didn't make any difference in media server
selection.
This could be problematic in those environments where meta param
for listeonly media server is set , though.
Fullaudio has now it's own meta param that can be passed through API:
"meta_media-server-fullaudio"
2021-11-09 12:09:28 -03:00
Mario Jr
42778adeaf feat(audio): add base code for fullaudio bridge
This bridge will work with bbb-webrtc-sfu to handle microphone audio.
2021-11-09 12:08:45 -03:00
Mario Jr
7e218c3eca feat(audio): add bridge configurable scheme
we are now able to switch between audio bridges, by selecting it in
config files.
2021-11-09 12:08:09 -03:00
germanocaumo
3dd679761f Merge branch 'v2.4.x-release' of https://github.com/bigbluebutton/bigbluebutton into f-h-prom-agent 2021-11-05 19:38:40 +00:00
germanocaumo
6f1e1d4f4a refactor(prom-html5): serve endpoint via meteor instead of http server +
- separate backend/frontend metrics, only add metrics related to the role
- add role and instance labels
2021-11-05 16:31:23 +00:00
Anton Georgiev
e5c37a7cf8
Merge pull request #13490 from ramonlsouza/old-minimize-button
Restore old button to hide presentation (under a flag)
2021-10-20 13:43:58 -04:00
Anton Georgiev
c1c357bbd9
Merge pull request #13482 from prlanzarin/u24-zones
refactor(virtual-backgrounds): move WASM binaries to /public and let nginx serve them
2021-10-18 12:16:14 -04:00
Ramón Souza
9e71583ec7 restore old minimize presentation button and add a flag to switch 2021-10-14 19:31:47 +00:00
prlanzarin
b677f805c1 refactor(virtual-backgrounds): move WASM binaries to public, let nginx serve them 2021-10-14 03:50:39 +00:00
KDSBrowne
27e3500b6d Merge branch 'v2.4.x-release' of https://github.com/bigbluebutton/bigbluebutton into BBB-WCAG2.1-FINAL 2021-10-13 12:03:58 +00:00
KDSBrowne
b39f07d996 add BigBlueButton to guest lobby heading 2021-10-10 17:29:18 +00:00
Philipp Memmel
a145426aca localize guest wait page heading 2021-10-09 08:46:10 +00:00
Arthur B. Grossi
4c3c03c4ed style(guest wait): adjust font
Adds client's font to the guest's waiting page.
2021-10-07 16:56:19 +00:00
germanocaumo
30db4a4122 refactor(html5-prometheus): remove MCS references and change default port 2021-10-06 18:56:32 +00:00
germanocaumo
a0580431e0 feat(html5-server): add prometheus default instrumentation
Adds prometheus client to collect html5 server metrics.
Only default Node.js metrics in this initial version.

Enable via configs in private.app.prometheus
2021-10-06 18:55:19 +00:00
Anton Georgiev
59fc722529 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-23-24 2021-10-05 17:14:46 +00:00
Arthur B. Grossi
978841aa71 style(guest wait): loading dots
Adjusts guest waiting page loading dots to be the same as the one displayed
at the client.
2021-10-04 19:21:36 +00:00
Anton Georgiev
c0beede63b
Merge pull request #13335 from prlanzarin/u24-white-rabbit
chore(webrtc): let the server generate subscriber offers by default (backports #13254)
2021-10-04 12:58:50 -04:00
Anton Georgiev
17bf52fe5b
Merge pull request #13279 from prlanzarin/u24-trash-stratum
chore(virtual-backgrounds): cleanup and update tflite resources
2021-10-04 10:30:33 -04:00
Paulo Lanzarin
9c09b36b23 chore(webrtc): let the server generate subscriber offers by default 2021-09-29 21:21:00 +00:00
KDSBrowne
0a5548a058
Add comment 2021-09-29 11:08:35 -04:00
KDSBrowne
0cbb7b662f Merge branch 'v2.4.x-release' of https://github.com/bigbluebutton/bigbluebutton into BBB-WCAG-09 2021-09-29 02:14:23 +00:00
KDSBrowne
9cf0dde128 add approved redirect message in guest wait page 2021-09-29 02:13:31 +00:00
Pedro Beschorner Marin
c43ca7a22d fix(guests): max participants
Waiting users shouldn't count as valid participants at the meeting's
`maxParticipants` constraint.

Avoid calling `enter` at the waiting page.

Reference https://github.com/bigbluebutton/bigbluebutton/pull/10542
2021-09-28 08:31:18 -03:00
Paulo Lanzarin
d2498ad31d
Merge pull request #13281 from prlanzarin/u24-telomere
feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
2021-09-27 11:15:16 -03:00
Anton Georgiev
1d3918411f
Merge pull request #13278 from KDSBrowne/BBB-WCAG-08
refactor: WCAG2.1 - Guest Wait Page
2021-09-27 09:34:50 -04:00
prlanzarin
1cb412529d feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
ICE lite servers (eg mediasoup) dont need candidates signaled out-of-band; neither does KMS in certain scenarios

Disable their signaling saves us some ticks in bbb-webrtc-sfu and some bandwidth all around
2021-09-24 17:24:06 +00:00
prlanzarin
42b53749f1 chore(virtual-backgrounds): update tflite backends wrappers and WASMs
Use the latest version in the volcomix repo

Add coments to the wrappers stating which changes we did manually in them
2021-09-23 14:46:33 +00:00
Anton Georgiev
becf921280
Merge pull request #12528 from bhuvankrishna/patch-1
Update settings.yml
2021-09-20 11:36:49 -04:00
KDSBrowne
ef02662132 update guest lobby title 2021-09-20 01:12:08 +00:00
KDSBrowne
508ead40ec wcag 2.1 access update to guest-waiting room 2021-09-19 22:09:49 +00:00
prlanzarin
fe5e86052a refactor(html5): media server adapter config is undefined by default
Undefined by default means that the governing configuration is in bbb-webrtc-sfu

Also add some inline docs in settings.yml about the media server adapter configs
2021-08-31 01:58:51 +00:00
prlanzarin
c741cea715 feat(video): add media server adapter config for cameras in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by cameras; server wide
2021-08-31 00:30:06 +00:00
prlanzarin
c57fb0b388 feat(audio): add media server adapter config for listen only in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by listen only; server wide
2021-08-31 00:24:41 +00:00
prlanzarin
86a715dc15 feat(screenshare): add media server adapter config in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by screen sharing; server wide
2021-08-31 00:19:51 +00:00
Anton Georgiev
6682b7c9d5
Merge pull request #13106 from antobinary/enable-network-status
chore: Enable by default enableNetworkStats
2021-08-30 14:49:11 -04:00
Anton Georgiev
51023b18b8
Merge pull request #13068 from ramonlsouza/prevent-locales-loop
fix: prevent endless loop if locale file is invalid json
2021-08-30 14:32:51 -04:00
Anton Georgiev
a820f7bb09 chore: Enable by default enableNetworkStats 2021-08-30 18:30:12 +00:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Anton Georgiev
46af0a8ee0
Merge pull request #13059 from jfsiebel/allow-to-remove-all-presentations
Allow presenter to remove all presentations
2021-08-27 14:06:37 -04:00
Mario Jr
fe7c7fe685 allow network stats information and copy button to be enabled in config file 2021-08-25 16:38:36 -03:00
Ramon Souza
86df6ee96f prevent endless loop if locale file is invalid json 2021-08-25 13:12:38 -03:00