NIP-AC: P2P Voice and Video Calls
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:
- NIP-AC PR #2301 - P2P Voice and Video Calls over WebRTC
Erwähnt in:
Siehe auch: