Implementing our own STUN/TURN server for WebRTC Application [duplicate]

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);

Node.js WebRTC client

I came along the same problem and stumbled upon these two gems: https://github.com/helloIAmPau/node-rtc Sadly it is lacking any documentation. However https://github.com/js-platform/node-webrtc seems more reliable to me.

STUN/TURN server connectivity test

Edit: A nice implementation in github.io taken from comment to another answer( choose “relay” in IceTransports value): Test TURN Server following Benjamin Trent’s advice, I wrote the below code to test TURN server’s connectivity, works on both firefox n chrome: function checkTURNServer(turnConfig, timeout){ return new Promise(function(resolve, reject){ setTimeout(function(){ if(promiseResolved) return; resolve(false); promiseResolved = true; }, … Read more

Can I simplify WebRTC signalling for computers on the same private network?

STUN/TURN is different from signaling. STUN/TURN in WebRTC are used to gather ICE candidates. Signaling is used to transmit between these two PCs the session description (offer and answer). You can use free STUN server (like stun.l.google.com or stun.services.mozilla.org). There are also free TURN servers, but not too many (these are resource expensive). One is … Read more

Why is a signaling server needed for WebRTC?

WebRTC doesn’t solve discovery (nor should it). WebRTC knows how to talk directly to another peer without a signaling server, but it doesn’t know how to discover another peer. Discovery is an inherent problem, so I’m a bit baffled that people expect WebRTC to solve it for them. Think about it: How are you going … Read more