Transcript
Page 1: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

DATA CHANNEL FOR CLUE

CHRISTER HOLMBERG

CLUE VIRUTAL INTERIM MEETING27th January 2014

Page 2: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th 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

Page 3: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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

Page 4: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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)

Page 5: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

RTCWEB DATA CHANNEL

BIDIRECTIONAL RTCWEB DATA CHANNEL

UNIDIRECTIONALSCTP STREAM #1

UNIDIRECTIONALSCTP STREAM #2

Page 6: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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)

Page 7: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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 | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Page 8: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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”

Page 9: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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 | +-+-+-+-+-+-+-+-

Page 10: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

DATA_CHANNEL_ACK: CLUE USAGE

Header Field CLUE Usage Value

Message Type 0x02 (Not CLUE specific)

Page 11: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

RTCWEB DATA CHANNEL FOR CLUE ESTABLISHMENT

• NEGOTIATE/ESTABLISH SCTP CONNECTION

• OPEN RTCWEB DATA CHANNEL

• INITIATE CLUE MESSAGE EXCHANGE

Page 12: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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.

Page 13: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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.

Page 14: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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.

Page 15: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

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

Page 16: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

REMOVAL OF INDIVIDUAL SCTP ASSOCIATIONS AND USAGES

PENDING(e-mail sent to MMUSIC for clarification)

Page 17: DATA CHANNEL FOR CLUE CHRISTER HOLMBERG CLUE VIRUTAL INTERIM MEETING 27th January 2014

THE END

THANK YOU FOR LISTENING!