Flag set to true when Jicofo sends a presence message indicating that the max audio sender limit has been reached for the call. Once this is set, unmuting audio will be disabled from the client until it gets reset again by Jicofo.
Number of times ICE restarts that have been attempted after ICE connectivity with the JVB was lost.
Flag set to true when Jicofo sends a presence message indicating that the max video sender limit has been reached for the call. Once this is set, unmuting video will be disabled from the client until it gets reset again by Jicofo.
Reports average RTP statistics to the analytics module.
A delay given in seconds, before the conference switches back to P2P after the 3rd participant has left.
The object which monitors local and remote connection statistics (e.g. sending bitrate) and calculates a number which represents the connection quality.
Stores reference to deferred start P2P task. It's created when 3rd participant leaves the room in order to avoid ping pong effect (it could be just a page reload).
Indicates whether the connection is interrupted or not.
If set to true it means the P2P ICE is no longer connected. When false it means that P2P ICE (media) connection is up and running.
Jingle session instance for the JVB connection.
Flag set to true when P2P session has been established (ICE has been connected) and this conference is currently in the peer to peer mode (P2P connection is the active one).
A JingleSession for the direct peer to peer connection.
List of all the participants in the conference.
The object which tracks active speaker times
Method called by the JitsiLocalTrack in order to add the underlying MediaStream to the RTCPeerConnection.
The local track that will be added to the pc.
Resolved when the process is done or rejected with a string which describes the error.
Fires TRACK_AUDIO_LEVEL_CHANGED change conference event (for local tracks).
The audio level.
Optional
tpc: TraceablePeerConnectionThe peer connection.
Fires TRACK_MUTE_CHANGED change conference event.
The JitsiTrack object related to the event.
Initializes the conference object properties
{object}
{JitsiConnection} overrides this.connection
Handler for when a source-add for a local source is rejected by Jicofo.
The media session.
The error message.
The media type of the track associated with the source that was rejected.
Method called by the JitsiLocalTrack in order to remove the underlying MediaStream from the RTCPeerConnection.
The local track that will be removed.
Resolved when the process is done or rejected with a string which describes the error.
Restarts all active media sessions.
Sends a conference.join analytics event.
Set the transcribingEnabled flag. When transcribing is enabled, p2p is disabled.
Whether transcribing should be enabled.
Operations related to creating a new track.
The new track being created.
Stops the current JVB jingle session.
options for stopping JVB session.
One of the Jingle "reason" element names as defined by https://xmpp.org/extensions/xep-0166.html#def-reason
Text description that will be included in the session terminate message.
Whether this is due to a session restart, in which case, session will be set to null.
Whether session-terminate needs to be sent to Jicofo.
Updates room presence if needed and send the packet in case of a modification.
the session firing the event, contains the peer connection which tracks we will check.
a context object we can distinguish multiple calls of the same pass of updating tracks.
Receives notifications from other participants about commands / custom events (sent by sendCommand or sendCommandOnce methods).
The name of the command.
Handler for the command.
Alias for on method.
The event ID.
Handler for the event.
Adds a message listener to the lobby room
The listener function, called when a new message is received in the lobby room.
Handler returned to be able to remove it later.
Authenticates and upgrades the role of the local participant/user.
Configuration options for authentication.
A thenable which (1) settles when the process of authenticating and upgrading the role of the local participant/user finishes and (2) has a cancel method that allows the caller to interrupt the process.
Approve participant access to certain media, allows unmuting audio or video.
"audio" or "video"
the id of the participant.
Reject participant access to certain media, blocks unmuting audio or video.
"audio" or "video"
the id of the participant.
Creates a video SIP GW session and returns it if service is enabled. Before creating a session one need to check whether video SIP GW service is available in the system JitsiConference.isVideoSIPGWAvailable. Even if there are available nodes to serve this request, after creating the session those nodes can be taken and the request about using the created session can fail.
The sip address to be used.
The display name to be used for this session.
Returns null if conference is not initialised and there is no room.
Dials a phone number to join the conference.
The phone number to dial.
Resolves when the dial is successful, rejects otherwise.
Disables AV Moderation.
"audio" or "video"
Disabled lobby by moderators
Disposes of conference resources. This operation is a short-hand for leaving the conference and disconnecting the connection.
Enables AV Moderation.
"audio" or "video"
Enables lobby by moderators
resolves when lobby room is joined or rejects with the error.
Ends the conference.
Returns the currently active media session if any.
Returns the active peer connection (P2P or JVB).
The active peer connection or null if none is available.
Get authorized login.
Returns the breakout rooms manager object.
the breakout rooms manager.
Returns the JitsiConnection used by this conference.
Returns the connection state for the current room. NOTE that "completed" ICE state which can appear on the P2P connection will be converted to "connected".
The ICE connection state or null if no active peer connection exists.
Returns measured connection times.
The connection times for the room.
Returns the file sharing manager object.
the file sharing manager.
Obtains the forwarded sources list in this conference.
Obtains the current value for "lastN". See setLastN for more info.
Obtains local audio track.
Gets a local participant property.
The name of the property to retrieve.
The value of the property if it exists, otherwise undefined.
Returns the local tracks of the given media type, or all local tracks if no specific type is given.
Optional
mediaType: MediaTypeOptional media type (audio or video).
Obtains local video track.
Returns all the local video tracks.
Returns an array containing all media sessions existing in this conference.
Returns the meeting unique ID if any.
The meeting ID or undefined if not available.
Returns the metadata handler object.
the room metadata handler.
Returns name of this conference.
Returns the current ICE state of the P2P connection. NOTE: method is used by the jitsi-meet-torture tests.
an ICE state or null if there's currently no P2P connection.
the id of the participant.
the participant in this conference with the specified id (or undefined if there isn't one).
Returns the number of participants in the conference, including the local participant.
{boolean} Whether or not to include hidden participants in the count. Default: false.
Array
Returns the phone number for joining the conference.
The phone number or null if not available.
Returns the PIN for joining the conference via phone.
The phone PIN or null if not available.
Gets a conference property with a given key.
The key.
The value
Get role of the local user.
User role: 'moderator' or 'none'.
Requests short-term credentials from the backend if available.
The service for which to request the credentials.
A promise that resolves with the credentials or rejects with an error.
Get a summary of how long current participants have been the dominant speaker
The speaker statistics.
Finds the SSRC of a given track.
The track to find the SSRC for.
The SSRC of the specified track, or undefined if not found.
Returns the current start muted policy.
Object with audio and video properties indicating the start muted policy.
Returns the transcription status.
"on" or "off".
Grant owner rights to the participant.
id of the participant to grant owner rights to.
Hangs up an existing call.
Resolves when the hangup is successful.
Check if authentication is enabled for this conference.
Returns true if AV Moderation support is enabled in the backend.
whether AV Moderation is supported in the backend.
Checks if the connection is interrupted.
True if the connection is interrupted, false otherwise.
Allows to check if there is at least one user in the conference that supports DTMF.
True if somebody supports DTMF, false otherwise.
Returns whether End-To-End encryption is enabled.
Returns whether End-To-End encryption is supported. Note that not all participants in the conference may support it.
Returns true if end conference support is enabled in the backend.
whether end conference is supported in the backend.
Checks if the user identified by given MUC JID is the conference focus.
The full MUC address of the user to check.
True if the user is the conference focus, false if not, null if not in MUC or invalid JID.
Returns whether or not the current conference has been joined as a hidden user.
True if hidden, false otherwise. Will return null if no connection is active.
Check if joined to the conference.
True if joined, false otherwise.
Returns true if lobby support is enabled in the backend.
whether lobby is supported in the backend.
Check if user is logged in.
Returns true if the room has members only enabled.
whether conference room is members only.
Check if local user is moderator.
true if local user is moderator, false otherwise. If we're no longer in the conference room then null is returned.
Checks whether or not the conference is currently in the peer to peer mode. Being in peer to peer mode means that the direct connection has been established and the P2P connection is being used for media transmission.
true if in P2P mode or false otherwise.
Tells whether or not the P2P mode is enabled in the configuration.
True if P2P is enabled, false otherwise.
When in P2P test mode, the conference will not automatically switch to P2P when there are 2 participants.
True if P2P test mode is enabled, false otherwise.
Returns true if SIP calls are supported, false otherwise.
True if SIP calling is supported, false otherwise.
Returns true if the room supports visitors feature.
whether conference room has visitors support.
Joins the conference.
{string} the password
{boolean} whether the current join replaces an existing participant with same jwt from the meeting.
Joins the lobby room with display name and optional email or with a shared password to skip waiting.
Display name should be set to show it to moderators.
Optional email is used to present avatar to the moderator.
Kick participant from this conference.
id of the participant to kick
reason of the participant to kick
Leaves the conference.
The reason for leaving the conference.
Approves the request to join the conference to a participant waiting in the lobby.
The participant id or an array of ids.
Denies an occupant in the lobby room access to the conference.
The participant id.
Set password for the room.
new password for the room.
Marks the given participant as verified. After this is done, MAC verification will be performed and an event will be emitted with the result.
The participant which will be marked as verified.
whether the verification was succesfull.
Mutes a participant.
The id of the participant to mute.
Gets the local id for a participant in a lobby room. Returns undefined when current participant is not in the lobby room. This is used for lobby room private chat messages.
Returns the local user's ID.
Local user's ID or null if not available.
Removes event listener.
The event ID.
Optional
handler: FunctionOptional, the specific handler to unbind.
Attaches a handler for events (e.g., "participant joined") in the conference. All possible events are defined in JitsiConferenceEvents.
The event ID.
Handler for the event.
Callback called by the Jingle plugin when 'session-answer' is received.
The Jingle session for which an answer was received.
An element pointing to 'jingle' IQ element.
Handles the call ended event. XXX is this due to the remote side terminating the Jingle session?
The Jingle session which has been terminated.
The Jingle reason condition.
Human readable reason text which may provide more details about why the call has been terminated.
Adds a one-time listener function for the event.
The event ID.
Handler for the event.
Handles updates to a participant's display name.
The Jabber ID (JID) of the participant whose display name changed.
The new display name for the participant.
Handles an incoming call event.
The Jingle session for the incoming call.
An element pointing to 'jingle' IQ element containing the offer.
The timestamp when the call was received.
Method called on local MUC role change.
the name of new user's role as defined by XMPP MUC.
Clear JitsiLocalTrack properties and listeners.
The JitsiLocalTrack object.
Notifies this JitsiConference that a new member has joined its chat room.
FIXME This should NOT be exposed!
the jid of the participant in the MUC
the display name of the participant
the role of the participant in the MUC
indicates if this is a hidden participant (system participant for example a recorder).
the participant statsID (optional)
the initial status if any
the member identity, if any
the member botType, if any
the member full jid, if any
the member botType, if any
whether this join replaces a participant with the same jwt.
Designates an event indicating that we were kicked from the XMPP MUC.
whether it is for local participant or another participant.
the id of the participant who was initiator of the kick.
when it is not a kick for local participant, this is the id of the participant which was kicked.
reason of the participant to kick
whether this is a server initiated kick in order to replace it with a participant with same jwt.
Handles the logic when a remote participant leaves the conference.
The Jabber ID (JID) of the participant who left.
Optional
reason: stringOptional reason provided for the participant leaving.
Notifies this JitsiConference that a JitsiRemoteTrack was added to the conference.
the JitsiRemoteTrack which was added to this JitsiConference.
Notifies this JitsiConference that a JitsiRemoteTrack was removed from the conference.
The track that was removed.
Handles changes to a participant's silent status.
The Jabber ID (JID) of the participant whose silent status has changed.
The new silent status of the participant (true if silent, false otherwise).
Callback called by the Jingle plugin when 'transport-info' is received.
The Jingle session for which the IQ was received.
An element pointing to 'jingle' IQ element.
Handles changes to a user's role within the conference.
The Jabber ID (JID) of the user whose role has changed.
The new role assigned to the user (e.g., 'moderator', 'participant').
Removes presence command.
The name of the command.
Removes command listener.
The name of the command.
Handler to remove for the command.
Alias for off method.
The event ID.
Optional
handler: FunctionOptional, the specific handler to unbind.
Removes a message handler from the lobby room
The handler function to remove.
Removes a property for the local participant and sends the updated presence.
The name of the property to remove.
Removes JitsiLocalTrack from the conference and performs a new offer/answer cycle.
The track to remove.
Replaces oldTrack with newTrack and performs a single offer/answer cycle after both operations are done. Either oldTrack or newTrack can be null; replacing a valid 'oldTrack' with a null 'newTrack' effectively just removes 'oldTrack'
The current stream in use to be replaced.
The new stream to use.
Resolves when the replacement is finished.
Revoke owner rights to the participant or local Participant as the user might want to refuse to be a moderator.
id of the participant to revoke owner rights to.
Sends an application log (no-op since callstats is no longer supported).
Send presence command.
The name of the command.
With keys and values that will be sent.
Send presence command one time.
The name of the command.
With keys and values that will be sent.
Sends a face landmarks object to the xmpp server.
The face landmarks data to send.
Sends feedback if enabled.
An integer between 1 and 5 indicating user feedback.
Detailed feedback from the user (not yet used).
Resolves if feedback is submitted successfully.
Sends a message to a lobby room. When id is specified it sends a private message. Otherwise it sends the message to all moderators.
The participant id.
Sends a message to a given endpoint or broadcasts it to all endpoints.
The message to send (string for chat, object for JSON).
Optional
to: string = ''The ID of the recipient endpoint, or empty string to broadcast.
Optional
sendThroughVideobridge: boolean = falseWhether to send through jitsi-videobridge.
Sends private text message to another participant of the conference.
The ID of the participant to send a private message.
The text message.
Optional
elementName: string = 'body'The element name to encapsulate the message.
Sends a reaction to the other participants in the conference.
The reaction.
The ID of the message to attach the reaction to.
The intended recipient, if the message is private.
Sends DTMF tones to the active peer connection.
The DTMF tones to send.
The duration of each tone in milliseconds.
The pause duration between tones in milliseconds.
Sets the assumed bandwidth bps for the video that is requested from the bridge.
The bandwidth value expressed in bits per second.
Configures the peerconnection so that a given framre rate can be achieved for desktop share.
The capture framerate to be used for desktop tracks.
true if the operation is successful, false otherwise.
Sets the display name for this conference.
The display name to set.
Set join without audio.
Whether user joined without audio.
Selects a new value for "lastN". The requested amount of videos are going to be delivered after the value is in effect. Set to -1 for unlimited or all available videos.
the new number of videos the user would like to receive.
Sets a property for the local participant.
The name of the property.
The value of the property.
Sets the key and index for End-to-End encryption.
Sets the constraints for the video that is requested from the bridge.
The constraints which are specified in the following format. The message updates the fields that are present and leaves the rest unchanged on the bridge. Therefore, any field that is not applicable anymore should be cleared by passing an empty object or list (whatever is applicable). { 'lastN': 20, 'selectedSources': ['A', 'B', 'C'], 'onStageSources': ['A'], 'defaultConstraints': { 'maxHeight': 180 }, 'constraints': { 'A': { 'maxHeight': 720 } } } Where A, B and C are source-names of the remote tracks that are being requested from the bridge.
Sets the maximum video size the local participant should receive from remote participants.
the maximum frame height, in pixels, this receiver is willing to receive.
Sets the maximum video size the local participant should send to remote participants.
The user preferred max frame height.
promise that will be resolved when the operation is successful and rejected otherwise.
Sets the start muted policy for new participants.
Object with boolean properties for audio and video muting.
Whether audio should be muted for new participants.
Whether video should be muted for new participants.
Set new subject for this conference. (Available only for moderator)
New subject.
Sets the transcription language. NB: Unlike init here we don't check for the default value since we want to allow the value to be reset.
The new transcription language to be used.
Manually starts new P2P session (should be used only in the tests).
Starts recording the current conference.
Configuration for the recording. See Chatroom#startRecording for more info.
Resolves when recording starts successfully, rejects otherwise.
Starts the participant verification process.
The participant which will be marked as verified.
Manually stops the current P2P session (should be used only in the tests).
Options for stopping P2P.
Stops a recording session.
The ID of the recording session to stop.
Resolves when recording stops successfully, rejects otherwise.
Enables / disables End-to-End encryption.
whether to enable E2EE or not.
Remove password from the room.
Updates DTMF support based on participants' capabilities.
Static
resourceCreate a resource for the a jid. We use the room nickname (the resource part of the occupant JID, see XEP-0045) as the endpoint ID in colibri. We require endpoint IDs to be 8 hex digits because in some cases they get serialized into a 32bit field.
The id set onto the XMPP connection.
Whether or not the user has connected to the XMPP service with a password.
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.
Param: options.config.avgRtpStatsN
how many samples are to be collected by AvgRTPStatsReporter, before arithmetic mean is calculated and submitted to the analytics module.
Param: options.config.p2p.enabled
when set to true the peer to peer mode will be enabled. It means that when there are only 2 participants in the conference an attempt to make direct connection will be made. If the connection succeeds the conference will stop sending data through the JVB connection and will use the direct one instead.
Param: options.config.p2p.backToP2PDelay
a delay given in seconds, before the conference switches back to P2P, after the 3rd participant has left the room.
Param: options.config.channelLastN
The requested amount of videos are going to be delivered after the value is in effect. Set to -1 for unlimited or all available videos.