I am working on a webrtc application and have to implement following TURN server.
https://code.google.com/p/rfc5766-turn-server/
I am following this tutorial.
http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
and it says to reference the TURN server as follows, in javascript code where RTCPeerConnection is created.
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
{"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
I am little confused, why are we referencing to Google's public STUN server. I thought RFC5766 TURN server has STUN inside it.
Is RFC5766 only TURN server? and not STUN server? Can't we implement our own STUN server rather using one provided by Google?
Sorry for such naive question. I am new to WebRTC.
Thanks.
Before establishing a peer-to-peer connection, it is essential for servers to identify the IP address for each participant. WebRTC applications use STUN servers most of the time.
TURN it's an extension of STUN, so TURN server has also STUN features.
https://code.google.com/p/rfc5766-turn-server/ works also as a STUN, so you can try to write something like this:
var pc_config = {
"iceServers": [{
"url":"turn:my_username@<turn_server_ip_address>",
"credential":"my_password"
}]
};
pc_new = new webkitRTCPeerConnection(pc_config);
Recently I was capturing my Kurento WebRTC server packets and realized that it has been using this www.stunprotocol.org
domain for STUN requests. A tool named stuntman
can create a simple STUN server for you.
Just follow these on a Linux host:
sudo apt-get update
sudo apt-get install stuntman-server
stunserver --mode full --primaryinterface 100.101.102.103
e.g. STUN or TURN URI:
stun:100.101.102.103:3478
By this procedure I've mentioned, everything goes well on my machine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With