Google Chrome中不会生成中继候选人

时间:2015-01-28 08:21:29

标签: webrtc stun turn rfc5766turnserver

如果我正在接收中继候选人,我正在使用此页面:http://googlechrome.github.io/webrtc/samples/web/content/peerconnection/trickle-ice/。要从chrome 40进行测试,我提供了我的回合网址和凭据。点击收集候选人后,我看不到中继候选人。从firefox 36做同样的测试,我找到了接力候选者。可能出现什么问题?为了进一步调查这个问题,我查看了wireshark日志。我发现,从firefox中,眩晕请求格式包括 -

STUN 146 Allocate Request UDP lifetime: 3600 user: lazy realm:  with nonce

但是从chrome来看,这有点不同 -

STUN 70 Allocate Request UDP

似乎请求代码不一样。此外,chrome的请求不包括生命周期,用户和领域属性。

1 个答案:

答案 0 :(得分:1)

我知道问题已经有点旧了,但根据我的经验,TURN服务器描述格式(关于身份验证)必须在Chrome和Firefox中以不同的格式进行格式化。

对于Chrome,你可以使用:{" url":"转:user@turn.example.com" ;,凭证:"密码"},

对于Firefox,格式为: {" url":"转:turn.example.com",' hasCredentials':true,用户名:"用户",凭据:& #34;密码"},

也许您可以查看来源以了解示例中如何设置转弯服务器。

编辑: 意味着服务器列表的格式在规范中已更改(https://www.w3.org/TR/webrtc/#rtciceserver-dictionary)。目前我所知道的所有实现都支持以下格式:

{ "urls": ["turns:turn.example.org", "turn:turn.example.net"],
   "username": "user",
   "credential": "myPassword",
   "credentialType": "password"
}

On Edge但是你似乎需要在网址中包含查询字符串?transport = udp。