2012-12-28 136 views
8

在我的設置中,我在處理音頻和視頻的雲中有一個自定義服務器,因此我不需要(也不需要)整個「我在哪裏以及我的私人和公共地址等。」發現過程。基本上我想要SDP產品並且不關心IP地址/端口;該服務會發送到服務器,服務器會選擇編解碼器並獲取SRTP密鑰,並向瀏覽器回覆一個SDP答案,該答案將包含一個公共地址,編解碼器選項和密鑰。理想情況下,瀏覽器開始向服務器發送媒體,服務器只是將「對等」媒體從它發回(這將通過任何UDP友好的NAT設備進行隧道傳輸)。創建WebRTC PeerConnection時,我可以跳過ICE(STUN/TURN)發現過程嗎?

我知道這在技術上是可行的,因爲我已經與Win32/OSX桌面客戶端做了這個...問題是,WebRTC和RTCPeerConnection是否可能?我嘗試了一些配置類型,例如{}{ "iceServers": [] },但它似乎仍然經歷發現迴轉。也許還有其他方法可以簡化流程?謝謝!

回答

6

不,您不能跳過該過程,因爲WebRTC實施強制使用ICE和STUN檢查來修復some security problems。因此,目前的Chrome實施將強制STUN檢查到ICE候選人協商的IP /端口。

但是,有很多應用程序沒有這個要求工作。有一天,我們必須改變更好和更安全的實現。現在是...

+0

感謝您的回答和鏈接。我的架構需要通過TLS的信令(SIP)和媒體的認證SRTP。我計劃通過HTTPS/TLS使用WebRTC和WebSockets,並要求驗證SRTP,所以我不確定爲什麼需要額外的ICE/STUN檢查以達到安全目的...? – mark

+0

安全問題在媒體會話建立。您可以閱讀文檔以獲得更多的說明,但事實是,只有使用c =和m = SDP標頭才能與Chrome開始媒體會話,就像老的「Win32/OSX桌面客戶端」一樣。 – nakib

+0

這是不正確的。如果您沒有提供STUN(或TURN)服務器,則根本沒有STUN檢查。然而,ICE仍然會發生並將收集和使用主機(本地)候選人。 –

1

不,您不能在webrtc瀏覽器中跳過它,但webrtc設備(這裏是您的網關)可以通過僅實施ICE Lite來簡化流程。

相關問題