39 lines
2.1 KiB
Markdown
39 lines
2.1 KiB
Markdown
---
|
|
title: Element Call & MatrixRTC
|
|
description: Audio/Video/Screensharing-Infrastruktur
|
|
published: true
|
|
date: 2026-08-13T22:14:04.560Z
|
|
tags:
|
|
editor: markdown
|
|
dateCreated: 2026-08-13T20:27:21.708Z
|
|
---
|
|
|
|
Anrufe (Audio, Video, Screensharing) laufen über **Element Call** auf Basis von **MatrixRTC** (LiveKit-SFU) — nicht über die alten 1:1-WebRTC-Calls.
|
|
|
|
## Komponenten
|
|
- **matrix-rtc-sfu** (LiveKit) — der Media-Server (SFU). Die WebRTC-Medienports sind als NodePort nach außen offen — das ist Absicht (Media-Relay), kein Fehler in der NetworkPolicy.
|
|
- **matrix-rtc-authorisation-service** — vergibt die Call-Berechtigung, erreichbar unter `mrtc.axion1337.chat`.
|
|
- **coturn** — TURN/STUN-Relay für NAT-Durchgriff (`turn.axion1337.chat`); das Shared Secret wird monatlich per CronJob rotiert.
|
|
|
|
## Bekannter Stolperstein: Call-Widget initialisiert nicht
|
|
Braucht das Call-Widget einen OpenID-Token und schlägt still fehl (Login/Messaging läuft aber), fehlt meist die **`profiles`-Zeile des Kontos in Synapse** (Registrierungs-Default). Betroffen sind v.a. **Alt-Konten**, die vor der MAS/Authentik-Integration entstanden. Diagnose: `open_id_tokens=0`. Fix: die fehlende Default-`profiles`-Zeile ergänzen (Cross-Check gegen ein funktionierendes Konto).
|
|
|
|
Siehe auch [TURN-Server](/betrieb/turn-server).
|
|
|
|
|
|
## Fork-Basis & Änderungen (threadnet-call)
|
|
|
|
**Element Call** läuft als Fork **threadnet-call**, Basis **Element Call `0.19.2`** — nicht
|
|
direkt von `element-hq/element-call`, sondern von **`emmick4/element-call`, Branch `livekit`**
|
|
(bringt den noch nicht upstream gemergten Simulcast-PR
|
|
[element-hq/element-call#3736](https://github.com/element-hq/element-call/pull/3736) mit).
|
|
|
|
**Unsere Änderungen** — autoritativ in `threadnet-call:docs/axion1337-fork.md`:
|
|
- **media_quality-Defaults** angepasst.
|
|
- **VP9-Incident (2026-07-28)** — ⚠️ nicht ohne Browser-Repro erneut versuchen.
|
|
- **npm-Publish** des Embedded-Pakets nach Gitea (`@sorb/threadnet-call-embedded`).
|
|
- **Bewusst keine** server-seitige ML-Rauschunterdrückung.
|
|
- **Produktname im Widget** (`.env.production`): „aXion1337.Chat" statt „Element Call".
|
|
|
|
Porting-Ablauf → [Upgrades](/betrieb/upgrades).
|