DATA CHANNEL FOR CLUE
CHRISTER HOLMBERG
CLUE VIRUTAL INTERIM MEETING27th 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-data-channel-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
CLUE PROTOCOL(Insert reference)
RTCWEB DATA CHANNEL PROTOCOL
(draft-ietf-rtcweb-data-protocol)
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
UNIDIRECTIONALSCTP STREAM #1
UNIDIRECTIONALSCTP STREAM #2
RTCWEB INTEROPERABILITY
CLUE PROTOCOL(Insert reference)
RTCWEB DATA CHANNEL PROTOCOL
(draft-ietf-rtcweb-data-protocol)
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 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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 0x03 (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 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Msg Type | +-+-+-+-+-+-+-+-
DATA_CHANNEL_ACK: CLUE USAGE
Header Field CLUE Usage Value
Message Type 0x02 (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 IP4 192.0.2.2 a=sctpmap:1000 webrtc-datachannel 1 a=setup:actpass a=connection:new
SDP ANSWER:
m=application 64222 DTLS/SCTP 2000c=IN IP4 192.0.8.8a=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 (WebRTC Control)
DATA_CHANNEL_OPEN
DATA_CHANNEL_ACK
DATA_CHANNEL_OPEN
DATA_CHANNEL_ACK
It should not matter in which order the CLUE entities sendthe DATA_CHANNEL_OPEN messages, but we may want tospecify some rules.
CLUE ON RTCWEB DATA CHANNEL(CLUE protocol)
SCTP payload protocol identifier (PPID): 51 (DOMString Last)
CLUE ADVERTISEMENT/CONFIGURE
CLUE ADVERTISEMENT/CONFIGURE
etc etc etc
The CLUE protocol details are outside the scope of thispresentation.
REMOVAL OF DTLS CONNECTIONSDP OFFER:
m=application 54111 DTLS/SCTP 0 c=IN IP4 192.0.2.2
SDP ANSWER:
m=application 64222 DTLS/SCTP 0c=IN IP4 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!