我需要打开哪些防火墙端口才能让 Sinch 和 WebRTC 工作?

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

Sinch 在 Internet 和各种 NATed 网络上一直表现出色。但是我刚试过企业防火墙后面的设备,突然就不能打电话了。

更具体地说,设备可以互相通话,但是在调用 onCallEstablished 的那一刻(音频流已连接),通话就会中断。听不到来自远端的音频。它绝对只发生在这个特定的网络上。

我假设这是一个防火墙问题,但不知道我们需要在此防火墙上打开哪些端口才能允许语音通话?

编辑:在遇到此问题时,我在 Chrome 控制台中收到 Warning, no proxy configured (1) RTCPeerConnectionWarning, no proxy configured (2) RTCPeerConnection 等错误,希望这对您有所帮助。

  1. 您需要有 DNS(通常不是问题)
  2. 您需要能够对我们的API使用http/https(通常也不是问题)
  3. 您需要将媒体(RTP 即 UDP)发送到另一端。有时这可能会出现问题,尤其是当您在企业防火墙后面时。例如我们使用 STUN(端口 3478),所以它也需要打开。 如果我们不能为媒体使用 p2p 连接,我们将尝试通过媒体代理中继它,在媒体代理上你可以获得 10000 - 50000 之间的端口用于该中继,所以恐怕你需要允许此端口用于出站流量。