Use TURN server for WebRTC broadcast

roland.buerkel

New Member
We are using WebCallServer5 for WebRTC broadcasting (Firefox to Firefox)
It all works pretty good. But if one peer is behind a strict firewall/NAT/proxy (big company), then he can not connect to the WebCallServer stream.
The streamStatusListener reports the status "PLAYING", but the video window remains black.
After some seconds the following error is reported in the browser console: "ICE failed".

I think I have to use a TURN server which supports TCP/443 (e.g. coturn) to come through all firewalls.
Is it possible to configure a TURN server in the WebCallServer config files?

Thank you.
 

Max

Administrator
Staff member
WCS does not have a built-in turn server.
In fact it works as a turn server all time. It proxies all streams.
It uses UDP ports for WebRTC traffic. So if the traffic is banned on firewall, WebRTC will not work.

You can try to subscribe on WebRTC stream using a Websocket connection. It works via wss://host:8443 or ws://host:8080.
Therefore if you change websocket port to 443 or 80 (in server.properties), it will be an HTTP/Websocket connection which might be open on the firewall.

Another option is WebRTC to RTMP streaming. We plan to release RTMP support soon. So you will be able to playback WebRTC stream as RTMP over 1935 or other TCP port (i.e. 443).
 
Top