matrix-org / matrix-org/waterfall

Introduce a mechanism to not allow unauthorized users to requset streams of other users without others user being aware of it

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
T-Enhancement X-Needs-Investigation
Dominant language
Go
Stars
105
Forks
5
PR merge metrics
No merged PRs in 30d

Description

It seems like currently, we don't really check if a user who connects to the SFU has the right to participate in the call. The assumption is that everyone in the room can connect to the call (which is fair), but we provide no information to the peers about other peers being subscribed to their streams.

There have been several solutions discussed within the VoIP team:

- Make `waterfall` to be an Application Service (currently it's a bot), allowing `waterfall` to observe messages in the room and making sure that only people who posted the state event to participate in a call can join the conference.
- Make SFU "smarter" (traditional SFU design in which SFU is in charge of a conference and informs all connected peers about publishers, and subscribers people entering/leaving a conference).

(add if there were that were discussed and that I forgot to add here)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the current waterfall bot and SFU responsibilities, then compare the two proposed approaches: making waterfall an Application Service or making the SFU manage conference membership and subscriptions. The work is done when unauthorized users cannot request other users' streams without awareness and peers receive the needed participation information.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.