DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL
DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27 th January 2014
DESIRED OUTCOME • Decide whether we will use the data channel mechanism defined in RTCWEB for CLUE • Decide how/what/where to document the data channel usage for CLUE
OUT OF SCOPE • Impact on CLUE session when data channel is removed (with or without explicit signalling) – Yes, we DO need to specify that also – later. • Usage of draft-ejzak-dispatch-webrtc-datachannel-sdpneg-00 – Does NOT affect the content in this presentation • We first need to agree on the basics • Not an alternative, but an extension, to the rtcweb data channel – Provides data channel usage information in SDP
PROTOCOL STACK RTCWEB DATA CHANNEL PROTOCOL (draft-ietf-rtcweb-dataprotocol) CLUE PROTOCOL (Insert reference) RTCWEB DATA CHANNEL (draft-ietf-rtcweb-data-channel) SCTP/DTLS/UDP(ICE) (draft-ietf-tsvwg-sctp-dtls-encaps)
RTCWEB DATA CHANNEL BIDIRECTIONAL RTCWEB DATA CHANNEL UNIDIRECTIONAL SCTP STREAM #1 UNIDIRECTIONAL SCTP STREAM #2
RTCWEB INTEROPERABILITY RTCWEB DATA CHANNEL PROTOCOL (draft-ietf-rtcweb-dataprotocol) CLUE PROTOCOL (Insert reference) RTCWEB DATA CHANNEL (draft-ietf-rtcweb-data-channel) SCTP/DTLS/UDP(ICE) (draft-ietf-tsvwg-sctp-dtls-encaps)
RTCWED DATA CHANNEL PROTOCOL: DATA_CHANNEL_OPEN 0 1 2 3 0123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Msg Type | Ch Type | Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reliability Parameter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label Length | Protocol Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Label | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Protocol | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DATA_CHANNEL_OPEN: CLUE USAGE Header Field CLUE Usage Value Message Type 0 x 03 (Not CLUE specific) Channel Type DATA_CHANNEL_RELIABLE Priority Implementation specific Reliability Parameter N/A Label Length 0 Protocol Length 4 Label <Empty string> Protocol ”CLUE”
RTCWED DATA CHANNEL PROTOCOL: DATA_CHANNEL_ACK 0 1 2 3 0123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Msg Type | +-+-+-+-
DATA_CHANNEL_ACK: CLUE USAGE Header Field CLUE Usage Value Message Type 0 x 02 (Not CLUE specific)
RTCWEB DATA CHANNEL FOR CLUE ESTABLISHMENT • NEGOTIATE/ESTABLISH SCTP CONNECTION • OPEN RTCWEB DATA CHANNEL • INITIATE CLUE MESSAGE EXCHANGE
NEGOTIATE/ESTABLISH DTLS/SCTP CONNECTION SDP OFFER: m=application 54111 DTLS/SCTP 1000 c=IN IP 4 192. 0. 2. 2 a=sctpmap: 1000 webrtc-datachannel 1 a=setup: actpass a=connection: new SDP ANSWER: m=application 64222 DTLS/SCTP 2000 c=IN IP 4 192. 0. 8. 8 a=sctpmap: 2000 webrtc-datachannel 1 a=setup: passive a=connection: new The SDP sctpmap attribute is defined in draft-ietf-mmusic-sctp-sdp.
OPEN RTCWEB DATA CHANNEL (rtcweb data channel protocol) SCTP payload protocol identifier (PPID): 50 (Web. RTC Control) DATA_CHANNEL_OPEN DATA_CHANNEL_ACK It should not matter in which order the CLUE entities send the DATA_CHANNEL_OPEN messages, but we may want to specify some rules.
CLUE ON RTCWEB DATA CHANNEL (CLUE protocol) SCTP payload protocol identifier (PPID): 51 (DOMString Last) CLUE ADVERTISEMENT/CONFIGURE etc etc The CLUE protocol details are outside the scope of this presentation.
REMOVAL OF DTLS CONNECTION SDP OFFER: m=application 54111 DTLS/SCTP 0 c=IN IP 4 192. 0. 2. 2 SDP ANSWER: m=application 64222 DTLS/SCTP 0 c=IN IP 4 192. 0. 8. 8
REMOVAL OF INDIVIDUAL SCTP ASSOCIATIONS AND USAGES PENDING (e-mail sent to MMUSIC for clarification)
THE END THANK YOU FOR LISTENING!
- Slides: 17