Section 3: ICE Transport #101

aboba opened this Issue Jun 20, 2014 · 3 comments


None yet

2 participants

aboba commented Jun 20, 2014

From Shijun Sun:

Section 3.3. IceTransport. restart(). If this is to reset to gathering, the spec should be clear on the impact to “state”, local candidate list, etc. And, should we allow any change to the getherPolicy when restart()? And, from another perspective, can we recommend just constructing a new IceTransport as in Section 3.1, i.e. removing “restart()” from the interface?

Section 3.3. IceTransport. The icelistener should not be optional. We can’t have an empty constructor to create the iceTransport.

If gatherpolicy is not valid, gather() will throw invalid access exception.

Call gather() during gathering, throw invalid access exception.

Call gather() after gather-complete. Should UA invalidate all the local candidates reported already? Propose to throw invalid access exception unless the stop() is called explicitly.

Call start() with invalid params will throw invalid access exception

IceTransport. When “error” should be fired? What we’d like to propose: If the transport is closed without either party calling stop(), the UA should fire an error event.

aboba commented Jun 27, 2014

Since there is no way to set the RTCIceListener after construction, I would agree that the RTCIceLIstener cannot be optional in the constructor. Should an InvalidParameter exception be thrown if invalid parameters are passed? Other suggestions seem reasonable.


RTCIceListener IS optional BUT you have to pass in RTCIceOptions in that case.


"onerror" is for things like TURN credentials are invalid? But that should be on the RTCIceListener not the RTCIceTransport. Not sure what other "onerror" s can happen...

@aboba aboba closed this Jun 28, 2014
@robin-raymond robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Jul 16, 2014
Robin Raymond Added section on WebRTC 1.0 compatibility issues, responding to Issue #…

Added Identity support, as described in Issue #78
Reworked getStats method, as described in Issue #85
Removed ICE restart method described in Issue #93
Addressed CNAME and synchronization context issues described in Issue #94
Fixed WebIDL issues noted in Issue #97
Addressed NITs described in Issue #99
DTLS transport issues fixed as described in Issue #100
ICE transport issues fixed as described in Issue #101
ICE transport controller fixes made as described in Issue #102
Sender and Receiver object fixes made as described in Issue #103
Fixed RTCRtpEncodingParameter default issues described in Issue #104
Fixed 'Big Picture' issues descibed in Issue #105
Fixed RTCRtpParameter default issues described in Issue #106
Added a multi-stream capability, as noted in Issue #108
Removed quality scalability capabilities and parameters, as described in Issue #109
Added scalability examples as requested in Issue #110
Addressed WebRTC 1.0 Data Channel compatibility issue described in Issue #111
Removed header extensions from RTCRtpCodecParameters as described in Issue #113
Addressed RTP/RTCP non-mux issues with IdP as described in Issue #114
Added getParameter methods to RTCRtpSender and RTCRtpReceiver objects, as described in Issue #116
Added layering diagrams as requested in Issue #117
Added a typedef for payload type, as described in Issue #118
Moved onerror from the RTCIceTransport object to the RTCIceListener object as described in Issue #121
Added explanation of Voice Activity Detection (VAD), responding to Issue #129
Clarified the meaning of maxTemporalLayers and maxSpatialLayers, as noted in Issue #130
Added RFC 6051 to the list of header extensions and removed RFC 5450, as noted in Issue #131
Addressed ICE terminology issues, as described in Issue #132
Separated references into Normative and Informative, as noted in Issue #133
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment