Summary
WARP is an acronym (coined by @juberti) that stands for "WebRTC Abridged Roundtrip Protocol" which cuts down the amount of round-trip involved in establishing a WebRTC connection from 6 to 2.
IETF drafts:
The pion implementation spans multiple repos and PRs which are tracked here. One part is SNAP which skips two round trips in opening the datachannel:
The second (and more complicated) part is SPED, embedding the DTLS handshake in the STUN/ICE connection establishment. This is going to span multiple PRs in several repos:
Last but not least
🐻 with me, this is going to be a bit of a mess
Summary
WARP is an acronym (coined by @juberti) that stands for "WebRTC Abridged Roundtrip Protocol" which cuts down the amount of round-trip involved in establishing a WebRTC connection from 6 to 2.
IETF drafts:
The pion implementation spans multiple repos and PRs which are tracked here. One part is SNAP which skips two round trips in opening the datachannel:
SCTP SNAP implementation Implement SCTP Negotiation Acceleration Protocol (SNAP) sctp#449The second (and more complicated) part is SPED, embedding the DTLS handshake in the STUN/ICE connection establishment. This is going to span multiple PRs in several repos:
STUN changes Add STUN attributes for DTLS-in-STUN (SPED) stun#260ICE changes to read and write the attributes Add DTLS-in-STUN (SPED) attributes ice#861ICE changes to make the API nonblocking so that DTLS can start at the same time as DTLS Expose asynchronous API for connect ice#862WebRTC changes that allow handling non-actpass offers so that the client (i.e. a browser) can send the DTLS client hello with the first outgoing STUN packets Implement support for remote offers that are not actpass #3325Last but not least
A demo for testing all this WARP demo #3326🐻 with me, this is going to be a bit of a mess