node.js - How can I add candidate to peerConnection.addIceCandidate() while create a offer -


i want make voice calling nodejs , webrtc.when call other user getting error'ice failed, see about:webrtc more details'. html contains button calls offer().

i can confirm offer , sessiondescriptions transferring 1 client other. please me

 client side javasrcipt:      navigator.getusermedia({video:false, audio:true}, function(stream)                 { document.getelementbyid("localvideo").mozsrcobject = stream; document.getelementbyid("localvideo").play(); document.getelementbyid("localvideo").muted = true;  // var pc = new mozrtcpeerconnection(); var pc = new peerconnection(iceservers, options); pc.addstream(stream);  pc.onaddstream = function(obj) { log("got onaddstream of type " + obj.type); document.getelementbyid("remotevideo").mozsrcobject = obj.stream; document.getelementbyid("remotevideo").play(); document.getelementbyid("dialing").style.display = "none"; document.getelementbyid("hangup").style.display = "block"; };  pc.createoffer(function(offer) { console.log("created offer" + json.stringify(offer)); pc.setlocaldescription(offer, function() { // send offer remote end.        pc.icecandidate = new rtcicecandidate();       console.log(pc.icecandidate);     peerc = pc;     jquery.post(       "offer", {         to: user,         from: document.getelementbyid("user").innerhtml,         offer: json.stringify(offer)       },       function() { console.log("offer sent!"); }     ).error(error);   }, error); }, error); 

});

and server side script-

        app.post("/offer", function(req, res) {            var channel = users[req.body.to];            channel.write("event: offer\n");           channel.write("data: " + json.stringify(req.body));           channel.write("\n\n");           res.send(200);         }); 

i not case here, either have not provided compelete app code or app code proper webrtc connection incomplete,

for starters, as webrtc has simplified video chat, sending offer sdp not trick( assuming created answer sdp on other side , sending it), going have exchange ice candidates also. peer's ice candidates sort of calling card tells how can reached. without excahnging them, cannot communticate.

enter image description here

generally, browser provides ice candidate in onicecandidate event, send peer, add peerconnection.addicecandidate(candidate), when started out, this doc helped me in understanding basics of webrtc, give try.


Comments