2017-03-08 27 views
3

我有我的WebRTC配置多個服務器輪流重啓的WebRTC呼叫:如何當一個TURN服務器宕機

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服務器恢復/重新建立通訊?

回答

3

您應該能夠使用ICE重新啓動來收集新鮮的TURN候選者。要執行ICE重新啓動,您需要執行另一個更改ICE用戶名片段和密碼的提議/應答交換。要達到這種效果,你可以簡單地調用:

pc.createOffer({iceRestart: true}) 
+0

謝謝,我發現這裏https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Session_lifetime#ICE_restart更多信息。似乎是唯一的方式去atm。 –

相關問題