Manual session establishment + extra data transmission + video conferencing

Copyright © 2013 Muaz Khan <@muazkh >.

New Session:

Local video container

Remote videos container

Go ahead and try!

Pass "session-id" only-over the constructor:

            var connection = new RTCMultiConnection('session-id');

When calling "open" method; pass an argument like this:

            connection.open({ // "extra" object allows you pass extra data like username, number of participants etc. extra: { boolean: true, integer: 0123456789, array: [], object: {} }, // it is the broadcasting interval — default value is 3 seconds interval: 3000 });

Use "onNewSession" method to show each new session in a list so end users can manually join any session they prefer:

            connection.onNewSession = function(session) { // use "session.extra" to access "extra" data };

To manually join a preferred session any time; use "join" method instead of "connect" method:

            connection.join(session, extra); // e.g. string connection.join(session, 'username'); // e.g. object connection.join(session, { username: 'mine user name' });

"extra" data can be accessed using "connection.onstream" method:

            connection.onstream = function(stream){ var video = stream.mediaElement; // it is extra data passed from remote peer if(stream.type === 'remote') { var extra = stream.
            extra; video.poster =
            extra.username; } };