/node-rtc-peer-connection

[WIP] RTCPeerConnection for Node.js

Primary LanguageJavaScriptOtherNOASSERTION

Node-RTCPeerConnection

An attempt (current WIP) to create a spec compliant implementation of RTCPeerConnection for Node.js entirely in JavaScript with no native C or C++ code. This enables browser-peers to speak to non-browser (Node.js) peers, or non-browser peer to non-browser peer communication over RTCDataChannels.

This includes a FULL ICE implementation that works with SDP (as opposed to SIP, though the two can be decoupled).

Status

Able to initiate a call and connect successfully to Firefox.

Not RFC compliant, can't receive calls, doesn't work with other browsers (haven't tried).

  • ICE
    • SDP
    • SIP (no plans to implement)
    • ICE Lite (no plans to implement)
    • ICE Full
      • HOST Candidates
      • ICE Half Trickle (no plans to implement)
      • ICE Full Trickle
        • SRFLX Candidates (STUN)
        • RELAYED Candidates (TURN)
        • PRFLX Candidates
  • DTLS
  • SCTP
  • RTCPeerConnection
    • Newer Promise API from Spec
    • Older Callback API from Spec (no plans to implement)
  • DataChannel
  • Audio/Video (not planned, but maybe)

The current process involves running node server/server.js, then opening localhost:8080 in Firefox, then running node server/main.js, checking Firefox's about:webrtc logs, reload Firefox tab, and iterating.

IETF RFC list

IETF Drafts

Prefer these to specs when applicable.

W3C Specs

Useful reads