WebRTC communication only using HTTP port 80?

4.4k Views Asked by At
  • When peers are behind different NAT, we use STUN to get things going
  • When direct peer-to-peer fails, we turn towards TURN server,
  • and when all the UDP ports are blocked in the system, we connect to the TURN server with TCP transport
  • but what if all ports except 80 is blocked( peer behind corporate proxy), what then? would the above TURN server still work? or should I get a webrtc gateway and rely upon RTMP as fallback? Any other alternative?

previously, I made a mistake of assuming TCP needs only port 80, but this discussion makes me doubt things.

2

There are 2 best solutions below

0
On BEST ANSWER

It depends how blocked is your network. If there is a Proxy which is checking for HTTP header, TURN (STUN) over TCP wont work. But if flows over port 80 aren't checked by a proxy (e.g. Firewall only), TURN over TCP should work.

If your TURN allows to be reached over TLS on port 443, the encrypted layer should bypass the proxy/firewall. In fact the proxy will think that flows are HTTPS request. But if the proxy is able to "break" the SSL layer (MITM e.g. Burp proxy), it could reject your communications because it wont understand the TURN request as an HTTP one.

0
On

443 should be available also. 80 for signaling, 443 for TURN.