1

所以我遇到的问题是 WebSocket 连接正在我的 KurentoMediaServer 上工作,但没有数据被传输(空的远程 URL)。我知道这是因为我的 KurentoMediaServer 在 NAT(谷歌计算服务器)后面运行,但我使用的 STUN/TURN 服务器似乎没有工作。

这就是我的 WebRtcEndpoint.conf.ini 的样子:

; Only IP address are supported, not domain names for addresses
; You have to find a valid stun server. You can check if it works
; using this tool:
;   http://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
stunServerAddress=173.194.66.127
stunServerPort=19302
; turnURL gives the necessary info to configure TURN for WebRTC.
;    'address' must be an IP (not a domain).
;    'transport' is optional (UDP by default).
turnURL=test%40gmail.com:testpassword@66.228.45.110:3478

我已经测试了这个暂时打开所有端口的方法,看看这是否是问题所在,但事实并非如此。test%40gmail.com 也是我的 numb TURN 注册用户名,testpassword 是我的密码。

我还应该提到,我的 KurentoMediaServer 和应用程序(java 服务器)在同一个 NAT 后面运行,但我的网页在单独的网络上运行。为了让我的网页从我的应用程序和 kurento 媒体服务器运行单独的 NAT,我需要对 Kurento-Utils.js 做些什么吗?

4

1 回答 1

3

您输入的 STUN 服务器不工作,并且 TURN 服务器使用这些凭据产生可能的身份验证错误,尽管它返回了一些srflx候选者(请记住,TURN 服务器也是 STUN 服务器)

当遇到这样的问题时,第一件事是使用这个非常有用的测试页面检查 STUN 和 TURN 服务器。

你应该

  • 寻找有效的 STUN 服务器
  • 禁用 KMS 配置文件中的 TURN 配置,以找出一台服务器或另一台服务器的故障
  • 使用 STUN 确保一切正常
  • 使用测试页面测试您的 TURN 服务器
  • 启用 TURN 并确保您的 TURN 服务器与 Kurento 一起使用
于 2015-10-27T09:59:36.350 回答