Search code examples
javascriptandroidfirewallsinch

What firewall ports do I need to open to allow Sinch and WebRTC to work?


Sinch has been working just great over the internet and various NATed networks. But I've just tried the device behind an enterprise firewall, and suddenly we can't make calls.

More specifically devices can call each other, but the moment onCallEstablished is called (audio streams are connected), the calls drop out. No audio from the remote end is ever heard. It definitely only happens on this particular network.

I'm assuming that this is a firewall issue, but have no idea what ports we need to have opened on this firewall to allow the voice calls?

Edit: Whilst experiencing this issue, I was receiving errors in the Chrome console like Warning, no proxy configured (1) RTCPeerConnection and Warning, no proxy configured (2) RTCPeerConnection, hope this helps.


Solution

    1. You need to have DNS (usually not a problem)
    2. You need to be able to use http/https towards our API's (usually not a problem either)
    3. You need to send media (RTP i.e UDP) to other side. This can be problematic sometime, especially if you are behind a enterprise firewall. For instance we use STUN (port 3478), so that also needs to be open. If we can't use a p2p connection for media, we will try to relay this via a media proxy and on the media proxy you can get a port between 10000 - 50000 to be used for that relay, so I'm afraid you need to allow this ports for outbound traffic.