Commit Graph

71 Commits

Author SHA1 Message Date
Paulo Lanzarin
0ee61265c8
build(bbb-webrtc-sfu): v2.17.0-alpha.0
v2.17.0-alpha.0
---
* feat(livekit): add track egress support
* feat(livekit): webhooks module
* feat(livekit): server side BBB <-> LiveKit event sync
* refactor(livekit): rename GenerateWebRtcToken* to GenerateLiveKitToken*
* feat: base-manager may opt out of connecting to mcs-core
* build(livekit-server-sdk): v2.6.2
2024-10-02 20:53:16 -03:00
Paulo Lanzarin
333033acbb
build(bbb-webrtc-sfu): v2.16.0 (#21275)
v2.16.0
---
* feat(mediasoup): pipe mediasoup logs to the application logger
* refactor(mediasoup): review log levels and metadata
2024-09-27 19:15:52 -04:00
Paulo Lanzarin
5f2b1b574d
build(bbb-webrtc-sfu): v2.15.0 (#21177)
v2.15.0
---
* feat: add restartIce support for video/screenshare modules
* refactor: rename ICE restart flag to `restartIce`, true by default
* build: pino@9.3.2
* build: config@3.3.12
* build: ws@8.18.0
* build: bufferutil@4.0.8
* build: mcs-js@0.0.20
* build: uuid@10.0.0
* build: mediasoup-client@3.7.16
* build: mediasoup@3.14.14
* build: SIP.js@v0.7.5.14
2024-09-13 16:06:20 -04:00
Paulo Lanzarin
4b5317a093
build(bbb-webrtc-sfu): v2.15.0-beta.1
v2.15.0-beta.1
---
* refactor: rename ICE restart flag to `restartIce`, true by default
* build: mediasoup-client@3.7.16
* build: mediasoup@3.14.13
* build: SIP.js@v0.7.5.14
* build: pino@9.3.2
* build: config@3.3.12
* build: ws@8.18.0
* build: bufferutil@4.0.8
* build: mcs-js@0.0.20
* build: uuid@10.0.0
2024-09-05 22:08:27 -03:00
Paulo Lanzarin
5f6b07d578
build(bbb-webrtc-sfu): v2.15.0-beta.0 (#21001)
v2.15.0-beta.0
---
feat: add restartIce support for video/screenshare modules
2024-08-28 16:46:36 -04:00
Paulo Lanzarin
3bdec18e17
build(bbb-webrtc-sfu): v2.14.2
v2.14.2
---
* refactor(audio): set FLOWING logs to INFO level
* build(mediasoup): v3.14.11
2024-08-21 16:16:30 -03:00
Paulo Lanzarin
a152cc45c5
build(bbb-webrtc-sfu): v2.14.1
v2.14.1
---
* fix(screenshare): log presenter/viewer stop on all scenarios
* refactor(screenshare): add presenter data to viewer logs
* refactor(video): add video negotiation and flowing logs
* build(mediasoup): 3.14.9
2024-08-15 16:42:48 -03:00
prlanzarin
2975448c16 build(bbb-webrtc-sfu): v2.14.0
v2.14.0
---
* feat(mediasoup): add least-loaded worker balancing strategy
* feat(mediasoup): worker transposition (off by default)
* feat(audio): dynamic global audio bridge mechanism
* feat: livekit module, initial implementation
* feat(audio): add signaling support for passive-sendrecv role
* feat(freeswitch): overridable UA string
* feat(audio): muteOnStart detection for conditional dialplans
* feat(audio): mute passive-sendrecv clients on start
* feat(audio): support for mute-and-hold on start
* fix(audio): ignore TLO-incapable clients in hold/unhold metrics
* fix(audio): mute/unmute stuck due to inconsistent hold status
* fix(audio): hold/unhold loop when there are multiple sessions per user
* fix(audio): muteOnStart sessions incorrectly muted on breakout transfers
* fix(audio): header-provided userName incorrectly decoded
* fix(audio): stuck unmute due to borked callerIdNum
* fix(audio): correctly decode user name space chars
* !build(npm): set min Node.js version to >=18.0.0
* build: nodemon@3.1.3
* build: ws@8.17.1
* build(mediasoup): 3.14.8
2024-08-15 00:43:34 +00:00
Paulo Lanzarin
1a750650c1
build(bbb-webrtc-sfu): v2.14.0-beta.3
v2.14.0-beta.3
---
  * feat(audio): support for mute-and-hold on start
  * fix(audio): mute/unmute stuck due to inconsistent hold status
2024-06-14 10:52:07 -03:00
Paulo Lanzarin
e275b8c74e
build(bbb-webrtc-sfu): v2.14.0-beta.2
v2.14.0-beta.2
---
  - feat(freeswitch): overridable UA string
  - feat(audio): muteOnStart detection for conditional dialplans
  - feat(audio): mute passive-sendrecv clients on start
2024-06-07 11:53:17 -03:00
Paulo Lanzarin
710b25f7ff
build(bbb-webrtc-sfu): v2.14.0-beta.1
- !build(npm): set min Node.js version to >=18.0.0
- build(mediasoup): 3.14.7
- feat(audio): add signaling support for passive-sendrecv role
- feat: livekit module, initial implementation
2024-05-28 14:54:40 -03:00
Paulo Lanzarin
1a22d7d300
build(bbb-webrtc-sfu): v2.14.0-beta.0
* v2.14.0-beta.0
  * feat(mediasoup): add least-loaded worker balancing strategy
  * feat(mediasoup): worker transposition (off by default)
  * feat(audio): dynamic global audio bridge mechanism
  * fix(audio): ignore TLO-incapable clients in hold/unhold metrics
2024-03-21 15:42:10 -03:00
prlanzarin
ef651a1cdc build(bbb-webrtc-sfu): v2.13.3
* 2.13.3
  * fix(audio): user is deafened when transferring to breakout rooms
  * build(mediasoup): 3.13.24
2024-03-19 10:05:18 -03:00
Paulo Lanzarin
ee4773bcf5
build(bbb-webrtc-sfu): v2.13.2
### v2.13.2

* feat: add incrementBy util to prometheus-agent
* feat(core): add event callback and dispatch metrics
* fix: another edge case where subprocesses fail to recover

### v2.13.1

* fix: subprocesses fail to recover from multiple crashes

### v2.13.0

* feat: add inbound queue size and job failure metrics
* feat: add dry-run recording mode
* feat: add time_to_mute/unmute metrics
* feat: add warn logs for when hold/mute actions exceed max bucket time
* feat(mediasoup): add mediasoup_ice_transport_protocol metric
* feat(mediasoup): per-worker resource metrics
* feat(mediasoup): add worker label to transport/router/prod/cons metrics
* fix(audio): log and track metrics for hold/unhold timeouts
* fix(bbb-webrtc-recorder): exception when removing nullish recording callbacks
* fix(mediasoup): check for null producers
* fix(screenshare): resolve subscriberAnswer job
* fix(audio): prevent false positives in TLO toggle metrics
* fix(test): wait for recorder to boot in stress test script
* fix: set appropriate initial bitrates
* fix(mediasoup): max bitrate for consumer-only transports not effective
* fix(mediasoup): missing rtcp-fb and header exts in consumer-only offers
* fix(audio): stricter adherence to router.mediaCodecs settings
* fix(video): exception when destructuring null camera source
* fix(mediasoup): only call consumer.changeProducer when appropriate
* fix(mediasoup): capture icestatechange == disconnected
* fix(mediasoup): invalid RTP header exts in default config
* refactor: replace logger lib, Winston -> Pino
* chore(mediasoup): expose webRtcTransport's iceConsentTimeout config
* build: mediasoup-client@3.7.4
* build: mediasoup@3.13.23
* build: bump Docker and nvmrc to Node.js 20 (LTS)
2024-03-14 14:06:32 -03:00
Paulo Lanzarin
da31a8d0f7
build(bbb-webrtc-sfu): v2.13.0-alpha.1
* feat: add inbound queue size and job failure metrics
* feat: add dry-run recording mode
* feat: add time_to_mute/unmute metrics
* fix(audio): log and track metrics for hold/unhold timeouts
* fix(bbb-webrtc-recorder): exception when removing nullish recording callbacks
* fix(mediasoup): check for null producers
* fix(screenshare): resolve subscriberAnswer job
* fix(audio): prevent false positives in TLO toggle metrics
* refactor: replace logger lib, Winston -> Pino
  * Winston's been problematic (missing logs) and Pino is more performant
* build: bump Docker and nvmrc to Node.js 20 (LTS)
2024-01-18 17:52:21 -03:00
Paulo Lanzarin
494324333e
build(bbb-webrtc-sfu): v2.12.1
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.12.1
2023-11-16 10:30:05 -03:00
prlanzarin
8dbe6ae8fc build(bbb-webrtc-sfu): v2.12.0-beta.1
* feat: add recordingFallbackOnFailure option
  * feat: improve recording retry and recovery, add carbon copies
  * feat(recorder): add keep-alive and handle crashes/shutdowns
  * feat: new metrics
    - sfu_video_recorder_status
    - sfu_video_recorder_restarts_total
    - sfu_video_recording_errors_total
    - sfu_screenshare_recorder_status
    - sfu_screenshare_recorder_restarts_total
    - sfu_screenshare_recording_errors_total
  * fix(video): log start failures in VideoManager
  * fix(mediasoup): propagate conference-media-specs to router settings
  * build(mediasoup): 3.12.10
2023-09-07 10:11:52 -03:00
Paulo Lanzarin
4f4eced7bd
build(bbb-webrtc-sfu): v2.11.0
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.11.0
2023-08-17 19:48:33 -03:00
prlanzarin
dfa359cae0 build(bbb-webrtc-sfu): v2.11.0-beta.4
- Added: mediasoup_rtp_scores (histogram, off by default)
2023-08-10 22:29:45 -03:00
Paulo Lanzarin
dc1066e247
build(bbb-webrtc-sfu): v2.11.0-beta.3
Adjust naming of an environment variable configuration (`AUDIO_HOLD_HIST`)
2023-08-10 11:10:47 -03:00
prlanzarin
0f9b9e1932 build(bbb-webrtc-sfu): v2.11.0-beta.2
A few adjustments to the transparent listen only mechanism

New Prometheus metrics to validate transparent listen only
2023-08-09 22:46:03 -03:00
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
Paulo Lanzarin
077cbf8793
build(bbb-webrtc-sfu): v2.10.0
Full changelog: https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.10.0
2023-07-21 17:50:04 -03:00
Paulo Lanzarin
2a37c63d6c
build(bbb-webrtc-sfu): v2.10.0-alpha.6
Full changelog: bigbluebutton/bbb-webrtc-sfu@v2.10.0-alpha.5..v2.10.0-alpha.6
  - Adjust recording timestamp generation when recordFullDurationMedia=true
  - mediasoup@3.12.6
2023-07-14 17:16:17 -03:00
Paulo Lanzarin
bf16763e24
build(bbb-webrtc-sfu): v2.10.0-alpha.5
Full changelog: https://github.com/bigbluebutton/bbb-webrtc-sfu/compare/v2.10.0-alpha.4...v2.10.0-alpha.5
  - More recording adjustments (timestamps)
2023-06-04 22:13:52 -03:00
Paulo Lanzarin
40676a9224
build(bbb-webrtc-sfu): v2.10.0-alpha.4
Full changelog: bigbluebutton/bbb-webrtc-sfu@v2.10.0-alpha.3...v2.10.0-alpha.4
  - mcs-core memory leak fix
  - mediasoup@3.11.26
  - Add support to recordFullDurationMedia
2023-06-02 11:15:27 -03:00
Paulo Lanzarin
c596697ac5
build(bbb-webrtc-sfu): v2.10.0-alpha.3
Full changelog: https://github.com/bigbluebutton/bbb-webrtc-sfu/compare/v2.10.0-alpha.2...v2.10.0-alpha.3
  - bbb-webrtc-recorder adjustments
  - mediasoup@3.11.24
  - Fixes to procedures responsible for tracking and recovering from  FreeSWITCH crashes
2023-05-09 14:53:45 -03:00
Paulo Lanzarin
42b75e2940
build(bbb-webrtc-sfu): v2.9.10-alpha.2
Full changelog: https://github.com/bigbluebutton/bbb-webrtc-sfu/compare/v2.10.0-alpha.1...v2.10.0-alpha.2
2023-04-12 10:16:13 -03:00
Paulo Lanzarin
9ecb4b96ef build(bbb-webrtc-sfu): v2.10.0-alpha.1
More recording work and dependency upgrades.
See: https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.10.0-alpha.0
2023-03-01 18:06:45 -03:00
Paulo Lanzarin
5f1e7a2f1f
build(bbb-webrtc-sfu): v2.10.0-alpha.0
https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.10.0-alpha.0
2023-02-13 13:58:54 -03:00
Paulo Lanzarin
242927c0cf
build(bbb-webrtc-sfu): v2.9.5
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.5
2022-11-30 11:25:22 -03:00
Paulo Lanzarin
e47245c62f
build(bbb-webrtc-sfu): v2.9.4
See:
 - https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.3
 - https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.4
2022-11-16 10:18:35 -03:00
Paulo Lanzarin
30985565c1
build(bbb-webrtc-sfu): v2.9.2
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.2
2022-10-27 14:09:58 -03:00
Paulo Lanzarin
6396c3e7bd
build(bbb-webrtc-sfu): v2.9.1
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.1
2022-09-13 09:19:49 -03:00
Paulo Lanzarin
3c4da1a937
build(bbb-webrtc-sfu): v2.9.0
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0
2022-08-17 14:37:02 -03:00
Paulo Lanzarin
2535f34692
build(bbb-webrtc-sfu): v2.9.0-beta.1
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0-beta.1
2022-08-12 10:27:03 -03:00
Paulo Lanzarin
e4f0dee91e
build(bbb-webrtc-sfu): v2.9.0-beta.0
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0-beta.0
2022-08-01 14:00:23 -03:00
Paulo Lanzarin
d5c63d10e5
build(bbb-webrtc-sfu): v2.9.0-alpha.5 2022-07-18 17:01:22 -03:00
Paulo Lanzarin
a467e97dcc
build(bbb-webrtc-sfu): v2.9.0-alpha.4
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0-alpha.4
2022-07-05 09:12:56 -03:00
prlanzarin
2b204b3e83 build(bbb-webrtc-sfu): v2.9.0-alpha.3
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0-alpha.3
2022-06-28 20:34:12 +00:00
Paulo Lanzarin
4ba1ab2b24
build(bbb-webrtc-sfu): v2.9.0-alpha.2
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.0-alpha.2
2022-06-27 11:09:46 -03:00
Paulo Lanzarin
7813ff526e
build: bump bbb-webrtc-sfu to v2.9.0-alpha.0 2022-05-13 11:31:46 -03:00
Paulo Lanzarin
e9707ef173
build: bump bbb-webrtc-sfu to v2.8.1 2022-04-26 18:00:43 -03:00
Paulo Lanzarin
ab069fa04b
build: bump bbb-webrtc-sfu to v2.8.0 2022-04-25 15:02:33 -03:00
Paulo Lanzarin
97a740a79c
build: bump bbb-webrtc-sfu to v2.8.0-alpha.4 2022-04-20 10:49:07 -03:00
Paulo Lanzarin
43a396057f
build: bump bbb-webrtc-sfu to v2.8.0-alpha.1 2022-03-22 11:54:27 -03:00
Paulo Lanzarin
0aa272a547
build: bump bbb-webrtc-sfu to v2.7.1 2022-03-18 10:51:24 -03:00
Paulo Lanzarin
84bd9e8a1a
build: bump bbb-webrtc-sfu to v2.7.0 2022-03-14 17:52:41 -03:00
Paulo Lanzarin
dd79720001
buiild: bump bbb-webrtc-sfu to v2.7.0-beta.1 2022-03-04 17:16:06 -03:00
Anton Georgiev
0b87b13f86 build: add +x to scripts pulling external dependencies
Make is less noisy for local building of dependencies like freeswitch
by storing the executable flag for the scripts
and not listing the resulting packages in artifacts/
2022-02-27 17:12:03 +00:00