-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Relative Drafts And Usages
These are the protocols that make up the full WebRTC stack. The listed Sub-protocols are mentioned in the WebRTC spec.
API spec: https://w3c.github.io/webrtc-pc/
Draft overview: https://tools.ietf.org/wg/rtcweb/
WebRTC overview: https://tools.ietf.org/html/draft-ietf-rtcweb-overview
Transports overview: https://tools.ietf.org/html/draft-ietf-rtcweb-transports
Spec: RFC4566
Usage: Used to negotiate capabilities between peers. The capabilities include but are not limited to: networking details, media tracks, data channel information.
Extensions
- RFC3264 An Offer/Answer Model
- JSEP JavaScript Session Establishment Protocol
- RFC5576 Source-Specific Media Attributes (ssrc, ssrc-group, cname and fmtp)
- RFC4574 Label Attribute
- draft-ietf-mmusic-ice-sip-sdp ICE Candidates
- draft-alvestrand-mmusic-msid Cross Session Stream Identification (msid-semantic and WMS)
- draft-ietf-mmusic-msid Grouping Framework (group and mid)
- RFC8122 TCP/TLS and SDP 'fingerprint' attribute.
Spec: draft-ietf-mmusic-sdp-bundle-negotiation
API spec: http://draft.ortc.org/
Spec: draft-ietf-rtcweb-data-channel
Usage: Non-media data transport using WebRTC.
Sub-specs:
Spec: RFC8445
Usage: Used to establish a p2p connection by gathering network addresses using STUN and TURN and trying different combinations.
Sub-specs:
- IPv6 support
-
RFC6544: ICE-TCP candidates
- RFC4571: RTP Framing
- Trickle ICE
- Dual Stack Fairness
Spec: RFC5389
Usage: Used to identify your external IP address and keep a NAT binding alive until a direct connection to a peer can be established.
Sub-specs:
- RFC7064 URI Scheme for STUN
- IPv6 support (part of the main spec).
- (TLS-over-)TCP
- ALTERNATE-SERVER
Spec: RFC5766
Usage: Used to relay network traffic through the TRUN server. This is required in networks where direct p2p connection cannot be established due to highly restrictive NAT(s).
Sub-specs:
- RFC7065 URI Scheme for TURN
- RFC6156: TURN Extension for IPv6
- (TLS-over-)TCP Sending over TCP or TLS-over-TCP
Spec: RFC3711 The Secure Real-time Transport Protocol
Usage: The real-time transport protocol provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio or video.
Sub-specs:
- RFC5761 Multiplexing RTP data packets and RTP Control Protocol
- RFC7022 Canonical Names (CNAMEs)
- RFC8108 Sending Multiple RTP Streams in a Single RTP Session
- RFC3611 RTCP XR
- RFC5763 Framework for Establishing a SRTP Security Context Using DTLS
Spec: RFC6347
Usage: Datagram Transport Layer Security
Sub-specs:
- RFC5246 TLS 1.2
- DTLS-SRTP Multiplexing
- [RFC7983] Multiplexing Scheme Updates for SRTP Extension for DTLS
Spec: RFC4960
Usage: Stream Control Transmission Protocol
Sub-specs:
- RFC3758: SCTP Partial Reliability Extension
- RFC7496: Additional Policies for Partially Reliable Extension
- RFC6525: SCTP Stream Reconfiguration
- RFC8260: Stream Schedulers and User Message Interleaving for the SCTP
- RFC8261: DTLS Encapsulation of SCTP Packets
- RFC4821: Packetization Layer Path MTU Discovery
- RFC4820: Padding Chunk and Parameter for SCTP
- RFC5061: SCTP Dynamic Address Reconfiguration
- RFC4895: Authenticated Chunks
API: webrtc-quic
Usage: QUIC API for Peer-to-peer Connections
Sub-specs:
Sign up for the Golang Slack and join the #pion channel for discussions and support
If you need commercial support/don't want to use public methods you can contact us at [email protected]