为WebRTC设置TURN服务器

时间:2020-03-23 17:09:11

标签: webrtc rfc5766turnserver

我正在开发一个后端,该后端为PWA客户端提供REST API。 PWA应用程序具有用于实时文本消息收发和语音呼叫的功能。在过去的两天里,我一直在研究WebRTC,似乎现在正是我所需要的。

经过研究,我缩小了以下交付范围,以使实时文本消息收发和语音呼叫服务正常工作:

  1. 实施Signal服务器以启动对等方发现和握手。从网络上的示例中,我发现我需要一个信令协议(因为WebRTC规范未定义协议)。我的研究表明,可以使用Websockets并通过实现一些基本信号来开发一个简单的协议,如here所示。
  2. 实施STUN / TURN服务器。现在,我知道它们是不同的东西,并且不能互换。到目前为止,我的理解是STUN可以涵盖大多数用例,但防火墙和NAT背后的客户端除外。我看过一个node-turn的nodejs程序包,但是它看起来并不像是一个主动维护的程序包。我发现的其他选项还有coturn,它看起来很可靠,但不支持我的部署环境(请参见下文)。

我非常有信心,我可以通过网络中的示例以及一些反复试验轻松地实现(1)。对于(2),我不确定哪种方法最合逻辑。复杂性的部分原因是因为我将API作为Cloud Function的HTTP触发器运行。通过在SSH上进行安装,这使使用coturn的选项变为空。我的研究还表明,从头开始实施TURN服务器将是一项“艰巨的任务”(但似乎我没有其他选择)。

任何对使用TURN服务器实现入门的替代方法或资源的建议将不胜感激。另外,如果我在这里遗漏了任何事实,请立即纠正我。感谢大家的时间和帮助。

0 个答案:

没有答案