function JitsiConference(options) {
    if(!options.name || options.name.toLowerCase() !== options.name) {
        logger.error("Invalid conference name (no conference name passed or it"
            + "contains invalid characters like capital letters)!");
         return;
    }
    this.options = options;
    this.connection = this.options.connection;
    this.xmpp = this.connection.xmpp;
    this.eventEmitter = new EventEmitter();
    var confID = this.options.name  + '@' + this.xmpp.options.hosts.muc;
    this.settings = new Settings();
    this.room = this.xmpp.createRoom(this.options.name, this.options.config,
        this.settings);
    this.componentsVersions = new ComponentsVersions(this.room);
    this.room.updateDeviceAvailability(RTC.getDeviceAvailability());
    this.rtc = new RTC(this.room, options);
    this.statistics = new Statistics(this.xmpp, {
        callStatsID: this.options.config.callStatsID,
        callStatsSecret: this.options.config.callStatsSecret,
        disableThirdPartyRequests: this.options.config.disableThirdPartyRequests
    });
    setupListeners(this);
    var JitsiMeetJS = this.connection.JitsiMeetJS;
    JitsiMeetJS._gumFailedHandler.push(function(error) {
        this.statistics.sendGetUserMediaFailed(error);
    }.bind(this));
    JitsiMeetJS._globalOnErrorHandler.push(function(error) {
        this.statistics.sendUnhandledError(error);
    }.bind(this));
    this.participants = {};
    this.lastDominantSpeaker = null;
    this.dtmfManager = null;
    this.somebodySupportsDTMF = false;
    this.authEnabled = false;
    this.authIdentity;
    this.startAudioMuted = false;
    this.startVideoMuted = false;
    this.startMutedPolicy = {audio: false, video: false};
    this.availableDevices = {
        audio: undefined,
        video: undefined
    };
    this.isMutedByFocus = false;
}
/**
 * Creates a JitsiConference object with the given name and properties.
 * Note: this constructor is not a part of the public API (objects should be
 * created using JitsiConnection.createConference).
 * @param options.config properties / settings related to the conference that will be created.
 * @param options.name the name of the conference
 * @param options.connection the JitsiConnection object for this JitsiConference.
 * @constructor
 */
Creates a JitsiConference object with the given name and properties.
Note: this constructor is not a part of the public API (objects should be
created using JitsiConnection.createConference).
@param options.config properties / settings related to the conference that will be created.
@param options.name the name of the conference
@param options.connection the JitsiConnection object for this JitsiConference.
@constructor
Creates a JitsiConference object with the given name and properties . Note : this constructor is not a part of the public API ( objects should be created using JitsiConnection . createConference ) . @param options . config properties / settings related to the conference that will be created . @param options . name the name of the conference @param options . connection the JitsiConnection object for this JitsiConference . @constructor
function JitsiConference(options) {
    if(!options.name || options.name.toLowerCase() !== options.name) {
        logger.error("Invalid conference name (no conference name passed or it"
            + "contains invalid characters like capital letters)!");
         return;
    }
    this.options = options;
    this.connection = this.options.connection;
    this.xmpp = this.connection.xmpp;
    this.eventEmitter = new EventEmitter();
    var confID = this.options.name  + '@' + this.xmpp.options.hosts.muc;
    this.settings = new Settings();
    this.room = this.xmpp.createRoom(this.options.name, this.options.config,
        this.settings);
    this.componentsVersions = new ComponentsVersions(this.room);
    this.room.updateDeviceAvailability(RTC.getDeviceAvailability());
    this.rtc = new RTC(this.room, options);
    this.statistics = new Statistics(this.xmpp, {
        callStatsID: this.options.config.callStatsID,
        callStatsSecret: this.options.config.callStatsSecret,
        disableThirdPartyRequests: this.options.config.disableThirdPartyRequests
    });
    setupListeners(this);
    var JitsiMeetJS = this.connection.JitsiMeetJS;
    JitsiMeetJS._gumFailedHandler.push(function(error) {
        this.statistics.sendGetUserMediaFailed(error);
    }.bind(this));
    JitsiMeetJS._globalOnErrorHandler.push(function(error) {
        this.statistics.sendUnhandledError(error);
    }.bind(this));
    this.participants = {};
    this.lastDominantSpeaker = null;
    this.dtmfManager = null;
    this.somebodySupportsDTMF = false;
    this.authEnabled = false;
    this.authIdentity;
    this.startAudioMuted = false;
    this.startVideoMuted = false;
    this.startMutedPolicy = {audio: false, video: false};
    this.availableDevices = {
        audio: undefined,
        video: undefined
    };
    this.isMutedByFocus = false;
}
function JitsiConference ( options ) { if ( ! options . name || options . name . toLowerCase ( ) !== options . name ) { logger . error ( "Invalid conference name (no conference name passed or it" + "contains invalid characters like capital letters)!" ) ; return ; } this . options = options ; this . connection = this . options . connection ; this . xmpp = this . connection . xmpp ; this . eventEmitter = new EventEmitter ( ) ; var confID = this . options . name + '@' + this . xmpp . options . hosts . muc ; this . settings = new Settings ( ) ; this . room = this . xmpp . createRoom ( this . options . name , this . options . config , this . settings ) ; this . componentsVersions = new ComponentsVersions ( this . room ) ; this . room . updateDeviceAvailability ( RTC . getDeviceAvailability ( ) ) ; this . rtc = new RTC ( this . room , options ) ; this . statistics = new Statistics ( this . xmpp , { callStatsID : this . options . config . callStatsID , callStatsSecret : this . options . config . callStatsSecret , disableThirdPartyRequests : this . options . config . disableThirdPartyRequests } ) ; setupListeners ( this ) ; var JitsiMeetJS = this . connection . JitsiMeetJS ; JitsiMeetJS . _gumFailedHandler . push ( function ( error ) { this . statistics . sendGetUserMediaFailed ( error ) ; } . bind ( this ) ) ; JitsiMeetJS . _globalOnErrorHandler . push ( function ( error ) { this . statistics . sendUnhandledError ( error ) ; } . bind ( this ) ) ; this . participants = { } ; this . lastDominantSpeaker = null ; this . dtmfManager = null ; this . somebodySupportsDTMF = false ; this . authEnabled = false ; this . authIdentity ; this . startAudioMuted = false ; this . startVideoMuted = false ; this . startMutedPolicy = { audio : false , video : false } ; this . availableDevices = { audio : undefined , video : undefined } ; this . isMutedByFocus = false ; }
Creates a JitsiConference object with the given name and properties.
Creates a JitsiConference object with the given name and properties .