Commit Graph

2239 Commits

Author SHA1 Message Date
Anton Georgiev
60c1339a1f
Merge pull request #13757 from ramonlsouza/typed-poll-single-answer
fix: prevent users from being able to send more than one typed poll answer
2021-11-26 10:24:47 -05:00
Ramón Souza
30f6a642dd prevent users from being able to send more than one typed poll answer 2021-11-25 17:51:36 +00:00
Tainan Felipe
24ae9d3628 Fix server side connection close on user disconnection 2021-11-23 17:45:49 -03:00
Gustavo Trott
90837505ff use the absolute path 2021-11-22 11:35:44 -03:00
Gustavo Trott
a2aeae8ac4 use the absolute path 2021-11-22 11:27:30 -03:00
Gustavo Trott
a300b4c66d use the absolute path 2021-11-22 11:25:21 -03: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
Gustavo Trott
cf61057e94 Adds publicationSafeGuard to breakouts-history 2021-11-19 17:42:33 -03:00
Gustavo Trott
305e26172e Migrates breakout-history to new local collections 2021-11-19 16:34:37 -03:00
Gustavo Trott
0458212531 Merge remote-tracking branch 'upstream/develop' into breakouts-n-groups-assignments-2.5 2021-11-19 16:16:00 -03:00
Anton Georgiev
542db847ff
Merge pull request #13574 from Tainan404/smooth-reconnection-25
Improve data structure to not break on reconnections
2021-11-17 15:55:21 -05:00
Ramón Souza
4207502db1 remove unused imports/exports 2021-11-17 12:26:26 +00:00
Arthurk12
c2e90ede11 feat(screenshare): gain node
Splits screenshare stream into video and audio and adds gain node to audio
stream in order to permit volume control by the user. Volume is normalized
between [0, 2](muted and 2x boost).
2021-11-12 16:30:39 +00:00
Gustavo Trott
ad4ab7ed48 Undo wrong changes 2021-11-11 14:08:01 -03:00
Gustavo Trott
8555187df3 Resolve conflicts with Develop branch 2021-11-11 14:02:03 -03:00
Gustavo Trott
e919e24b38 Auto assign breakout names and users using lastBreakout or groups 2021-11-11 10:10:31 -03:00
Mario Jr
a719f8f5e4 fix(audio): update fullaudio bridge according to sonar's checks 2021-11-09 12:10:44 -03: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
f9dbefe764 feat(audio): basic funcionality for fullaudio bridge
This commit allows user to join/leave audio using the fullaudio bridge.
This is still under development, but to use this now we must set values of
skipCheck to false, and defaultFullAudioBridge to fullaudio. This
depends on newest version of bbb-webrtc-sfu
2021-11-09 12:09:18 -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
86ef834476 fix(audio): bridges can be dynamically imported
Added bridge whitelist , to allow bridge modules to be dynamically imported.
2021-11-09 12:08:18 -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
Anton Georgiev
9372d0b0a2
Merge pull request #13630 from zhem0004/randomUserOrdering
Random user ordering
2021-11-04 13:48:25 -04:00
Bohdan Zhemelinskyi
d5c80fc060 Improvement based on comments 2021-11-04 15:16:47 +00:00
Bohdan Zhemelinskyi
a20ee430ed Improvements based on sonar cloud feedback 2021-11-03 19:16:55 +00:00
Tainan Felipe
f5eef03f3f Improve data structure to not break on reconnections 2021-11-03 14:37:54 -03:00
Anton Georgiev
019a0b25b9
Merge pull request #13564 from jfsiebel/remove-unused-property-chat-message
Remove unused properties from chat message event
2021-11-02 15:12:56 -04:00
Anton Georgiev
13aba985cb
Merge pull request #10737 from hiroshisuga/fillshape
feat: Fill shape in whiteboard
2021-11-02 15:03:22 -04:00
Tainan Felipe
3e7d88586e Enhances authToken validation to solely use Meteor.call 2021-10-28 15:16:16 -03:00
Bohdan Zhemelinskyi
7ae476af3d Stabilized rndom user select(commented) 2021-10-27 19:17:21 +00:00
Bohdan Zhemelinskyi
bb0ee66977 Stabilized rndom user select 2021-10-27 18:47:48 +00:00
Anton Georgiev
c60ef3c179
Merge pull request #13253 from ramonlsouza/PR-11359
feat: multiple choice poll
2021-10-26 14:42:29 -04:00
Joao Siebel
7a118ed3b8 Remove unused properties from chat message event record. close #11696 2021-10-25 14:46:59 -03:00
Anton Georgiev
1622425cbc Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into 2.4-into-develop 2021-10-22 19:12:58 +00:00
Anton Georgiev
3ccc59ac63
Merge pull request #13521 from lfzawacki/userdata-layout
Userdata flags for hiding some layout elements
2021-10-20 08:43:18 -04:00
Lucas Zawacki
8f346b6ae4 feature(layout): userdata to hide navbar 2021-10-19 20:43:33 +00:00
Lucas Zawacki
e5ac30fd46 feature(layout): userdata flag for hiding actions bar 2021-10-19 19:20:31 +00:00
Ramón Souza
1cc066366f Merge remote-tracking branch 'upstream/develop' into PR-11359 2021-10-19 16:41:36 +00:00
Gustavo Trott
0102104fbe Makes bbb-web provide LearningDashboard data while meeting is alive 2021-10-14 14:00:25 -03:00
Anton Georgiev
24d672a832 Merge branch 'v2.4.x-release' of github.com:bigbluebutton/bigbluebutton into merge-24-dev 2021-10-14 15:13:17 +00:00
Tainan Felipe
1de8e0779d Add server side reactivity to publications 2021-10-13 15:00:52 -03:00
Anton Georgiev
d2d8287fb6 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-23-24 2021-10-06 17:27:37 +00:00
Anton Georgiev
585c263129
Merge pull request #13425 from pedrobmarin/f-cc-cr
fix(closed captions): captions recording
2021-10-06 10:00:21 -04:00
Pedro Beschorner Marin
3bf1eeeeaf fix(closed captions): captions recording
Missing updates on Meteor's data validation for the closed captions
backend recording events.
2021-10-06 10:50:07 -03: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
Anton Georgiev
563bf2caca
Merge pull request #13392 from pedrobmarin/f-sn-aps
fix(shared notes): avoid padId subscription
2021-10-05 12:26:37 -04:00
Anton Georgiev
c2a48a5e9d
Merge pull request #13396 from pedrobmarin/f-cc-aps
fix(closed captions): avoid padId subscription
2021-10-05 12:26:26 -04:00
Anton Georgiev
9bc10c1a88
Merge pull request #13402 from ramonlsouza/pr-13396-24
fix(closed captions): avoid padId subscription (2.4)
2021-10-05 12:25:17 -04:00
Tainan Felipe
0a00588651 Create custom cursor for current poll and user 2021-10-04 17:01:20 -03:00
Ramón Souza
3840d4ff63 fix(closed captions): avoid padId subscription
Remove padIds from the closed captions MongoDB collection subscription.

