Issue 216: IceTransportState after consent failure

The May Editor's draft contains the following in Section 3.7:

3.7 enum RTCIceTransportState

RTCIceTransportState represents the current state of the ICE transport.

enum RTCIceTransportState {
    "new<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.new>",
    "checking<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.checking>",
    "connected<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.connected>",
    "completed<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.completed>",
    "disconnected<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.disconnected>",
    "closed<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransportState.closed>"
};

Enumeration description
new

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> object is waiting for remote candidates to be supplied. In this state the object can respond to incoming connectivity checks.


checking

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> has received at least one remote candidate, and a local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was not added as the last candidate. In this state the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> is checking candidate pairs but has not yet found a successful candidate pair, or liveness checks have failed (such as those in [CONSENT<http://ortc.org/wp-content/uploads/2015/05/ortc.html#bib-CONSENT>]) on a previously successful candidate pair.


connected

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> has received a response to an outgoing connectivity check, or has received incoming DTLS/media after a successful response to an incoming connectivity check, but is still checking other candidate pairs to see if there is a better connection. In this state outgoing media is permitted.


completed

A local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was added as the last candidate to the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> and all appropriate candidate pairs have been tested and at least one functioning candidate pair has been found.


disconnected

A local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was added as the last candidate to the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/05/ortc.html#idl-def-RTCIceTransport> and all appropriate candidate pairs have been tested and failed.


closed

The ICE Transport has shut down and is no longer responding to STUN requests.


The non-normative ICE state transitions are:

[The non-normative ICE State Transition Diagram]

As has been noted, this omits the "failed" state as well as the impact of consent failure on states other than "checking".  Proposal is to replace with the following:

3.6 enum RTCIceTransportState

RTCIceTransportState represents the current state of the ICE transport.

enum RTCIceTransportState {
    "new<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.new>",
    "checking<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.checking>",
    "connected<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.connected>",
    "completed<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.completed>",
    "disconnected<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.disconnected>",
    "failed<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.failed>",
    "closed<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransportState.closed>"
};

Enumeration description
new

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> object is waiting for remote candidates to be supplied. In this state the object can respond to incoming connectivity checks.


checking

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> has received at least one remote candidate, and a local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was not added as the last candidate. In this state the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> is checking candidate pairs but has not yet found a successful candidate pair, or liveness checks have failed (such as those in [CONSENT<http://ortc.org/wp-content/uploads/2015/06/ortc.html#bib-CONSENT>]) on a previously successful candidate pair.


connected

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> has received a response to an outgoing connectivity check, or has received incoming DTLS/media after a successful response to an incoming connectivity check, but is still checking other candidate pairs to see if there is a better connection. In this state outgoing media is permitted.


completed

A local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was added as the last candidate to the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> and all appropriate candidate pairs have been tested and at least one functioning candidate pair has been found.


disconnected

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> has received at least one local and remote candidate, and a local and remote RTCIceCandidateComplete<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceCandidateComplete> dictionary was not added as the last candidate, but all appropriate candidate pairs thus far have been tested and failed (or consent checks [CONSENT<http://ortc.org/wp-content/uploads/2015/06/ortc.html#bib-CONSENT>], once successful, have now failed). Other candidate pairs may become available for testing as new candidates are trickled, and therefore the "failed" state has not been reached.


failed

A local and remote RTCIceCandidateComplete dictionary was added as the last candidate to the RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> and all appropriate candidate pairs have been tested and failed.


closed

The RTCIceTransport<http://ortc.org/wp-content/uploads/2015/06/ortc.html#idl-def-RTCIceTransport> has shut down and is no longer responding to STUN requests.


The non-normative ICE state transitions are:

[The non-normative ICE State Transition Diagram]

Received on Monday, 22 June 2015 21:26:46 UTC