WebRTC:浏览器中的 ICE 失败错误与 Mesibo Video/Audio 聊天

WebRTC: ICE failed error in browser with Mesibo Video/Audio chat

我正在使用 Mesibo Javascript SDK 在 React 和 Django 中开发 video/audio 聊天应用程序。

它在同一网络上本地工作,但是当尝试通过不同网络连接时,Firefox 浏览器给我这个错误

WebRTC: ICE failed, add a TURN server and see about:webrtc for more details.

在 Chrome 中,这个错误没有出现,但 video/audio 聊天仍然无法正常工作,给我

Mesibo_OnCallStatus: 50.

我注意到 Mesibo 使用 stun:stun.l.google.com:19302 作为 STUN 服务器并尝试将其更改为 stun:stun.l.google.com:19305 但没有用。我什至创建了一个 numb.viagenie.ca 帐户来添加一个工作了几分钟的 TURN 服务器,然后出现了这个错误

webrtc: ice failed, your turn server appears to be broken.

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 上检查时,chrome 对上述所有 turn/stun 服务器给出 错误 code:701,而 firefox 没有't.

根据 Mesibo 文档的建议,我的网站使用 https 是完全安全的,Rest API 是从 Django 后端调用的。我在 React 中调用 https://api.mesibo.com/mesibo.js 作为 index.html 文件中的脚本标记。我也能够成功获得

Mesibo_OnConnectionStatus=1

并且来电通知也正常。接听电话后,通话状态从 3 变为 5,并在一段时间后出现此 webrtc 错误,但没有任何 video/audio 呈现。

请提出任何建议hint/solution。

要启用 webrtc 进行远程调用,您需要自己的 trun 服务器。

Google不提供免费的trun服务器。

Free Turn 服务器在生产环境中无法正常工作。 Well Fall Free to try Your Luck on 他们。不是所有人都傻

你需要在像 DigitalOcean、AWS 这样的云上创建你自己的。 或者为了 Tetsing 的目的我有一个技巧

解决方案。

  1. 如果您正在做测试

    也许你可以尝试使用他们在这里使用的一些 Google TURN 服务器 https://test.webrtc.org/,我刚刚检查了浏览器控制台,发现了这个:

enter image description here

不确定寿命。但你会明白的。

  1. 对于生产我会建议使用 DigitalOcean 5$ 计划,这是非常芯片。

    然后您使用coturn安装您自己的 TURN 服务器

如果你想你也可以使用 Node-turn 这非常适合节点后端。

还有设置的heroku选项

我不知道有没有 django 或 python 选项。

(提示:尝试在托管服务器上构建 turn 服务器。确保 运行 服务器上的端口已打开)