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
- 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
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