diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-08-29 03:23:16 +0300 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-09-03 14:21:34 +0300 |
commit | 8fbd2f8361901454ab4ed1fe6f99b4fbafbcd84a (patch) | |
tree | c5f3e194e5a0b7faedfaf8c2856ba9e01e184a9f /docs | |
parent | 01db29962b7f86e4bfbc2bacdeb810c6a15529c0 (diff) |
Add differences between Firefox and Chromium when testing TURN
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/TURN.md | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/TURN.md b/docs/TURN.md index b0a04f1fb..903967731 100644 --- a/docs/TURN.md +++ b/docs/TURN.md @@ -122,6 +122,14 @@ When the TURN server is set in the Talk settings a basic test against the TURN s Now, in that browser, the media sent to and received from other participants in the call should go through the TURN server. If the call works then the TURN server should work. +##### Differences between Firefox and Chromium + +Firefox and Chromium handle `iceTransportPolicy = 'relay'` in slightly different ways. When relay candidates are forced Firefox will use only relay candidates, but Chromium will also take into account peer reflexive candidates that refer to the TURN server. Due to this in the above test, in some specific cases, a connection could be established in Chromium but not in Firefox. + +For example, if a Janus gateway is used too, the TURN server is in the same server as the Janus gateway and both are behind a firewall (not recommended), relay candidates could have the public IP address of the server while peer reflexive candidates could have the internal one. If the firewall drops connections between the public IP address and the public IP address the connection between coTURN and Janus may not be established (but without failing either), which would cause that Firefox establishes a connection with the TURN server, but the TURN server does not send or receive any packet to or from Janus. In Chromium, on the other hand, the connection would work as it would use the internal IP address of the server from the peer reflexive candidate. + +However, in the scenario above Firefox would not be able to establish a connection only if relay candidates are forced. With a standard Firefox configuration it would take into account peer reflexive candidates too and thus it should work without issues. Nevertheless, note that although using `iceTransportPolicy = 'relay'` in the browser console is just a temporary setting there is a persistent setting in Firefox configuration (_about:config_) to force relay candidates, `media.peerconnection.ice.relay_only`. This setting is targeted towards privacy-minded people, so you may want to test the TURN server with Firefox to ensure that it works even with the most restrictive configurations. + ### What else Nextcloud Talk´s WebRTC handling is still mostly based on the one from the [Spreed.ME](https://www.spreed.me/) WebRTC solution. For this reason, all guides about how to configure coTURN for it, applies to Nextcloud Talk too. |