I have read several other posts on TURN servers but it still seems unclear to me.
People seem to say that if the signaling server runs on a public IP on a standard port (80/443), TURN servers are not necessary. But I have seen some posts where people are still using TURN servers to solve networking issues.
So I am wondering, in my case, where:
The SERVER is behind a public IP address, https (443) and with all required ports open.
The CLIENT(S) may be behind any kind of NAT configuration (like asymmetric) or firewalls.
Are TURN servers necessary?
If the mediasoup transports are provided with TURN servers, will they always use them, or only use them if necessary?
I can think of many scenarios where even with your media servers being on a public IP a client might fail to connect without a TURN server, one of those scenarios is if the client that is behind a firewall that blocks most ports except the ones necessary for web browsing. While your signaling server might be accessible via the port 443, your media servers will connect to each client on a specific port in a port range you specify, with a TURN you can have the media streams relayed through the port 443.
It is up to you to decide if that is necessary or not.
If the mediasoup transports are provided with TURN servers, will they always use them, or only use them if necessary?
I see, thanks, and is there any way to force the webRTC workers to all work on port 443? Configuring mediasoup in a way that it behaves like a turn from the outside?
You will need turn for certain networks. Theres a couple isp’s in UK and Australia that are very restrictive for connectivity. Only way to get them connected with with turn because of firewall rules.