Users now have to fetch the padId from Meteor when needed. Meteor is
responsible for checking the user's access level and return the
proper id.
2021-10-04 19:22:18 +00:00
Pedro Beschorner Marin
c42d66a68f fix(shared notes): avoid padId subscription
Remove padIds from the shared notes MongoDB collection subscription.

Users now have to fetch the padId from Meteor when needed. Meteor is
responsible for checking the user's access level and return the
proper id.
2021-10-04 18:01:19 +00:00
Pedro Beschorner Marin
b65d253143 fix(closed captions): check owner on text append
Avoid appendText call if the requester is not the closed captions' pad
owner.
2021-10-04 14:40:43 -03:00
Pedro Beschorner Marin
f7793bdc4b fix(closed captions): avoid padId subscription
Remove padIds from the closed captions MongoDB collection subscription.

Users now have to fetch the padId from Meteor when needed. Meteor is
responsible for checking the user's access level and return the
proper id.
2021-10-04 14:35:53 -03:00
Anton Georgiev
9e972f0534
Merge pull request #13325 from jfsiebel/prevent-setInPod-loop
fix: Prevent a case where the setInPod get stuck on a loop
2021-10-04 10:41:34 -04:00
Pedro Beschorner Marin
995b6aad41 fix(shared notes): avoid padId subscription
Remove padIds from the shared notes MongoDB collection subscription.

Users now have to fetch the padId from Meteor when needed. Meteor is
responsible for checking the user's access level and return the
proper id.
2021-10-04 10:18:40 -03:00
Gustavo Trott
b07012df16 Removes prop users from BreakoutModel and add prop url_ instead 2021-10-01 13:19:01 -03:00
Gustavo Trott
be4f0bcebf Removes prop users from BreakoutModel and add prop url_ instead 2021-10-01 10:44:01 -03:00
Ramon Souza
a820461b63 fix 13232 regression 2021-09-29 14:52:30 -03:00
Joao Siebel
e1c825136c Prevent a case where the setInPod get stuck on a loop. close #12284 2021-09-29 13:22:18 -03:00
Mario Jr
7ed1cbfc30 Merge branch 'v2.4.x-release' into fix-13242 2021-09-29 09:20:58 -03:00
Mario Jr
519883e89a update(audio): adjust reference to ignoreCallState flag 2021-09-24 14:48:22 -03: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
Anton Georgiev
7c11600518
Merge pull request #13266 from mariogasparoni/dynamic-bridges
feat(audio): add bridge configurable scheme
2021-09-22 16:00:46 -04:00
Anton Georgiev
6936f61495
Merge pull request #13261 from Tainan404/chat-improve-performance-develop
Implements CollectionEventsBroker for chat context - develop
2021-09-22 12:21:53 -04:00
Tainan Felipe
543b57dff5 Improve readability 2021-09-22 11:52:01 -03:00
Tainan Felipe
6a480a4946 Implements collection hooks to chat context 2021-09-22 11:51:50 -03:00
Mario Jr
1c08fc852a fix(audio): audio controls crash when ending call during brekout audio transfer
Restored the old behavior when ending breakout rooms while user is in the
breakout audio transfer, which is to the trigger the reconnection to the audio
in the main room.
This behavior could be improved by (instead of reconnecting) transfering user
back to the main room, but this requires some changes in akka-apps/fsesl
which can be treated in a different issue.

