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

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

Embed Size (px)

Citation preview

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!