Skip to content

Relative Drafts And Usages

Michiel De Backker edited this page Mar 7, 2019 · 22 revisions

WebRTC Stack

These are the protocols that make up the full WebRTC stack. The listed Sub-protocols are mentioned in the WebRTC spec.

WebRTC API

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

SDP

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

Bundle

Spec: draft-ietf-mmusic-sdp-bundle-negotiation

ORTC API

API spec: http://draft.ortc.org/

Data Channels

Spec: draft-ietf-rtcweb-data-channel

Usage: Non-media data transport using WebRTC.

Sub-specs:

ICE

Spec: RFC8445

Usage: Used to establish a p2p connection by gathering network addresses using STUN and TURN and trying different combinations.

Sub-specs:

STUN

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:

TURN

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:

SRTP

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

DTLS

Spec: RFC6347

Usage: Datagram Transport Layer Security

Sub-specs:

SCTP

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

QUIC

API: webrtc-quic

Usage: QUIC API for Peer-to-peer Connections

Sub-specs: