/**
* The events for the conference.
*/
export enum JitsiConferenceEvents {
/**
* Event indicates that the current conference audio input switched between audio
* input states,i.e. with or without audio input.
*/
AUDIO_INPUT_STATE_CHANGE = 'conference.audio_input_state_changed',
/**
* Event indicates that the permission for unmuting audio has changed based on the number of audio senders in the call
* and the audio sender limit configured in Jicofo.
*/
AUDIO_UNMUTE_PERMISSIONS_CHANGED = 'conference.audio_unmute_permissions_changed',
/**
* Indicates that authentication status changed.
*/
AUTH_STATUS_CHANGED = 'conference.auth_status_changed',
/**
* Fired just before the statistics module is disposed and it's the last chance
* to submit some logs to the statistics service (ex. CallStats if enabled),
* before it's disconnected.
*/
BEFORE_STATISTICS_DISPOSED = 'conference.beforeStatisticsDisposed',
/**
* Indicates that an error occurred.
*/
CONFERENCE_ERROR = 'conference.error',
/**
* Indicates that conference failed.
*/
CONFERENCE_FAILED = 'conference.failed',
/**
* Indicates that conference is in progress of joining.
*/
CONFERENCE_JOIN_IN_PROGRESS = 'conference.join_in_progress',
/**
* Indicates that conference has been joined. The event does NOT provide any
* parameters to its listeners.
*/
CONFERENCE_JOINED = 'conference.joined',
/**
* Indicates that conference has been left.
*/
CONFERENCE_LEFT = 'conference.left',
/**
* Indicates that the conference unique identifier has been set.
*/
CONFERENCE_UNIQUE_ID_SET = 'conference.unique_id_set',
/**
* Indicates that the connection to the conference has been established
* XXX This is currently fired when the *ICE* connection enters 'connected'
* state for the first time.
*/
CONNECTION_ESTABLISHED = 'conference.connectionEstablished',
/**
* Indicates that the connection to the conference has been interrupted for some
* reason.
* XXX This is currently fired when the *ICE* connection is interrupted.
*/
CONNECTION_INTERRUPTED = 'conference.connectionInterrupted',
/**
* Indicates that the connection to the conference has been restored.
* XXX This is currently fired when the *ICE* connection is restored.
*/
CONNECTION_RESTORED = 'conference.connectionRestored',
/**
* A connection to the video bridge's data channel has been established.
*/
DATA_CHANNEL_OPENED = 'conference.dataChannelOpened',
/**
* A connection to the video bridge's data channel has been closed.
* This event is only emitted in
*/
DATA_CHANNEL_CLOSED = 'conference.dataChannelClosed',
/**
* A user has changed it display name
*/
DISPLAY_NAME_CHANGED = 'conference.displayNameChanged',
/**
* The dominant speaker was changed.
*/
DOMINANT_SPEAKER_CHANGED = 'conference.dominantSpeaker',
/**
* UTC conference timestamp when first participant joined.
*/
CONFERENCE_CREATED_TIMESTAMP = 'conference.createdTimestamp',
/**
* Indicates that DTMF support changed.
*/
DTMF_SUPPORT_CHANGED = 'conference.dtmfSupportChanged',
/**
* Indicates that a message from another participant is received on data
* channel.
*/
ENDPOINT_MESSAGE_RECEIVED = 'conference.endpoint_message_received',
/**
* Indicates that a message for the remote endpoint statistics has been received on the bridge channel.
*/
ENDPOINT_STATS_RECEIVED = 'conference.endpoint_stats_received',
/**
* NOTE This is lib-jitsi-meet internal event and can be removed at any time !
*
* Event emitted when conference transits, between one to one and multiparty JVB
* conference. If the conference switches to P2P it's neither one to one nor
* a multiparty JVB conference, but P2P (the status argument of this event will
* be false).
*
* The first argument is a boolean which carries the previous value and
* the seconds argument is a boolean with the new status. The event is emitted
* only if the previous and the new values are different.
*
* @type {string}
*/
JVB121_STATUS = 'conference.jvb121Status',
/**
* You are kicked from the conference.
* @param {JitsiParticipant} the participant that initiated the kick.
*/
KICKED = 'conference.kicked',
/**
* Participant was kicked from the conference.
* @param {JitsiParticipant} the participant that initiated the kick.
* @param {JitsiParticipant} the participant that was kicked.
*/
PARTICIPANT_KICKED = 'conference.participant_kicked',
/**
* The Last N set is changed.
*
* @param {Array|null} leavingEndpointIds the ids of all the endpoints
* which are leaving Last N
* @param {Array|null} enteringEndpointIds the ids of all the endpoints
* which are entering Last N
*/
LAST_N_ENDPOINTS_CHANGED = 'conference.lastNEndpointsChanged',
/**
* The forwarded sources set is changed.
*
* @param {Array} leavingForwardedSources the sourceNames of all the tracks which are leaving forwarded
* sources
* @param {Array} enteringForwardedSources the sourceNames of all the tracks which are entering forwarded
* sources
*/
FORWARDED_SOURCES_CHANGED = 'conference.forwardedSourcesChanged',
/**
* Indicates that the room has been locked or unlocked.
*/
LOCK_STATE_CHANGED = 'conference.lock_state_changed',
/**
* Indicates that the region of the media server (jitsi-videobridge) that we
* are connected to changed (or was initially set).
* @type {string} the region.
*/
SERVER_REGION_CHANGED = 'conference.server_region_changed',
/**
* An event(library-private) fired when a new media session is added to the conference.
* @type {string}
* @private
*/
_MEDIA_SESSION_STARTED = 'conference.media_session.started',
/**
* An event(library-private) fired when the conference switches the currently active media session.
* @type {string}
* @private
*/
_MEDIA_SESSION_ACTIVE_CHANGED = 'conference.media_session.active_changed',
/**
* Indicates that the conference had changed to members only enabled/disabled.
* The first argument of this event is a boolean which when set to
* true means that the conference is running in members only mode.
* You may need to use Lobby if supported to ask for permissions to enter the conference.
*/
MEMBERS_ONLY_CHANGED = 'conference.membersOnlyChanged',
/**
* New text message was received.
*/
MESSAGE_RECEIVED = 'conference.messageReceived',
/**
* Event indicates that the current selected input device has no signal
*/
NO_AUDIO_INPUT = 'conference.no_audio_input',
/**
* Event indicates that the current microphone used by the conference is noisy.
*/
NOISY_MIC = 'conference.noisy_mic',
/**
* Indicates that a message from the local user or from the Prosody backend
* was received on the data channel.
*/
NON_PARTICIPANT_MESSAGE_RECEIVED = 'conference.non_participant_message_received',
/**
* New private text message was received.
*/
PRIVATE_MESSAGE_RECEIVED = 'conference.privateMessageReceived',
/**
* Indicates that the features of the participant has been changed.
* TODO: there is a spelling mistake in this event name and associated constants
*/
PARTCIPANT_FEATURES_CHANGED = 'conference.partcipant_features_changed',
/**
* Indicates that a the value of a specific property of a specific participant
* has changed.
*/
PARTICIPANT_PROPERTY_CHANGED = 'conference.participant_property_changed',
/**
* Indicates the state of sources attached to a given remote participant has changed.
*/
PARTICIPANT_SOURCE_UPDATED = 'conference.participant_source_updated',
/**
* Indicates that the conference has switched between JVB and P2P connections.
* The first argument of this event is a boolean which when set to
* true means that the conference is running on the P2P connection.
*/
P2P_STATUS = 'conference.p2pStatus',
/**
* Indicates that phone number changed.
*/
PHONE_NUMBER_CHANGED = 'conference.phoneNumberChanged',
/**
* The conference properties changed.
* @type {string}
*/
PROPERTIES_CHANGED = 'conference.propertiesChanged',
/**
* Indicates that recording state changed.
*/
RECORDER_STATE_CHANGED = 'conference.recorderStateChanged',
/**
* Indicates that video SIP GW state changed.
* @param {VideoSIPGWConstants} status.
*/
VIDEO_SIP_GW_AVAILABILITY_CHANGED = 'conference.videoSIPGWAvailabilityChanged',
/**
* Indicates that video SIP GW Session state changed.
* @param {options} event - {
* {string} address,
* {VideoSIPGWConstants} oldState,
* {VideoSIPGWConstants} newState,
* {string} displayName}
* }.
*/
VIDEO_SIP_GW_SESSION_STATE_CHANGED = 'conference.videoSIPGWSessionStateChanged',
/**
* Indicates that start muted settings changed.
*/
START_MUTED_POLICY_CHANGED = 'conference.start_muted_policy_changed',
/**
* Indicates that the local user has started muted.
*/
STARTED_MUTED = 'conference.started_muted',
/**
* Indicates that subject of the conference has changed.
*/
SUBJECT_CHANGED = 'conference.subjectChanged',
/**
* Indicates that DTMF support changed.
*/
SUSPEND_DETECTED = 'conference.suspendDetected',
/**
* Event indicates that local user is talking while he muted himself
*/
TALK_WHILE_MUTED = 'conference.talk_while_muted',
/**
* A new media track was added to the conference. The event provides the
* following parameters to its listeners:
*
* @param {JitsiTrack} track the added JitsiTrack
*/
TRACK_ADDED = 'conference.trackAdded',
/**
* Audio levels of a media track ( attached to the conference) was changed.
*/
TRACK_AUDIO_LEVEL_CHANGED = 'conference.audioLevelsChanged',
/**
* A media track ( attached to the conference) mute status was changed.
* @param {JitsiParticipant|null} the participant that initiated the mute
* if it is a remote mute.
*/
TRACK_MUTE_CHANGED = 'conference.trackMuteChanged',
/**
* The media track was removed from the conference. The event provides the
* following parameters to its listeners:
*
* @param {JitsiTrack} track the removed JitsiTrack
*/
TRACK_REMOVED = 'conference.trackRemoved',
/**
* The source-add for unmuting of a media track was rejected by Jicofo.
*
*/
TRACK_UNMUTE_REJECTED = 'conference.trackUnmuteRejected',
/**
* Notifies for transcription status changes. The event provides the
* following parameters to its listeners:
*
* @param {String} status - The new status.
*/
TRANSCRIPTION_STATUS_CHANGED = 'conference.transcriptionStatusChanged',
/**
* A new user joined the conference.
*/
USER_JOINED = 'conference.userJoined',
/**
* A user has left the conference.
*/
USER_LEFT = 'conference.userLeft',
/**
* User role changed.
*/
USER_ROLE_CHANGED = 'conference.roleChanged',
/**
* User status changed.
*/
USER_STATUS_CHANGED = 'conference.statusChanged',
/**
* Event indicates that the permission for unmuting video has changed based on the number of video senders in the call
* and the video sender limit configured in Jicofo.
*/
VIDEO_UNMUTE_PERMISSIONS_CHANGED = 'conference.video_unmute_permissions_changed',
/**
* Event indicates that the bot participant type changed.
*/
BOT_TYPE_CHANGED = 'conference.bot_type_changed',
/**
* A new user joined the lobby room.
*/
LOBBY_USER_JOINED = 'conference.lobby.userJoined',
/**
* A user from the lobby room has been update.
*/
LOBBY_USER_UPDATED = 'conference.lobby.userUpdated',
/**
* A user left the lobby room.
*/
LOBBY_USER_LEFT = 'conference.lobby.userLeft',
/**
* The local participant was approved to be able to unmute.
* @param {options} event - {
* {MediaType} mediaType
* }.
*/
AV_MODERATION_APPROVED = 'conference.av_moderation.approved',
/**
* The local participant was blocked to be able to unmute.
* @param {options} event - {
* {MediaType} mediaType
* }.
*/
AV_MODERATION_REJECTED = 'conference.av_moderation.rejected',
/**
* AV Moderation was enabled/disabled. The actor is the participant that is currently in the meeting,
* or undefined if that participant has left the meeting.
*
* @param {options} event - {
* {boolean} enabled,
* {MediaType} mediaType,
* {JitsiParticipant} actor
* }.
*/
AV_MODERATION_CHANGED = 'conference.av_moderation.changed',
/**
* AV Moderation, report for user being approved to unmute.
* @param {options} event - {
* {JitsiParticipant} participant,
* {MediaType} mediaType
* }.
*/
AV_MODERATION_PARTICIPANT_APPROVED = 'conference.av_moderation.participant.approved',
/**
* AV Moderation, report for user being blocked to unmute.
* @param {options} event - {
* {JitsiParticipant} participant,
* {MediaType} mediaType
* }.
*/
AV_MODERATION_PARTICIPANT_REJECTED = 'conference.av_moderation.participant.rejected',
/**
* Event fired when a participant is requested to join a given (breakout) room.
*/
BREAKOUT_ROOMS_MOVE_TO_ROOM = 'conference.breakout-rooms.move-to-room',
/**
* Event fired when the breakout rooms data was updated.
*/
BREAKOUT_ROOMS_UPDATED = 'conference.breakout-rooms.updated',
/**
* Event fired when the conference metadata is updated.
*/
METADATA_UPDATED = 'conference.metadata.updated',
E2EE_VERIFICATION_AVAILABLE = 'conference.e2ee.verification.available',
E2EE_VERIFICATION_READY = 'conference.e2ee.verification.ready',
E2EE_VERIFICATION_COMPLETED = 'conference.e2ee.verification.completed'
};
// exported for backward compatibility
export const AUDIO_INPUT_STATE_CHANGE = JitsiConferenceEvents.AUDIO_INPUT_STATE_CHANGE;
export const AUDIO_UNMUTE_PERMISSIONS_CHANGED = JitsiConferenceEvents.AUDIO_UNMUTE_PERMISSIONS_CHANGED;
export const AUTH_STATUS_CHANGED = JitsiConferenceEvents.AUTH_STATUS_CHANGED;
export const BEFORE_STATISTICS_DISPOSED = JitsiConferenceEvents.BEFORE_STATISTICS_DISPOSED;
export const CONFERENCE_ERROR = JitsiConferenceEvents.CONFERENCE_ERROR;
export const CONFERENCE_FAILED = JitsiConferenceEvents.CONFERENCE_FAILED;
export const CONFERENCE_JOIN_IN_PROGRESS = JitsiConferenceEvents.CONFERENCE_JOIN_IN_PROGRESS;
export const CONFERENCE_JOINED = JitsiConferenceEvents.CONFERENCE_JOINED;
export const CONFERENCE_LEFT = JitsiConferenceEvents.CONFERENCE_LEFT;
export const CONFERENCE_UNIQUE_ID_SET = JitsiConferenceEvents.CONFERENCE_UNIQUE_ID_SET;
export const CONNECTION_ESTABLISHED = JitsiConferenceEvents.CONNECTION_ESTABLISHED;
export const CONNECTION_INTERRUPTED = JitsiConferenceEvents.CONNECTION_INTERRUPTED;
export const CONNECTION_RESTORED = JitsiConferenceEvents.CONNECTION_RESTORED;
export const DATA_CHANNEL_OPENED = JitsiConferenceEvents.DATA_CHANNEL_OPENED;
export const DATA_CHANNEL_CLOSED = JitsiConferenceEvents.DATA_CHANNEL_CLOSED;
export const DISPLAY_NAME_CHANGED = JitsiConferenceEvents.DISPLAY_NAME_CHANGED;
export const DOMINANT_SPEAKER_CHANGED = JitsiConferenceEvents.DOMINANT_SPEAKER_CHANGED;
export const CONFERENCE_CREATED_TIMESTAMP = JitsiConferenceEvents.CONFERENCE_CREATED_TIMESTAMP;
export const DTMF_SUPPORT_CHANGED = JitsiConferenceEvents.DTMF_SUPPORT_CHANGED;
export const ENDPOINT_MESSAGE_RECEIVED = JitsiConferenceEvents.ENDPOINT_MESSAGE_RECEIVED;
export const ENDPOINT_STATS_RECEIVED = JitsiConferenceEvents.ENDPOINT_STATS_RECEIVED;
export const E2EE_VERIFICATION_AVAILABLE = JitsiConferenceEvents.E2EE_VERIFICATION_AVAILABLE;
export const E2EE_VERIFICATION_READY = JitsiConferenceEvents.E2EE_VERIFICATION_READY;
export const E2EE_VERIFICATION_COMPLETED = JitsiConferenceEvents.E2EE_VERIFICATION_COMPLETED;
export const JVB121_STATUS = JitsiConferenceEvents.JVB121_STATUS;
export const KICKED = JitsiConferenceEvents.KICKED;
export const PARTICIPANT_KICKED = JitsiConferenceEvents.PARTICIPANT_KICKED;
export const PARTICIPANT_SOURCE_UPDATED = JitsiConferenceEvents.PARTICIPANT_SOURCE_UPDATED;
export const LAST_N_ENDPOINTS_CHANGED = JitsiConferenceEvents.LAST_N_ENDPOINTS_CHANGED;
export const FORWARDED_SOURCES_CHANGED = JitsiConferenceEvents.FORWARDED_SOURCES_CHANGED;
export const LOCK_STATE_CHANGED = JitsiConferenceEvents.LOCK_STATE_CHANGED;
export const SERVER_REGION_CHANGED = JitsiConferenceEvents.SERVER_REGION_CHANGED;
export const _MEDIA_SESSION_STARTED = JitsiConferenceEvents._MEDIA_SESSION_STARTED;
export const _MEDIA_SESSION_ACTIVE_CHANGED = JitsiConferenceEvents._MEDIA_SESSION_ACTIVE_CHANGED;
export const MEMBERS_ONLY_CHANGED = JitsiConferenceEvents.MEMBERS_ONLY_CHANGED;
export const MESSAGE_RECEIVED = JitsiConferenceEvents.MESSAGE_RECEIVED;
export const NO_AUDIO_INPUT = JitsiConferenceEvents.NO_AUDIO_INPUT;
export const NOISY_MIC = JitsiConferenceEvents.NOISY_MIC;
export const NON_PARTICIPANT_MESSAGE_RECEIVED = JitsiConferenceEvents.NON_PARTICIPANT_MESSAGE_RECEIVED;
export const PRIVATE_MESSAGE_RECEIVED = JitsiConferenceEvents.PRIVATE_MESSAGE_RECEIVED;
export const PARTCIPANT_FEATURES_CHANGED = JitsiConferenceEvents.PARTCIPANT_FEATURES_CHANGED;
export const PARTICIPANT_PROPERTY_CHANGED = JitsiConferenceEvents.PARTICIPANT_PROPERTY_CHANGED;
export const P2P_STATUS = JitsiConferenceEvents.P2P_STATUS;
export const PHONE_NUMBER_CHANGED = JitsiConferenceEvents.PHONE_NUMBER_CHANGED;
export const PROPERTIES_CHANGED = JitsiConferenceEvents.PROPERTIES_CHANGED;
export const RECORDER_STATE_CHANGED = JitsiConferenceEvents.RECORDER_STATE_CHANGED;
export const VIDEO_SIP_GW_AVAILABILITY_CHANGED = JitsiConferenceEvents.VIDEO_SIP_GW_AVAILABILITY_CHANGED;
export const VIDEO_SIP_GW_SESSION_STATE_CHANGED = JitsiConferenceEvents.VIDEO_SIP_GW_SESSION_STATE_CHANGED;
export const START_MUTED_POLICY_CHANGED = JitsiConferenceEvents.START_MUTED_POLICY_CHANGED;
export const STARTED_MUTED = JitsiConferenceEvents.STARTED_MUTED;
export const SUBJECT_CHANGED = JitsiConferenceEvents.SUBJECT_CHANGED;
export const SUSPEND_DETECTED = JitsiConferenceEvents.SUSPEND_DETECTED;
export const TALK_WHILE_MUTED = JitsiConferenceEvents.TALK_WHILE_MUTED;
export const TRACK_ADDED = JitsiConferenceEvents.TRACK_ADDED;
export const TRACK_AUDIO_LEVEL_CHANGED = JitsiConferenceEvents.TRACK_AUDIO_LEVEL_CHANGED;
export const TRACK_MUTE_CHANGED = JitsiConferenceEvents.TRACK_MUTE_CHANGED;
export const TRACK_REMOVED = JitsiConferenceEvents.TRACK_REMOVED;
export const TRACK_UNMUTE_REJECTED = JitsiConferenceEvents.TRACK_UNMUTE_REJECTED;
export const TRANSCRIPTION_STATUS_CHANGED = JitsiConferenceEvents.TRANSCRIPTION_STATUS_CHANGED;
export const USER_JOINED = JitsiConferenceEvents.USER_JOINED;
export const USER_LEFT = JitsiConferenceEvents.USER_LEFT;
export const USER_ROLE_CHANGED = JitsiConferenceEvents.USER_ROLE_CHANGED;
export const USER_STATUS_CHANGED = JitsiConferenceEvents.USER_STATUS_CHANGED;
export const VIDEO_UNMUTE_PERMISSIONS_CHANGED = JitsiConferenceEvents.VIDEO_UNMUTE_PERMISSIONS_CHANGED;
export const BOT_TYPE_CHANGED = JitsiConferenceEvents.BOT_TYPE_CHANGED;
export const LOBBY_USER_JOINED = JitsiConferenceEvents.LOBBY_USER_JOINED;
export const LOBBY_USER_UPDATED = JitsiConferenceEvents.LOBBY_USER_UPDATED;
export const LOBBY_USER_LEFT = JitsiConferenceEvents.LOBBY_USER_LEFT;
export const AV_MODERATION_APPROVED = JitsiConferenceEvents.AV_MODERATION_APPROVED;
export const AV_MODERATION_REJECTED = JitsiConferenceEvents.AV_MODERATION_REJECTED;
export const AV_MODERATION_CHANGED = JitsiConferenceEvents.AV_MODERATION_CHANGED;
export const AV_MODERATION_PARTICIPANT_APPROVED = JitsiConferenceEvents.AV_MODERATION_PARTICIPANT_APPROVED;
export const AV_MODERATION_PARTICIPANT_REJECTED = JitsiConferenceEvents.AV_MODERATION_PARTICIPANT_REJECTED;
export const BREAKOUT_ROOMS_MOVE_TO_ROOM = JitsiConferenceEvents.BREAKOUT_ROOMS_MOVE_TO_ROOM;
export const BREAKOUT_ROOMS_UPDATED = JitsiConferenceEvents.BREAKOUT_ROOMS_UPDATED;
export const METADATA_UPDATED = JitsiConferenceEvents.METADATA_UPDATED;