New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TCP a:setup attribute for transport #190

Closed
robin-raymond opened this Issue Apr 17, 2015 · 4 comments

Comments

Projects
None yet
3 participants
@robin-raymond
Copy link
Contributor

robin-raymond commented Apr 17, 2015

We do have a way to advertise "so", "active" and "passive" TCP candidates but we have no way to tell a transport to behave in "active", "passive" or "actpass" modes of operation.

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

@robin-raymond

This comment has been minimized.

@pthatcherg

This comment has been minimized.

Copy link

pthatcherg commented Apr 17, 2015

I think this would make sense:

Browsers gather active TCP candidates and only active TCP candidates. Servers and other endpoints can gather active or passive candidates.

@aboba

This comment has been minimized.

Copy link
Contributor

aboba commented Apr 17, 2015

RFC 6544 Section 4.5 says:

If the default candidate is TCP-based, the agent MUST include the
a=setup and a=connection attributes from RFC 4145 [RFC4145],
following the procedures defined there as if ICE were not in use. In
particular, if an agent is the answerer, the a=setup attribute MUST
meet the constraints in RFC 4145 based on the value in the offer....

In the case of DTLS-SRTP [RFC5764], the
directionality attributes (a=setup) are utilized strictly to
determine the direction of the DTLS handshake. Directionality of the
TCP connection establishment is determined by the ICE attributes and
procedures defined here.

[BA] I believe that the implication is that in WebRTC (where ICE is always used) a:=setup is only for DTLS-SRTP.

@aboba

This comment has been minimized.

Copy link
Contributor

aboba commented Apr 19, 2015

Add the following to Section 3.11.3:
Browsers MUST gather active TCP candidates and only active TCP candidates. Servers and other endpoints MAY gather active, passive or so candidates.

@aboba aboba added the PR exists label Apr 19, 2015

@aboba aboba closed this Apr 26, 2015

robin-raymond pushed a commit that referenced this issue May 7, 2015

Robin Raymond
- sender.setTrack() updated to return a Promise, as noted in:
#148

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

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

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

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

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

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

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

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

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

- Updated terminology in Section 1.1 as noted in:
#193

- Updated RTCDtlsTransportState definitions, as noted in:
#194

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