Improves SIP gateway auto configuration by getting feedback from the focus.
This commit is contained in:
parent
78fcc8b72c
commit
c76b78eb46
26
moderator.js
26
moderator.js
|
@ -11,6 +11,10 @@ var Moderator = (function (my) {
|
||||||
var getNextErrorTimeout = Util.createExpBackoffTimer(1000);
|
var getNextErrorTimeout = Util.createExpBackoffTimer(1000);
|
||||||
// External authentication stuff
|
// External authentication stuff
|
||||||
var externalAuthEnabled = false;
|
var externalAuthEnabled = false;
|
||||||
|
// Sip gateway can be enabled by configuring Jigasi host in config.js or
|
||||||
|
// it will be enabled automatically if focus detects the component through
|
||||||
|
// service discovery.
|
||||||
|
var sipGatewayEnabled = config.hosts.call_control !== undefined;
|
||||||
|
|
||||||
my.isModerator = function () {
|
my.isModerator = function () {
|
||||||
return connection.emuc.isModerator();
|
return connection.emuc.isModerator();
|
||||||
|
@ -24,6 +28,10 @@ var Moderator = (function (my) {
|
||||||
return externalAuthEnabled;
|
return externalAuthEnabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.isSipGatewayEnabled = function () {
|
||||||
|
return sipGatewayEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
my.onModeratorStatusChanged = function (isModerator) {
|
my.onModeratorStatusChanged = function (isModerator) {
|
||||||
|
|
||||||
Toolbar.showSipCallButton(isModerator);
|
Toolbar.showSipCallButton(isModerator);
|
||||||
|
@ -99,6 +107,14 @@ var Moderator = (function (my) {
|
||||||
{ name: 'bridge', value: config.hosts.bridge})
|
{ name: 'bridge', value: config.hosts.bridge})
|
||||||
.up();
|
.up();
|
||||||
}
|
}
|
||||||
|
// Tell the focus we have Jigasi configured
|
||||||
|
if (config.hosts.call_control !== undefined)
|
||||||
|
{
|
||||||
|
elem.c(
|
||||||
|
'property',
|
||||||
|
{ name: 'call_control', value: config.hosts.call_control})
|
||||||
|
.up();
|
||||||
|
}
|
||||||
if (config.channelLastN !== undefined)
|
if (config.channelLastN !== undefined)
|
||||||
{
|
{
|
||||||
elem.c(
|
elem.c(
|
||||||
|
@ -148,7 +164,17 @@ var Moderator = (function (my) {
|
||||||
if (extAuthParam.length) {
|
if (extAuthParam.length) {
|
||||||
externalAuthEnabled = extAuthParam.attr('value') === 'true';
|
externalAuthEnabled = extAuthParam.attr('value') === 'true';
|
||||||
}
|
}
|
||||||
|
|
||||||
console.info("External authentication enabled: " + externalAuthEnabled);
|
console.info("External authentication enabled: " + externalAuthEnabled);
|
||||||
|
|
||||||
|
// Check if focus has auto-detected Jigasi component(this will be also
|
||||||
|
// included if we have passed our host from the config)
|
||||||
|
if ($(resultIq).find(
|
||||||
|
'>conference>property[name=\'sipGatewayEnabled\']').length) {
|
||||||
|
sipGatewayEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Sip gateway enabled: " + sipGatewayEnabled);
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: we need to show the fact that we're waiting for the focus
|
// FIXME: we need to show the fact that we're waiting for the focus
|
||||||
|
|
|
@ -265,7 +265,7 @@ var Toolbar = (function (my) {
|
||||||
|
|
||||||
// Shows or hides SIP calls button
|
// Shows or hides SIP calls button
|
||||||
my.showSipCallButton = function (show) {
|
my.showSipCallButton = function (show) {
|
||||||
if (config.hosts.call_control && show) {
|
if (Moderator.isSipGatewayEnabled() && show) {
|
||||||
$('#sipCallButton').css({display: "inline"});
|
$('#sipCallButton').css({display: "inline"});
|
||||||
} else {
|
} else {
|
||||||
$('#sipCallButton').css({display: "none"});
|
$('#sipCallButton').css({display: "none"});
|
||||||
|
|
Loading…
Reference in New Issue