Sto lavorando su un’applicazione webrtc e devo implementare il seguente server TURN.
https://code.google.com/p/rfc5766-turn-server/
Sto seguendo questo tutorial.
http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
e dice di fare riferimento al server TURN come segue, in codice javascript dove viene creato RTCPeerConnection.
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}, {"url":"turn:[email protected]", "credential":"my_password"}]}; pc_new = new webkitRTCPeerConnection(pc_config);
Sono poco confuso, perché stiamo facendo riferimento al server pubblico di STUN di Google. Ho pensato che il server RFC5766 TURN avesse STUN al suo interno.
RFC5766 è il solo server TURN? e non il server STUN? Non possiamo implementare il nostro server STUN piuttosto che usarne uno fornito da Google?
Ci scusiamo per una domanda così ingenua. Sono nuovo di WebRTC.
Grazie.
TURN è un’estensione di STUN, quindi il server TURN ha anche funzionalità STUN.
https://code.google.com/p/rfc5766-turn-server/ funziona anche come STUN, quindi puoi provare a scrivere qualcosa come:
var pc_config = {"iceServers": [{"url":"turn:[email protected]", "credential":"my_password"}]}; pc_new = new webkitRTCPeerConnection(pc_config);
Aggiungendo solo la risposta di Igor,
coturn
è un fork di rfc5766-turn-server
, le funzionalità di base sono le stesse, con funzionalità extra e alle quali vengono aggiunte nuove funzionalità, quindi consiglio di usarlo al suo posto.
nelle parole dell’autore:
Questo progetto si è evoluto dal progetto rfc5766-turn-server ( https://code.google.com/p/rfc5766-turn-server/ ). Ci sono molte nuove specifiche avanzate TURN che vanno ben oltre il documento originale RFC 5766. Questo progetto prende il codice di rfc5766-turn-server come starter e aggiunge nuove funzionalità avanzate.
Per quanto riguarda l’installazione, è facile da installare nelle macchine Linux, non provata in altri sistemi operativi.
modo semplice:
sudo apt-get install coturn
Se dici di no, voglio l’ultima frontiera, puoi scaricare il codice sorgente dalla loro pagina di download per installarlo da solo, ad esempio:
sudo -i # ignore if you already in admin mode apt-get update && apt-get install libssl-dev libevent-dev libhiredis-dev make -y # install the dependencies wget -O turn.tar.gz http://turnserver.open-sys.org/downloads/v4.5.0.6/turnserver-4.5.0.6.tar.gz # Download the source tar tar -zxvf turn.tar.gz # unzip cd turnserver-* ./configure make && make install
per eseguire il TURN, è consigliabile eseguirlo come demone, e puoi usare questo wiki come riferimento per configurarlo.
comando di esempio per l’esecuzione del server TURN:
sudo turnserver -a -o -v -n --no-dtls --no-tls -u test:test -r "someRealm"
descrizione del comando:
ora puoi usare il server TURN nella tua applicazione WebRTC come:
var peerConnectionConfig = { iceServers: [{ urls: YOUR_IP:3478, username: 'test', password: 'test' }] }