0

这是我在本地的设置:

  • 前端:反应
  • 后端:节点
  • 后端连接到托管 Kurento + Coturn (Ubuntu 16 xenial) 的远程服务器 (Digital Ocean)

场景 1 ✅</h2>

在本地拨打电话时:

  • 来电者可以发起通话
  • 被叫可以连接
  • 两者都收到了“接力”候选人(通过 webrtc 日志确认)

场景 2 ❌</h2>

当我将后端部署到Heroku并将前端部署到Firebase 托管进行测试时:

  • 呼叫者可以发起呼叫(连接处于连接状态)
  • 被调用者无法连接(连接处于“正在连接”状态)
  • 呼叫者收到“中继”候选人但被呼叫者没有(被呼叫者只收到“主机”,“srflx”候选人

场景 3 ❌</h2>

当我尝试将本地前端Heroku 后端连接时

  • 来电者可以发起通话
  • 呼叫者无法连接(连接处于“正在连接”状态)
  • 两人都收到了“接力”候选人(?!)

注意:他们都使用相同的远程 Kurento + Coturn。我一直在阅读 coturn + Kurento 的日志,但还不知道为什么。期待任何评论。谢谢!


更新1:

  • 添加一些调试代码后,我发现在 Heroku 上,这些事件都没有在 WebRTCEndpoint MediaElement 上触发(但它们是在本地触发的)ConnectionStateChanged:,MediaStateChanged

更新 2:

  • 我比较了工作版的 Kurento 日志和非工作版的 Kurento 日志,发现在工作版上,多了一个日志:
0x00007faa8a566700    info kmsutils                  kmsutils.c:518 kms_utils_pad_monitor_gaps() <'':sink_video_default>  Add probe: DISCONT buffers and GAP events

当调用者更改共享窗口(屏幕共享)时也会出现此日志

4

0 回答 0