Skip to content

Conversation

@danxuliu
Copy link
Member

@danxuliu danxuliu commented Feb 5, 2021

Until now no scheme could be configured to connect to the TURN server, so turn: was used by default. The turns: scheme defines a connection over TLS, which in some cases is needed by clients behind a very restrictive firewall that only allows TLS connections. However, encrypted TURN connections also require a certificate to be set in the TURN server, which may not be always available. Moreover, encrypted TURN connections also require a domain. Due to all this now it is possible to set the TURN server scheme to turn:, turns: or both, so the administrator can set the best suiting one.

Already configured TURN servers that have no scheme configured yet defaults to turn: to keep the same behaviour as before. New configured TURN servers also default to turn:, as turns: has some additional restrictions as explained above.

Besides that a literal stun: was added in front of the STUN server input to clarify that the scheme is fixed and does not need to be set in that case.

Follow up pull request:

  • Add documentation about TURNS

@danxuliu danxuliu added this to the 💖 Next Major (22) milestone Feb 5, 2021
@danxuliu danxuliu requested a review from Ivansss February 5, 2021 17:11
@danxuliu
Copy link
Member Author

danxuliu commented Feb 5, 2021

/backport to stable21

Until now no scheme could be configured to connect to the TURN server
and "turn:" was used by default. The "turns:" scheme defines a
connection over TLS, which in some cases is needed by clients behind a
very restrictive firewall that only allows TLS connections. However,
encrypted TURN connections also require a certificate to be set in the
TURN server, which may not be always available. Moreover, encrypted TURN
connections also require a domain. Due to all this now it is possible to
set the TURN server scheme to "turn:", "turns:" or both, so the
administrator can set the best suiting one.

Already configured TURN servers that have no scheme configured yet
defaults to "turn:" to keep the same behaviour as before. New configured
TURN servers also default to "turn:", as "turns:" has some additional
requirements as explained above.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
"turns:" scheme must be used with a domain. Moreover, in the case of
Firefox using "turns:" with an IP address not only prevents connecting
with the TURN server even if "turn:" is also specified, it fully breaks
the gathering of all candidates.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
The STUN scheme can not be specified (browsers do not support "stuns:"),
but a literal text was added to clarify that the scheme does not need to
be included in the input field.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
@danxuliu danxuliu force-pushed the add-support-for-turns-scheme branch from 78e9493 to 2d066b5 Compare February 5, 2021 21:54
@danxuliu
Copy link
Member Author

danxuliu commented Feb 5, 2021

Integration test failures are unrelated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TURN-TLS support

3 participants