<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2" -->

---
title: Distributed and Cascaded SFUs | daily.dev
description: Philipp Hancke disputes Matrix's claim of building the 'world's first decentralised, end-to-end encrypted, multiparty VoIP protocol,' tracing federated calling...
canonical: https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Distributed and Cascaded SFUs | daily.dev
og:description: Philipp Hancke disputes Matrix's claim of building the 'world's first decentralised, end-to-end encrypted, multiparty VoIP protocol,' tracing federated calling...
og:url: https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2
og:image: https://api.daily.dev/og/posts/GyEC1PBp2.png
og:image:alt: Distributed and Cascaded SFUs
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Distributed and Cascaded SFUs

**[WebRTC Hacks](https://daily.dev/sources/webrtchacks)** · 9 min read · 0 upvotes · 0 comments

## Summary

Philipp Hancke disputes Matrix's claim of building the 'world's first decentralised, end-to-end encrypted, multiparty VoIP protocol,' tracing federated calling and E2EE back to Jitsi Meet and XMPP work since 2013-2020. He argues Matrix's distributed SFU design (MSC4195), where each user connects to their own server's SFU, creates split-brain problems around simulcast signaling, active speaker detection, and TURN credentials. He contrasts this with the 'cascaded SFU' model that has been the dominant architecture for roughly a decade, and notes Matrix's media E2EE is based on LiveKit, which itself is based on Jitsi's implementation. He also points out the new architecture runs on WebTransport and WebCodecs, and that WebTransport still lacks proper realtime congestion control and P2P support.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://webrtchacks.com/distributed-and-cascaded-sfus>

## Questions this post answers

### What problems arise from each user connecting to their own server's SFU in a federated calling architecture?

This distributed design requires multiple RTCPeerConnection objects that can compete for bandwidth, and raises unresolved questions: how simulcast layers get signaled between differing SFU implementations, how active speaker detection works without one controlling server, how asymmetric connection failures get signaled, and who issues TURN credentials when privacy concerns exist about IP exposure to the other server.

_Anyone designing federated calling systems can track architectural debates like this one on daily.dev._

### What is a cascaded SFU architecture in WebRTC and why is it considered the state of the art?

A cascaded SFU architecture uses regional SFUs running close to each user, forwarding RTP between routers, optimizing round-trip time on the lossy user-to-first-hop network so recovery mechanisms like NACK work better. It has been standard since a 2017 Kranky Geek talk, used in mediasoup and Jitsi's OCTO (2018, refined by 2022), though it requires costly geodistributed infrastructure favoring large operators.

_Engineers comparing SFU architectures for their calling product can follow this kind of deep technical analysis on daily.dev._

### Is Matrix's end-to-end encrypted group calling implementation actually a new open standard?

No, Matrix's media E2EE is based on LiveKit's implementation, which in turn is based on Jitsi's E2EE work dubbed 'JFrame,' originally described in a vendor whitepaper rather than an open standard. This creates a normative dependency on a non-standard implementation despite being presented as an open standard.

_Developers evaluating E2EE calling protocols can dig into provenance questions like this on daily.dev._

## Similar posts on daily.dev

- [How WebRTC Scales: Signaling, NAT Traversal, and the Mesh/SFU/MCU Tradeoff](https://daily.dev/posts/how-webrtc-scales-signaling-nat-traversal-and-the-mesh-sfu-mcu-tradeoff-muxbaugy1) · freeCodeCamp · 0 upvotes · 0 comments
- [What we once had \(at the height of the XMPP era of the Internet\)](https://daily.dev/posts/what-we-once-had-at-the-height-of-the-xmpp-era-of-the-internet--xrnpulowe) · Lobsters · 0 upvotes · 0 comments
- [Matrix takes sovereign messaging into the realm of the tech giants](https://daily.dev/posts/matrix-takes-sovereign-messaging-into-the-realm-of-the-tech-giants-ptx09jb9n) · The Register · 0 upvotes · 0 comments
- [How should group chats work in decentralized systems?](https://daily.dev/posts/how-should-group-chats-work-in-decentralized-systems--gbru0d40j) · Hacker News · 0 upvotes · 0 comments
- [OpenAI Outlines WebRTC Architecture for Low-Latency Voice AI at Scale](https://daily.dev/posts/openai-outlines-webrtc-architecture-for-low-latency-voice-ai-at-scale-6odkdb00l) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#encryption](https://daily.dev/tags/encryption), [#webrtc](https://daily.dev/tags/webrtc)

[View this post on daily.dev](https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Distributed and Cascaded SFUs","url":"https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2"},"datePublished":"2026-10-29T12:47:27.488Z","dateModified":"2026-10-29T12:47:57.349Z","description":"Philipp Hancke disputes Matrix's claim of building the 'world's first decentralised, end-to-end encrypted, multiparty VoIP protocol,' tracing federated calling...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dc178f9d0bcbc7ead4d93607a6fdb9a1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dc178f9d0bcbc7ead4d93607a6fdb9a1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"WebRTC Hacks","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"WebRTC Hacks","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cffa6a9cdfcc4e3a978e54a6289388d1","url":"https://daily.dev/sources/webrtchacks"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"encryption,webrtc","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"WebRTC Hacks","item":"https://daily.dev/sources/webrtchacks"},{"@type":"ListItem","position":3,"name":"Distributed and Cascaded SFUs"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/distributed-and-cascaded-sfus-gyec1pbp2#faq","mainEntity":[{"@type":"Question","name":"What problems arise from each user connecting to their own server's SFU in a federated calling architecture?","acceptedAnswer":{"@type":"Answer","text":"This distributed design requires multiple RTCPeerConnection objects that can compete for bandwidth, and raises unresolved questions: how simulcast layers get signaled between differing SFU implementations, how active speaker detection works without one controlling server, how asymmetric connection failures get signaled, and who issues TURN credentials when privacy concerns exist about IP exposure to the other server. Anyone designing federated calling systems can track architectural debates like this one on daily.dev."}},{"@type":"Question","name":"What is a cascaded SFU architecture in WebRTC and why is it considered the state of the art?","acceptedAnswer":{"@type":"Answer","text":"A cascaded SFU architecture uses regional SFUs running close to each user, forwarding RTP between routers, optimizing round-trip time on the lossy user-to-first-hop network so recovery mechanisms like NACK work better. It has been standard since a 2017 Kranky Geek talk, used in mediasoup and Jitsi's OCTO (2018, refined by 2022), though it requires costly geodistributed infrastructure favoring large operators. Engineers comparing SFU architectures for their calling product can follow this kind of deep technical analysis on daily.dev."}},{"@type":"Question","name":"Is Matrix's end-to-end encrypted group calling implementation actually a new open standard?","acceptedAnswer":{"@type":"Answer","text":"No, Matrix's media E2EE is based on LiveKit's implementation, which in turn is based on Jitsi's E2EE work dubbed 'JFrame,' originally described in a vendor whitepaper rather than an open standard. This creates a normative dependency on a non-standard implementation despite being presented as an open standard. Developers evaluating E2EE calling protocols can dig into provenance questions like this on daily.dev."}}]}
```

