No longer requires focus component and focusUserJid to be configured in config.js(but they can still be overridden there).
This commit is contained in:
parent
1729f7e17e
commit
933a41492e
|
@ -5,7 +5,7 @@ var config = {
|
|||
muc: 'conference.jitsi-meet.example.com', // FIXME: use XEP-0030
|
||||
bridge: 'jitsi-videobridge.jitsi-meet.example.com', // FIXME: use XEP-0030
|
||||
//call_control: 'callcontrol.jitsi-meet.example.com',
|
||||
focus: 'focus.jitsi-meet.example.com'
|
||||
//focus: 'focus.jitsi-meet.example.com' - defaults to 'focus.jitsi-meet.example.com'
|
||||
},
|
||||
// getroomnode: function (path) { return 'someprefixpossiblybasedonpath'; },
|
||||
// useStunTurn: true, // use XEP-0215 to fetch STUN and TURN server
|
||||
|
@ -13,7 +13,7 @@ var config = {
|
|||
useNicks: false,
|
||||
bosh: '//jitsi-meet.example.com/http-bind', // FIXME: use xep-0156 for that
|
||||
clientNode: 'http://jitsi.org/jitsimeet', // The name of client node advertised in XEP-0115 'c' stanza
|
||||
focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant
|
||||
//focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant - can be overridden here
|
||||
//defaultSipNumber: '', // Default SIP number
|
||||
desktopSharing: 'ext', // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable.
|
||||
chromeExtensionId: 'diibjkoicjeejcmhdnailmkgecihlobk', // Id of desktop streamer Chrome extension
|
||||
|
|
26
moderator.js
26
moderator.js
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
var Moderator = (function (my) {
|
||||
|
||||
var focusUserJid;
|
||||
var getNextTimeout = Util.createExpBackoffTimer(1000);
|
||||
var getNextErrorTimeout = Util.createExpBackoffTimer(1000);
|
||||
|
||||
|
@ -66,8 +67,26 @@ var Moderator = (function (my) {
|
|||
);
|
||||
};
|
||||
|
||||
my.setFocusUserJid = function (focusJid) {
|
||||
if (!focusUserJid) {
|
||||
focusUserJid = focusJid;
|
||||
console.info("Focus jid set to: " + focusUserJid);
|
||||
}
|
||||
};
|
||||
|
||||
my.getFocusUserJid = function () {
|
||||
return focusUserJid;
|
||||
};
|
||||
|
||||
my.createConferenceIq = function () {
|
||||
var elem = $iq({to: config.hosts.focus, type: 'set'});
|
||||
// Get focus component address
|
||||
var focusComponent = config.hosts.focus;
|
||||
// If not specified use default: 'focus.domain'
|
||||
if (!focusComponent) {
|
||||
focusComponent = 'focus.' + config.hosts.domain;
|
||||
}
|
||||
// Generate create conference IQ
|
||||
var elem = $iq({to: focusComponent, type: 'set'});
|
||||
elem.c('conference', {
|
||||
xmlns: 'http://jitsi.org/protocol/focus',
|
||||
room: roomName
|
||||
|
@ -114,6 +133,9 @@ var Moderator = (function (my) {
|
|||
// FIXME: we need to show the fact that we're waiting for the focus
|
||||
// to the user(or that focus is not available)
|
||||
my.allocateConferenceFocus = function (roomName, callback) {
|
||||
// Try to use focus user JID from the config
|
||||
Moderator.setFocusUserJid(config.focusUserJid);
|
||||
// Send create conference IQ
|
||||
var iq = Moderator.createConferenceIq();
|
||||
connection.sendIQ(
|
||||
iq,
|
||||
|
@ -122,6 +144,8 @@ var Moderator = (function (my) {
|
|||
// Reset both timers
|
||||
getNextTimeout(true);
|
||||
getNextErrorTimeout(true);
|
||||
Moderator.setFocusUserJid(
|
||||
$(result).find('conference').attr('focusjid'));
|
||||
callback();
|
||||
} else {
|
||||
var waitMs = getNextTimeout();
|
||||
|
|
3
muc.js
3
muc.js
|
@ -126,7 +126,8 @@ Strophe.addConnectionPlugin('emuc', {
|
|||
// Focus recognition
|
||||
member.jid = tmp.attr('jid');
|
||||
member.isFocus = false;
|
||||
if (member.jid && member.jid.indexOf(config.focusUserJid + "/") == 0) {
|
||||
if (member.jid
|
||||
&& member.jid.indexOf(Moderator.getFocusUserJid() + "/") == 0) {
|
||||
member.isFocus = true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue