Commit Graph

205 Commits

Author SHA1 Message Date
prlanzarin
8feb934169 feat(audio): add experimental transparent listen only mode
This is an initial, experimental implementation of the feature proposed in
https://github.com/bigbluebutton/bigbluebutton/issues/14021.

The intention is to phase out the explicit listen only mode with two
overarching goals:
  - Reduce UX friction and increase familiarity: the existence of a separate
  listen only mode is a source of confusion for the majority of users
  Reduce average server-side CPU usage while also making it possible for
  having full audio-only meetings.

The proof-of-concept works based on the assumption that a "many
concurrent active talkers" scenario is both rare and not useful. With
that in mind, this including two server-side triggers:
 - On microphone inactivity (currently mute action that is sustained for
   4 seconds, configurable): FreeSWITCH channels are held (which translates
   to much lower CPU usage, virtually 0%). Receiving channels are switched,
   server side, to a listening mode (SFU, mediasoup).
   * This required an extension to mediasoup two allow re-assigning producers
     to already established consumers. No re-negotiation is done.
 - On microphone activity (currently unmute action, immediate):
   FreeSWITCH channels are unheld, listening mode is deactivated and the
   mute state is updated accordingly (in this order).

This is *off by default*. It needs to be enabled in two places:
  - `/etc/bigbluebutton/bbb-webrtc-sfu/production.yml` ->
    `transparentListenOnly: true`
  - End users:
    * Server wide: `/etc/bigbluebutton/bbb-html5.yml` ->
      `public.media.transparentListenOnly: true`
    * Per user: `userdata-bbb_transparent_listen_only=true`
2023-08-07 19:43:18 -03:00
Anton Georgiev
cdf6e6ec73 build: use Java17 to build akka projects 2023-06-13 14:26:12 -04:00
Paul Trudel
1c4d2d1eae Change target to release for java 17 on fsesl 2023-06-12 21:27:13 +00:00
GuiLeme
a9a9b5b83e [issue-16590] - Change ownership of logging dir 2023-02-10 16:55:28 -03:00
Anton Georgiev
a8d64e94d6 chore: upgrade scala 2.13.4 -> 2.13.9 2022-12-20 16:07:08 +00:00
Anton Georgiev
4ea7bfb6b4 fix: JVM apps stop to differ from failure 2022-09-02 01:59:56 +00:00
Mario Jr
3f99413cbb fix(audio): prevent dial-in waiting / guest users to speak/listen to the room
Based on the strategy proposed by @schrd in #15163
Also thanks to @jacotec and @maximilianhoecker for the help on investigating

Closes #15163
2022-07-14 09:04:48 -03:00
Anton Georgiev
da474130d9 build: akka apps + fsesl as part of bigbluebutton.target 2022-07-07 00:00:35 +00:00
GuiLeme
ac2e68842c Merge remote-tracking branch 'upstream/v2.6.x-release' into issue-15051 2022-06-20 16:12:25 -03:00
GuiLeme
beb0b507e0 [issue-15051] - Refactored all traces from Red5 2022-06-13 08:19:08 -03:00
Anton Georgiev
8a6c5628bd
fix: set target to jvm-1.11 in akka-bbb-fsesl 2022-05-20 13:09:33 -04:00
Anton Georgiev
13bed65baf chore: drop obsolete Dockerfile from BBB 2022-04-12 20:34:28 +00:00
Anton Georgiev
7501c2788a Merge branch 'java11-2' of github.com:zhem0004/bigbluebutton into java11-2 2022-03-16 18:04:06 +00:00
Bohdan Zhemelinskyi
c76ab27d8e update for fsesl 2022-03-16 17:46:18 +00:00
Pedro Beschorner Marin
6d80a413cf refactor(screenshare): FreeSWITCH partial removal
Remove part of the old FreeSWITCH dependent WebRTC screenshare feature.
2022-02-23 13:03:51 -03:00
Himanshu Goyal
905b650b3d removing obselete resolvers 2022-02-15 14:57:24 +00:00
root
9dbb5a0406 changing java arguments to 11 2022-02-11 09:58:55 +00:00
root
dfba414ff5 upgrading dependencies for akka-bbb-fsesl 2021-12-04 17:56:09 +00:00
root
8c04fbfa8f updating akka-bbb-fsesl 2021-11-29 16:40:52 +00:00
Anton Georgiev
3ebb2cf46d
Merge pull request #12004 from prlanzarin/u23-isitcoldinthewater
video: voice activity video sorting
2021-04-20 09:47:43 -04:00
znerol
4d3abf6857 Remove spurious FreeSWITCH config from akka-bbb-fsesl 2021-04-15 20:25:16 +02:00
prlanzarin
172e31b78e Rework of the floor event
Now it`s called AudioFloorChanged* to properly reflect its role

Add fields to carry the floor state (boolean) along with the uID and vID to be able to send events for a floor takeover and a floor surrender
2021-04-12 18:25:58 +00:00
Marcel Waldvogel
9140613a96 Services run as starting PID
The starting scripts now `exec` the main service instead of starting
it as a subprocess. Also in line with docker-entrypoint recommendations.
2021-04-05 12:24:29 +02:00
prlanzarin
7eb91f9273 Merge branch 'u22-screenshare18102020' of https://github.com/prlanzarin/bigbluebutton-1 into u23-ilgiardino 2021-03-11 18:49:14 +00:00
Brent Baccala
60734e0f65 on installation of akka-bbb-fsesl, update ESL password in /etc/bigbluebutton, where we're starting to
put the configuration stuff, instead of /usr/share/bbb-fsesl-akka/conf/application.conf
2021-03-10 01:13:31 -05:00
Brent Baccala
7b16f03135 packaging from akka-bbb-fsesl: copy FreeSWITCH password from
FreeSWITCH configuration file (event_socket.conf.xml) and add
FreeSWITCH as a package dependency to make sure that it gets
configured first
2021-03-10 01:13:11 -05:00
Anton Georgiev
b8eaf47263
Merge pull request #11454 from schrd/akka-config
Akka config
2021-02-23 08:44:00 -05:00
Daniel Schreiber
d53a5f52a5 let bbb-apps-akka read an override config file from /etc/bigbluebutton
This change introduces a config file
`/etc/bigbluebutton/bbb-fsesl-akka.conf` which reads the default config
from packages and allows operators to keep their own config file changes
across package upgrades.

bbb-conf is adjusted to deal with this change.
2021-02-23 12:55:48 +01:00
Anton Georgiev
55e8de4357 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb18-merge 2021-02-18 20:33:19 +00:00
prlanzarin
3c0493a295 akka-fsesl: handle dial in/out users uIDs in GetUsersStatusToVoiceConfSysMsg responses
The lack of handling to check whether the user was a dial-in user when answering akka-apps periodic member probes was making it use an arbitrary default (callerName) as the userId, explicitly violating the convention that dial-in/outs should have v_memberId userIds

That would botch whichever added janitorial tasks that operated upon akka-apps GetUsersStatusToVoiceConfSysMsg probes
2021-02-12 17:16:36 -03:00
Daniel Schreiber
b6777ed9cb Customize Systemd unit files
Currently there is a mechanism in bbb-config which adds overlay units.
This is not neccesary because sbt allows you to specify your own unit
files.
2021-02-11 11:16:55 +01:00
germanocaumo
83fe68db08 Play screenshare audio when present 2020-12-08 20:30:22 +00:00
Richard Alam
e968780e53 - comment out printlns 2020-04-24 09:37:25 -07:00
Richard Alam
79096d0c55 Increase voice conf length
We need to increase the length of the voice conference. If we have lots of meetings running,
 there is a high chance of collision.

 Need corresponding changes to FreeSWITCH dialplan.

 In bbb_echo_test.xml, change to `expression="^echo(\d{5,11})$"`.

 In bbb_conference.xml, change to `expression="^(\d{5,11})$"`.
2020-04-24 09:22:46 -07:00
Anton Georgiev
1299abdf2c Revert "Merge pull request #8782 from ritzalam/generate-meeting-data"
This reverts commit 37ed2c7501, reversing
changes made to 5af41dabb4.
2020-03-25 16:13:01 -04:00
Richard Alam
3cddd8a1c5 - dump out some meeting stats data into the log 2020-03-14 11:54:45 -07:00
Ghazi Triki
64d08d69c7 Updated java projects dependencies versions. 2020-02-28 10:44:28 +01:00
Richard Alam
3c44827895 - fix typo
- clean up
 - bind to port 8900
2020-02-13 14:30:06 -08:00
Richard Alam
0d96ec7563 - fix type
- bind only to localhost
2020-02-13 14:14:23 -08:00
Richard Alam
5f5fe9436d - cleanup 2020-02-13 13:38:41 -08:00
Richard Alam
1966be769e Add /healthz and /status endpoint
The /healthz returns information is we are able to send and receive message to/from freeswitch.
 The /status returns information about freeswitch version and uptime.
2020-02-13 11:41:49 -08:00
Richard Alam
28fec8e617 - display json reponse properly 2020-02-11 12:10:45 -08:00
Richard Alam
dcd70d38ef - catch exception to not kill connect thread 2020-02-11 12:02:24 -08:00
Richard Alam
793c627610 - handle ask response from actor 2020-02-08 13:41:40 -08:00
Richard Alam
0340b3c4d5 - add response to health check 2020-02-08 13:25:59 -08:00
Richard Alam
5fc079464d - try to setup actor context 2020-02-07 15:19:10 -08:00
Richard Alam
f5567ae971 - add health service 2020-02-07 15:01:37 -08:00
Richard Alam
52dbe43c2a - add http interface 2020-02-07 13:23:29 -08:00
Richard Alam
1e5f4a19ce - handle heartbeat events 2020-02-06 14:23:39 -08:00
Richard Alam
bf80c1071c - parse userid properly 2020-02-06 09:49:05 -08:00