Sections 2.2 and 2.3: RTCDtlsTransport #38

aboba opened this Issue Mar 16, 2014 · 3 comments


None yet

2 participants

aboba commented Mar 16, 2014

2.2 Operation

A RTCDtlsTransport instance is optionally constructed from an RTCIceTransport object or an RTCIceTransport is automatically constructed.

[BA] Should this be "or an RTCDtlsTransport is automatically constructed"?

2.3 Interface Definition

[Constructor(optional RTCIceTransport transport)]
interface RTCDtlsTransport {
readonly attribute RTCIceTransport transport;
readonly attribute RTCDtlsTransportState state;
RTCDtlsParameters getLocalParameters ();
RTCDtlsParameters? getRemoteParameters ();
void start (RTCDtlsParameters remoteParameters);
void stop ();
attribute EventHandler? onstatechange;

Assuming we have a DTLS transport constructed without an ice transport object as an argument, what happens when an app calls start() on the DTLS transport? Is an RTCIceTransport object really an optional argument to the constructor?


I do think it's an optional argument. Start will have to do nothing until it's attached later to an ICE transport. It's kind of in an "awaiting attachment" state. Once attached, it should continue to perform it's operations. If reattached to another ICE transport it should continue its internal state exactly where it left off. If it becomes detached it should freeze its state "as is" and await attachment again to any ICE transport.


The only concern I have is that you move incompatible DTLS sessions. Alice to Bob becomes attached to an Alice to Charles session. It makes no sense in that context. But Alice to Bob being reassigned to a new Alice to Bob ICE session makes sense.

aboba commented Mar 16, 2014

Looks to me that the RTCIceTransport object shouldn't be readonly to allow an Ice Transport to be subsequently assigned.

@aboba aboba closed this Apr 4, 2014
@robin-raymond robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Apr 12, 2014
Robin Raymond Support for contributing source information added, as described in w3…

Support for control of quality, resolution, framerate and layering added, as described in
RTCRtpListener object added and figure in Section 1 updated, as described in w3c#32
More complete support for RTP and Codec Parameters added, as described in w3c#33
Data Channel transport problem fixed, as described in w3c#34
Various NITs fixed, as described in w3c#37
Section 2.2 and 2.3 issues fixed, as described in w3c#38
Default values of some dictionary attributes added, to partially address the issue described in w3c#39
Support for ICE TCP added, as described in w3c#41
Fixed issue with sequences as attributes, as described in w3c#43
Fix for issues with onlocalcandidate, as described in w3c#44
Initial stab at a Stats API, as requested in w3c#46
Added support for ICE gather policy, as described in w3c#47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment