RTCIceTransport cannot go to "completed" state #191

robin-raymond opened this Issue Apr 18, 2015 · 2 comments


None yet

2 participants


We have no way to tell an IceTransport the remote gather will not generate any more candidates so it's not possible for an IceTransport to go to the "completed" state. While an IceTransport's "completed" state could mean "there are no better candidate pairs available at this time unless more are remotely trickled", it's redefining the purpose of the traditional IceTransport "completed" state.

@robin-raymond robin-raymond added the 1.1 label Apr 18, 2015

Correction, there is an RTCIceCandidateComplete dictionary. But the exact conditions and functioning of the candidate are not clear. We need more text around it's usage.


On the RTCIceGatherer.onlocalcandidate, we should include:

When the final candidate is gathered, an RTCIceGatherer.onlocalcandidate event occurs with a RTCIceCandidateComplete emitted.

On the RTCIceTransport.addRemoteCandidate, we should include:

When the remote RTCIceGatherer emits its final candidate, the local RTCIceTransport.addRemoteCandidate should be called with an RTCIceCandidateComplete dictionary being passed in so that the local RTCIceTransport can know there are no more remote candidates expected and the local RTCIceTransport can therefor go enter into the completed state.

@aboba aboba closed this Apr 26, 2015
@robin-raymond robin-raymond pushed a commit that referenced this issue May 7, 2015
Robin Raymond - sender.setTrack() updated to return a Promise, as noted in:

- Clarified handling of incoming connectivity checks prior to calling iceTransport.start(), as noted in:

- Clarified handling of incoming DTLS packets, as noted in:

- Added RTCIceGatherer as an optional argument to the RTCIceTransport constructor, as noted in:

- Clarified handling of contradictory RTP/RTCP multiplexing settings, as noted in:

- Clarified error handling relating to RTCIceTransport, RTCDtlsTransport and RTCIceGatherer objects in the "closed" state, as noted in:

- Added component method and createAssociatedGatherer() method to the RTCIceGatherer object, as noted in:

- Added close() method to the RTCIceGatherer object as noted in:

- Clarified behavior of TCP candidate types, as noted in:

- Clarified behavior of iceGatherer.onlocalcandidate, as noted in:

- Updated terminology in Section 1.1 as noted in:

- Updated RTCDtlsTransportState definitions, as noted in:

- Updated RTCIceTransportState definitions, as noted in:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment