2012-12-28 13 views
8

Nella mia configurazione, ho un server personalizzato nel cloud che gestisce audio e video, quindi non ho bisogno (e non voglio) del tutto "dove sono e qual è il mio indirizzo privato e pubblico ecc." processo di scoperta. Essenzialmente voglio l'offerta SDP e non mi interessa l'indirizzo IP/porta; quella offerta va al server, il server sceglie i codec e ottiene la chiave SRTP e risponde con una risposta SDP al browser che conterrebbe un indirizzo pubblico, la scelta del codec e la sua chiave. Idealmente, il browser inizia a inviare contenuti multimediali al server e il server invia semplicemente i supporti "peer" da cui proviene (il che restituirebbe attraverso tutti i dispositivi NAT compatibili con UDP).Durante la creazione di un WebRTC PeerConnection è possibile saltare il processo di scoperta ICE (STUN/TURN)?

So che questo è tecnicamente possibile perché lo faccio già con i client desktop Win32/OSX ... la domanda è, è possibile con WebRTC e RTCPeerConnection? Ho provato alcuni tipi di configurazione, ad es. {} e { "iceServers": [] } ma sembra ancora passare attraverso le rotazioni di scoperta. Ci sono forse altri modi per abbinare il processo? Grazie!

risposta

6

No, non è possibile saltare il processo, poiché l'implementazione WebRTC impone l'utilizzo dei controlli ICE e STUN, per correggere some security problems. Pertanto, l'attuale implementazione di Chrome forzerà l'esecuzione delle verifiche STUN sugli ip/ports negoziati nei candidati ICE.

Ma sì, ci sono molte applicazioni che funzionano senza questo requisito. Un giorno dobbiamo passare a implementazioni migliori e più sicure. Il giorno è ora ...

+0

Grazie per la risposta e il collegamento. La mia architettura richiede segnalazione (SIP) su TLS e SRTP autenticato per i media. Ho intenzione di utilizzare WebRTC e WebSockets su HTTPS/TLS e richiedere SRTP autenticato, quindi non sono sicuro del motivo per cui avrei bisogno dei controlli ICE/STUN aggiuntivi per motivi di sicurezza ...? – mark

+0

Il problema di sicurezza si trova nello stabilimento della sessione multimediale. È possibile leggere il documento per ulteriori chiarimenti, ma il fatto è che non è possibile avviare una sessione multimediale con Chrome semplicemente utilizzando le intestazioni c = e m = SDP, come ha fatto il buon vecchio "client desktop Win32/OSX". – nakib

+0

che non è corretto. Se non si fornisce un server STUN (o TURN), non ci saranno controlli STUN. Tuttavia, l'ICE continuerà a verificarsi e raccoglierà e utilizzerà i candidati (locali) ospitanti. –

1

No, non puoi saltare i browser webrtc, ma i dispositivi webrtc (qui il tuo gateway) possono semplificare il processo implementando solo ICE Lite.

Problemi correlati