NIP-AC schlägt ein Protokoll für Peer-to-Peer-Sprach- und Videoanrufe über Nostr vor. Die Spezifikation nutzt Nostr-Events für das Call-Signaling, also Offers, Answers und ICE Candidates, und WebRTC für den eigentlichen Medientransport. So bleibt das Call-Setup dezentral, während für Audio und Video Standard-Browser-APIs verwendet werden.

Funktionsweise

Ein Caller veröffentlicht ein Call-Offer-Event, das ein WebRTC Session Description Protocol, SDP, Offer enthält und mit dem pubkey des Callee getaggt ist. Der Callee antwortet mit einem SDP-Answer-Event. Beide Seiten tauschen ICE-Candidate-Events aus, um den Netzwerkpfad auszuhandeln. Sobald die WebRTC-Verbindung steht, fließen die Medien direkt zwischen den Peers, ohne Relay-Beteiligung.

Die Signaling-Events sind verschlüsselt, sodass Relays nicht beobachten können, wer wen anruft. Die Call-State-Machine behandelt Übergänge für Offer, Answer, Reject, Busy und Hangup.

Implementierungen

  • Amethyst baut NIP-AC-Unterstützung mit einer Testsuite für die Call-State-Machine und Handling für veraltete Call Offers.

Primärquellen:

Erwähnt in:

Siehe auch: