Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nickdesaulniers/node-rtc-peer-connection
[BROKEN/UNMAINTAINED] RTCPeerConnection for Node.js
https://github.com/nickdesaulniers/node-rtc-peer-connection
Last synced: 9 days ago
JSON representation
[BROKEN/UNMAINTAINED] RTCPeerConnection for Node.js
- Host: GitHub
- URL: https://github.com/nickdesaulniers/node-rtc-peer-connection
- Owner: nickdesaulniers
- License: other
- Archived: true
- Created: 2015-12-02T23:00:27.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-03-16T15:26:59.000Z (over 8 years ago)
- Last Synced: 2024-08-01T17:33:18.986Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 99.6 KB
- Stars: 153
- Watchers: 14
- Forks: 17
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-peer-to-peer - node-rtc-peer-connection
- awesome-peer-to-peer - node-rtc-peer-connection
README
# 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](https://twitter.com/LostOracle/status/672532399138324480).Not RFC compliant, can't receive calls, doesn't work with other browsers
(haven't tried).- [ ] ICE
- [x] SDP
- [ ] SIP (no plans to implement)
- [ ] ICE Lite (no plans to implement)
- [ ] ICE Full
- [x] HOST Candidates
- [ ] ICE Half Trickle (no plans to implement)
- [x] ICE Full Trickle
- [x] SRFLX Candidates (STUN)
- [ ] RELAYED Candidates (TURN)
- [ ] PRFLX Candidates
- [ ] DTLS
- [ ] SCTP
- [ ] RTCPeerConnection
- [x] 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
* [RFC 3264 - SDP Offer/Answer](https://tools.ietf.org/html/rfc3264)
* [RFC 4566 - SDP (Session Description Protocol)](https://tools.ietf.org/html/rfc4566)
* [RFC 4572 - SDP Fingerprint](https://tools.ietf.org/html/rfc4572)
* [RFC 5245 - ICE (Interactive Connectivity Establishment)](https://tools.ietf.org/html/rfc5245)
* [RFC 5389 - STUN (Session Traversal Utilities for NAT)](https://tools.ietf.org/html/rfc5389)
* [RFC 5766 - TURN (Traversal Using Relays around NAT)](https://tools.ietf.org/html/rfc5766)
* [RFC 6347 - DTLS (Datagram Transport Layer Security)](https://tools.ietf.org/html/rfc6347)
* [RFC 7064 - STUN URI Scheme](https://tools.ietf.org/html/rfc7064)## IETF Drafts
Prefer these to specs when applicable.
* [DRAFT ICE-BIS - ICE (Interactive Connectivity Establishment)](https://tools.ietf.org/html/draft-ietf-ice-rfc5245bis-00)
* [DRAFT ICE-Trickle - Incremental Provisioning for ICE](https://tools.ietf.org/html/draft-ietf-ice-trickle-01)
* [DRAFT ICE-SDP-SIP - ICE w/ SDP & SIP](https://tools.ietf.org/html/draft-ietf-mmusic-ice-sip-sdp-07)
* [DRAFT SCTP-SDP - SCTP based media transport in SDP](https://tools.ietf.org/html/draft-ietf-mmusic-sctp-sdp-15)
* [DRAFT DCEP - WebRTC DCEP (Data Channel Establishment Protocol)](https://tools.ietf.org/html/draft-ietf-rtcweb-data-protocol-09)## W3C Specs
* [WebRTC](https://w3c.github.io/webrtc-pc/)
* [JSEP (Javascript Session Establishment Protocol)](https://rtcweb-wg.github.io/jsep/)## Useful reads
* [PeerConnection.js](https://dxr.mozilla.org/mozilla-central/source/dom/media/PeerConnection.js)
* [OpenTok.js](https://dxr.mozilla.org/mozilla-central/source/browser/extensions/loop/content/shared/vendor/sdk.js)