Anrufe
Was ohne Server geht – und was nicht
Abschnitt betitelt „Was ohne Server geht – und was nicht“Es hilft, zwei Dinge zu trennen:
Die Signalisierung – klingeln, annehmen, ablehnen, auflegen – läuft über jeden Transport. Also auch komplett offline über Bluetooth und WLAN-Direct.
Die Medien – Ton und Bild – laufen über native WebRTC-Tracks. Dafür braucht es eine WebRTC-Verbindung.
Im selben WLAN kommt beides ohne Server zustande: Auch der Verbindungs-Handshake läuft über die normalen Transporte, verschlüsselt. Sprach- und Videoanrufe im Heimnetz oder Büro funktionieren damit vollständig serverlos.
Über das Internet braucht die Vermittlung einen Anlaufpunkt, und – wie bei jedem WebRTC-Dienst – hinter striktem Mobilfunk-NAT zusätzlich einen Weiterleitungsserver. Die dabei ausgetauschten Verbindungsdaten sind selbst bereits Ende-zu-Ende-verschlüsselt; es wandern nie Gesprächsinhalte über die Vermittlung.
Qualität
Abschnitt betitelt „Qualität“Videoanrufe laufen im Hochformat bei 30 Bildern pro Sekunde, hardwarebeschleunigt. Die Auflösung handeln beide Seiten gemeinsam aus: Full HD (1080×1920) nur, wenn beide Geräte klar leistungsfähig sind – sonst 720p (720×1280). Der Sender deckelt also auf den schwächeren Partner, damit dieser nicht mehr dekodieren muss, als er schafft.
Dazu kommt ein Bitratendeckel je Stufe und die Freigabe an WebRTC, unter CPU- oder Netzlast Auflösung und Bildrate zu senken. Für flüssiges 1080p sollten etwa 2–4 Mbit/s in beide Richtungen zur Verfügung stehen.
Ehrlich aus der Messung: 720p senkt Bandbreite und Encoder-Eingabe, ist aber kein Allheilmittel gegen die CPU-Last eines Videoanrufs. Auf einem Mittelklassegerät verteilt sich die Last über Encoder, Rendering, Netzwerk, Kamera und Audio – ein solches Gerät bleibt beim Videoanruf an seiner Echtzeitgrenze.
Während des Gesprächs: Kamera wechseln, Kamera ausschalten, eigene Vorschau als kleines Bild im Bild. Sprachanrufe nutzen Opus mit Echo-Unterdrückung und Jitter-Buffer.
Im Chat erscheint jeder Anruf als Eintrag – ausgehend, eingehend, abgelehnt, verpasst, keine Antwort, jeweils für Sprache und Video getrennt.
Der Mikrofonpfad, ehrlich erzählt
Abschnitt betitelt „Der Mikrofonpfad, ehrlich erzählt“Ein interner Feldtest fand hier den einzigen Befund der 0.4x-Reihe mit Privatsphären-Bezug, und er gehört auf diese Seite:
Früher handelten auch reine Daten-Verbindungen Audio mit aus, und die antwortende Seite hängte ihr Mikrofon an jede solche Aushandlung. Ein Gerät konnte dadurch unbeabsichtigt Mikrofonaudio über den – verschlüsselten – Datenkanal an den Kontakt streamen. Zusätzlich blieb die Audiositzung nach dem Auflegen offen.
Kein Dritter bekam etwas davon zu hören; der Ton ging verschlüsselt ausschließlich an den Kontakt. Es war trotzdem eine klare Fehlfunktion.
Behoben ist es so:
- Datenverbindungen handeln überhaupt keine Medien mehr aus.
- Eigene Tonspuren werden nur noch an den Partner des eigenen aktiven Anrufs angehängt, fest gebunden an die Kennung genau dieses Anrufs.
- Die Anrufverbindung wird beim Auflegen vollständig geschlossen.
Nachgemessen auf zwei Geräten: im Gespräch genau eine aktive Sprachsitzung pro Gerät, nach dem Auflegen null – auch nach längerer Wartezeit.
Geisteranrufe
Abschnitt betitelt „Geisteranrufe“Ein zweiter Befund derselben Runde: Annehmen und Ablehnen aus der Benachrichtigung trugen keine Anruf-Kennung. Android liefert Task-Intents aus der Übersicht erneut aus – traf ein solcher alter Intent auf ein gerade klingelndes Angebot, wurde ein Anruf ungefragt angenommen.
Heute sind Annehmen und Ablehnen fest an die Kennung ihres Anrufs gebunden. Alte Intents ohne passende Kennung verpuffen wirkungslos.
Grenzen
Abschnitt betitelt „Grenzen“- Keine Gruppenanrufe.
- Über das Internet ist die Vermittlung ein zentraler Punkt – wer das nicht will, telefoniert im lokalen Netz oder betreibt die Vermittlung selbst.
- Anrufsignale tragen keinen Frischenachweis. Ein Netzbeobachter kann aufgezeichnete Signale erneut zustellen; schlimmstenfalls stört das ein laufendes Gespräch. Der Annehmen-Pfad ist zusätzlich gegen wiederholte Intents abgesichert.
