如何在一台TURN服务器出现故障时恢复WebRTC呼叫

时间:2017-03-08 08:46:34

标签: javascript webrtc turn

我的WebRTC配置中有多个转弯服务器:

  iceServers: [
    {
      urls: 'turn:turn.example.com',
      username: 'username',
      credential: 'pass'
    },
    {
      urls: 'turn:turn2.example.com',
      username: 'username',
      credential: 'pass'
    }
  ]

当我启动WebRTC呼叫然后关闭turn.example.com时,通信会冻结。 WebRTC似乎没有自动获取新的ICE候选人并恢复通话。

有没有办法使用第二台ICE服务器恢复/重新建立通信?

1 个答案:

答案 0 :(得分:3)

您应该可以使用ICE重新启动来收集新的TURN候选人。要重新启动ICE,您需要执行另一个更改ICE用户名片段和密码的商品/答案交换。要触发此操作,您只需致电:

pc.createOffer({iceRestart: true})