Xirsys iceConnectionStatus失败

时间:2017-03-01 13:22:34

标签: webrtc peerjs xirsys

我正在开发一个视频通话应用程序。目前正在使用Xirsys的眩晕和转向服务器。我使用https://service.xirsys.com/ice的结果作为我的配置。它是在Javascript页面或其他任何内容中使用的正确用户名和凭据。如果是错的,那么请指导我在哪里获得正确的iceServers值。 iceServers = [ { "url": "stun:turn01.uswest.xirsys.com" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:80?transport=udp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:3478?transport=udp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:80?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:3478?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turns:turn01.uswest.xirsys.com:443?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turns:turn01.uswest.xirsys.com:5349?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" } ];
注意:它在同一网络中工作,但在不同的网络中工作。即使在不同的网络中,我也可以获得接收呼叫但是在接到呼叫后,iceConnectionState失败了 我也提出了类似的问题here,其中我使用麻木作为晕眩和转向服务器。

提前致谢。

1 个答案:

答案 0 :(得分:2)

ICE字符串应该在WebRTC应用程序的ice配置中“按原样”使用。但请注意,ICE凭证仅在30秒内有效。您需要在每次连接之前立即请求新的ICE字符串。

本地网络连接将无法使用有效的ICE字符串,因为您的NAT转换不会使用TURN / STUN。这是因为您的NAT会转换您的本地IP。因此,本地网络连接将始终有效(除非您有非常见的NAT情况)。如果您在每次调用之前使用ICE凭据而不刷新它们,那肯定是您的外部连接失败的原因(或者肯定会导致问题)。