ওয়েব RTC ব্রাউজারগুলির মধ্যে পিয়ার-টু-পিয়ার যোগাযোগের প্রয়োজন৷ এই প্রক্রিয়াটির প্রয়োজন সিগন্যালিং, নেটওয়ার্ক তথ্য, সেশন নিয়ন্ত্রণ এবং মিডিয়া তথ্য। ওয়েব ডেভেলপাররা ব্রাউজারগুলির মধ্যে যোগাযোগ করার জন্য বিভিন্ন পদ্ধতি বেছে নিতে পারে যেমন SIP বা XMPP বা যেকোনো দ্বিমুখী যোগাযোগ। CreateSignalingChannel():
এর একটি উদাহরণvar signalingChannel = createSignalingChannel();
var pc;
var configuration = ...;
// run start(true) to initiate a call
function start(isCaller) {
pc = new RTCPeerConnection(configuration);
// send any ice candidates to the other peer
pc.onicecandidate = function (evt) {
signalingChannel.send(JSON.stringify({ "candidate": evt.candidate }));
};
// once remote stream arrives, show it in the remote video element
pc.onaddstream = function (evt) {
remoteView.src = URL.createObjectURL(evt.stream);
};
// get the local stream, show it in the local video element and send it
navigator.getUserMedia({ "audio": true, "video": true }, function (stream) {
selfView.src = URL.createObjectURL(stream);
pc.addStream(stream);
if (isCaller)
pc.createOffer(gotDescription);
else
pc.createAnswer(pc.remoteDescription, gotDescription);
function gotDescription(desc) {
pc.setLocalDescription(desc);
signalingChannel.send(JSON.stringify({ "sdp": desc }));
}
});
}
signalingChannel.onmessage = function (evt) {
if (!pc)
start(false);
var signal = JSON.parse(evt.data);
if (signal.sdp)
pc.setRemoteDescription(new RTCSessionDescription(signal.sdp));
else
pc.addIceCandidate(new RTCIceCandidate(signal.candidate));
};