1

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

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

WebRTC:ICE 失败,添加 TURN 服务器并查看 about:webrtc 了解更多详情。

在 Chrome 中,此错误不会出现,但视频/音频聊天仍然无法正常工作并给了我

Mesibo_OnCallStatus:50。

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

webrtc:ice 失败,你的轮到服务器好像坏了。

当在https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/上检查时,chrome 为上述所有 turn/stun 服务器提供错误代码:701,而 firefox 则没有。

正如 Mesibo Documentation 所建议的,我的网站使用 https 是完全安全的,并且从 Django 后端调用了 Rest API。我在响应中调用https://api.mesibo.com/mesibo.js作为 index.html 文件中的脚本标记。我也能够成功获得

Mesibo_OnConnectionStatus=1

并且来电通知也在工作。接听电话后,通话状态从 3 变为 5,并在一段时间没有呈现任何视频/音频后给出此 webrtc 错误。

请提出任何提示/解决方案。

4

1 回答 1

0

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

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

Free Turn 服务器在生产中无法正常工作。好吧,你可以试试运气。不是所有的都坏了

您需要在 DigitalOcean、AWS 等云上创建自己的。或者为了测试目的,我有一个技巧

解决方案。

  1. 如果你在做测试

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

在此处输入图像描述

不确定LifeTime。但你会明白的。

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

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

如果您愿意,您还可以使用 非常适合节点后端的Node-turn 。

还有设置的heroku选项

我不知道是否有任何 django 或 python 选项。

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

于 2021-01-20T10:10:27.483 回答