我正在开发一个视频呼叫应用程序。目前正在使用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失败了。
我还提出了类似的问题,这里,在那里,我使用麻木作为眩晕和转向服务器。
提前谢谢。
发布于 2017-03-02 09:54:45
ICE字符串应该在您的WebRTC应用程序的冰配置中使用“as-is”。但是,请注意,ICE凭据仅有效30秒。您需要在每个连接之前立即请求一个新的ICE字符串。
本地网络连接将在没有有效ICE字符串的情况下工作,因为您的NAT转换将不使用转身/眩晕。这是因为您的NAT翻译您的本地IP本身。因此,本地网络连接将始终正常工作(除非您有非常见的NAT情况)。如果您在使用ICE凭据而没有在每次调用之前刷新它们,这肯定是您的外部连接失败的原因(或者肯定会导致问题)。
李
https://stackoverflow.com/questions/42532952
复制相似问题