如何将 peerJS 与 twilio STUN/TURN 服务器一起使用

How to use peerJS with twilio STUN/TURN servers

我有一个 webRTC 应用程序,可以在 STUN 服务器的默认 peerJS 设置下正常工作。我现在想从 twilio 切换到 STUN/TURN 服务器。我已经从 twilio 获得了 iceServers 结构(每日更新)。通常,iceServer 结构如下所示:-

var iceArray = [{ "Credential": null, "Username": null, "Url": "stun:global.stun.twilio.com:3478?transport=udp", "Urls": "stun:global.stun.twilio.com:3478?transport=udp" }, ...];

我使用 peerJS 创建了一个 Peer:-

peer = new Peer(myId, { "config" : { "iceServers" : iceArray }});

这似乎并没有尝试使用 Twilio 服务器,查看 chrome://webrtc-internals/ 显示 peerJS 仍在使用默认的 google 服务器。

这里是 Twilio 开发人员布道者。

我认为您在这里拥有一切,也许 iceArray 中的大写除外。 WebRTC 期望 ICE 服务器配置具有小写键。

Twilio 实际上 return 小写格式的 ICE 服务器 (see the example here) 但一些 Twilio 帮助程序库将 API 结果转换为基于语言的惯用格式,有时大写键。如果您从使用 Twilio 帮助程序库发出的 API 请求中获得该结果,您可能需要考虑再次将键转为小写,或者从库中获取原始结果。