[EPIC]: 1:1 voice calls

オープン
#33 コメント 0 件 リアクション 0 件 担当者 3 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@Golden-Eagle07 がすでに取り組んでいます。

2026年7月2日 から。

評価

この issue はまだ評価されていません。

説明

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.
主要言語
Dart
スター
9
フォーク
5
平均マージ
49分
マージ済み PR(30日)
34

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CommandLineCoding/Elephant のほかの issue

CommandLineCoding/Elephant の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。