Closes #13242
2021-09-21 11:22:05 -03:00
Ramon Souza
a8541eda6e remove linting 2021-09-17 10:38:10 -03:00
Ramon Souza
0ca1b7896e Merge remote-tracking branch 'upstream/develop' into PR-11359 2021-09-17 09:12:43 -03:00
Ramon Souza
de53770d77 fix breakout room multiple invitations 2021-09-15 14:43:51 -03:00
Ramon Souza
58cd6b2241 ensure breakout invitation is sent 2021-09-06 15:54:12 -03:00
Mario Jr
b74e4c6ca5 fix(audio): bridges can be dynamically imported
Added bridge whitelist , to allow bridge modules to be dynamically imported.
2021-09-01 13:22:43 -03:00
Mario Jr
4fcd051223 feat(audio): add bridge configurable scheme
we are now able to switch between audio bridges, by selecting it in
config files.
2021-08-31 15:50:53 -03:00
prlanzarin
9d9ed9ce72 fix(screenshare): propagate media server metadata to screen sharing viewers
Originally the adapter was inferred server side; I removed that
2021-08-31 01:26:39 +00:00
prlanzarin
58a8e99195 feat: add media server configuration via metadata
Applies to video, listen only and screen sharing

New metadata values: media-server-video, media-server-listenonly, media-server-screenshare; parameter is a String
2021-08-31 00:39:45 +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
Gustavo Trott
6970a0ab30
Merge branch 'develop' into learning-dashboard-improvements2 2021-08-30 15:23:04 -03: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
Gustavo Trott
b7f14537ed Improvements to Learning Dashboard 2021-08-26 15:21:15 -03:00
Anton Georgiev
34453b8528
fix: Fix log message (LGTM)
Updating string for audio connected audio. Thanks @stweil
2021-08-25 13:17:27 -04:00
Gustavo Trott
cd15f17394 Refactor all references for activity-report renaming to learning-dashboard 2021-08-25 11:38:35 -03:00
Anton Georgiev
e6eebfaa81
Merge pull request #12983 from prlanzarin/u24-fantas
refactor(webcams, screenshare, listen-only): let the server generate subscriber offers
2021-08-24 16:37:44 -04:00
Mario Jr
00e01c1872 add screenshare's peer information to video stats in connection status modal
Added support for getStats in screenshare's service. This works similar
to the getStats for video provider, and the information retrieved from
screenshare is added to the video information for cameras.
2021-08-23 12:36:01 -03:00
Mario Jr
cf366e5090 Get user and audio data, shows it and allows it to be copied to clipboard
Using getStats api and peer information to retrieve upload/download rates
and transport information
2021-08-12 16:39:04 -03:00
prlanzarin
54d04fdb77 refactor(listen-only): let the server generate subscriber offers 2021-08-12 13:45:18 +00:00
prlanzarin
387c453076 refactor(screnshare): let the server generate subscriber offers 2021-08-12 13:45:04 +00:00
Joao Siebel
4df47c08de Fix a problem where the first moderator to join wasn't flaged as presenter 2021-08-11 16:46:26 -03:00
Anton Georgiev
5cfb723e07 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into aug6-merge 2021-08-06 15:23:36 +00:00
Anton Georgiev
c8577dd76d
Merge pull request #12908 from antobinary/fix-12890
fix: Re-subscribe user to guestUser collection on promotion/demotion
2021-08-05 09:30:31 -04:00
Anton Georgiev
daed82d63c fix: re-subscribe user to guestUser collection on promotion/demotion 2021-08-04 15:34:52 +00:00
Anton Georgiev
e4826afa29 fix: Grant current-poll access to attendee presenter too 2021-08-04 15:13:00 +00:00
Joao Siebel
4cae6bb5dc Prevent edge case where the UI show wrong info about current presenter 2021-08-04 11:02:10 -03:00
Anton Georgiev
73da9c15da Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-23-july-30 2021-07-30 23:43:27 +00:00
Anton Georgiev
ac3d627d15 fix(guests): Propagate list of pending guests only to mods 2021-07-30 19:31:04 +00:00
Anton Georgiev
21cb175d40 fix(polls): Avoid viewer manually subscribing to current-poll 2021-07-30 16:49:16 +00:00
Mario Jr
c0d1255924 Merge branch 'v2.3.x-release' into fix-1005-logging 2021-07-30 12:28:34 -03:00
Anton Georgiev
aa0ea21990 fix(breakouts): Do not allow users to obtain 'redirectToHtml5JoinURL' for others 2021-07-30 13:35:44 +00:00
Anton Georgiev
b0b386c690 add meetingId to chatIds selector 2021-07-29 12:42:43 +00:00