4

我已经成功编译了doubango opentelepresence系统(一个开源视频会议MCU)的源代码并测试成功。我可以通过桌面版本进行视频通话,并在 Chrome 和 Firefox 中使用 webrtc(sipml5 客户端)(进行了一些修改,因为 sipml5 与较新版本不兼容)。

现在我的问题是 NAT 穿越。我想使用转服务器在 NAT 后面的客户端之间进行视频通话。MCU 服务器位于 NAT 之后(SIP 端口位于使用端口转发的公共 IP 上,并且 tcp sip 和 ws 连接可用)。我已经在 ubuntu 系统上安装了 coturn Turn Server,并使用命令行对其进行了配置,就像为什么 turn server 不支持 tcp 连接一样。转向服务器端口在公共 ip 上打开。我也测试了 udp 和 tcp 但没有成功。

在单片机上,启用了冰、眩晕和转弯。我已正确设置转服务器 url 和凭据,并且 mcu 可以成功与转服务器通信。浏览器上的 webrtc 也可以与转服务器成功通信(我说通信成功,因为我可以看到正在生成候选人)。

我有两个主要问题:

  1. 由于某些与防火墙相关的原因,我更喜欢只使用 tcp 中继。但是在测试环境中,我用 udp 和 tcp 都测试过,但没有成功。似乎 doubango opentelepresence 不支持中继 tcp,因为我看不到任何具有中继 tcp 的候选人(有 udp 中继候选人)。
  2. 我的配置有什么问题,我从来没有成功拨打电话。ICE 候选者是使用公共 ip 生成的,但它们的状态总是失败或冻结(冻结是什么意思!)。如果您有任何建议,请告诉我并尝试。我可以在这里测试和报告结果,直到成功进行视频通话。

在 Firefox 上生成的 ICE 候选样本

黄色部分是公共 IP 地址(所有客户端都可以在 Internet 上访问的有效 IP 地址)。

4

0 回答 0