[EPIC]: 1:1 voice calls

Offen
#33 0 Kommentare 0 Reaktionen 3 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@Golden-Eagle07 arbeitet bereits daran.

Seit 02.7.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

area: mobile area: server difficulty: hard enhancement

Goal

One-to-one voice calls (video later) using WebRTC, with signalling over the existing WebSocket.

Plan

  1. Signalling messages over the WebSocket: offer, answer, ICE candidates, ring, hang up.
  2. A TURN relay (coturn) so calls work behind mobile-carrier NAT, with short-lived credentials from the server.
  3. The app: call screen (mute, speaker, timer, hang up), plus ringing and missed-call states, using flutter_webrtc.

Each step is a sub-issue below. Please discuss your approach on the sub-issue before starting. Calls are hard to get right on mobile networks.

Constraints

  • F-Droid: no Firebase/FCM. Incoming calls while the app is closed need a FOSS approach (e.g. UnifiedPush). That's a separate problem; start with calls while the app is open.
  • Media is encrypted by WebRTC (DTLS-SRTP). Signalling should not leak more than message metadata already does.
Vorherrschende Sprache
Dart
Sterne
9
Forks
5
Ø Merge
49 Min.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandLineCoding/Elephant

Alle Issues in CommandLineCoding/Elephant

Ähnliche Issues

Weitere Issues zu Dart

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.