lib-jitsi-meet
    Preparing search index...

    Class JitsiConference

    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).

    properties / settings related to the conference that will be created.

    the name of the conference

    the JitsiConnection object for this JitsiConference.

    how many samples are to be collected by AvgRTPStatsReporter, before arithmetic mean is calculated and submitted to the analytics module.

    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.

    a delay given in seconds, before the conference switches back to P2P, after the 3rd participant has left the room.

    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.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    addCommandListener addLobbyMessageListener addTrack avModerationApprove avModerationReject broadcastEndpointMessage createVideoSIPGWSession dial disableAVModeration disableLobby dispose enableAVModeration enableLobby end getActiveMediaSession getActivePeerConnection getAuthLogin getBreakoutRooms getConnection getConnectionState getConnectionTimes getFileSharing getLastN getLocalAudioTrack getLocalParticipantProperty getLocalTracks getLocalVideoTrack getLocalVideoTracks getMediaSessions getMeetingUniqueId getMetadataHandler getName getP2PConnectionState getParticipantById getParticipantCount getParticipants getPhoneNumber getPhonePin getProperty getRole getShortTermCredentials getSpeakerStats getSsrcByTrack getTranscriptionStatus grantOwner hangup isAuthEnabled isAVModerationSupported isConnectionInterrupted isDTMFSupported isE2EEEnabled isE2EESupported isEndConferenceSupported isHidden isJoined isLobbySupported isLoggedIn isMembersOnly isModerator isP2PActive isP2PEnabled isP2PTestModeEnabled isSIPCallingSupported isVisitorsSupported join joinLobby kickParticipant leave lobbyApproveAccess lobbyDenyAccess lock markParticipantVerified muteParticipant muteRemoteAudio myLobbyUserId myUserId removeCommand removeCommandListener removeLobbyMessageHandler removeLocalParticipantProperty removeTrack replaceTrack revokeOwner sendApplicationLog sendCommand sendCommandOnce sendEndpointMessage sendFaceLandmarks sendFeedback sendLobbyMessage sendMessage sendPrivateTextMessage sendReaction sendTextMessage sendTones setAssumedBandwidthBps setAudioSubscriptionMode setDesktopSharingFrameRate setDisplayName setIsSilent setLastN setLocalParticipantProperty setMediaEncryptionKey setReceiverConstraints setReceiverVideoConstraint setSenderVideoConstraint setStartMutedPolicy setSubject setTranscriptionLanguage startRecording startVerification stopRecording toggleE2EE unlock updateDTMFSupport resourceCreator

    Constructors

    Properties

    authEnabled: boolean
    authIdentity?: string
    avgRtpStatsReporter?: AvgRTPStatsReporter
    backToP2PDelay: number
    componentsVersions: ComponentsVersions
    connection: JitsiConnection
    connectionQuality: ConnectionQuality
    deferredStartP2PTask?: number
    dominantSpeakerIsSilent?: boolean
    dtmfManager?: object
    e2eping?: E2ePing
    eventManager: JitsiConferenceEventManager
    isDesktopMutedByFocus: boolean
    isJvbConnectionInterrupted: boolean
    isMutedByFocus: boolean
    isP2PConnectionInterrupted: boolean
    isVideoMutedByFocus: boolean
    jvb121Status?: Jvb121EventGenerator
    jvbEstablishmentDuration?: number
    jvbJingleSession?: JingleSessionPC
    lastDominantSpeaker?: string
    mutedByFocusActor?: string
    mutedDesktopByFocusActor?: string
    mutedVideoByFocusActor?: string
    p2p: boolean
    p2pDominantSpeakerDetection?: P2PDominantSpeakerDetection
    p2pEstablishmentDuration?: number
    p2pJingleSession?: JingleSessionPC
    participants: Map<string, JitsiParticipant>
    qualityController?: QualityController
    recordingManager: RecordingManager
    room?: ChatRoom
    rtc?: RTC
    somebodySupportsDTMF: boolean
    speakerStatsCollector: SpeakerStatsCollector
    startMutedPolicy: IStartMutedPolicy
    statistics?: Statistics
    videoSIPGWHandler: VideoSIPGW
    wasStopped: boolean

    Methods

    • Receives notifications from other participants about commands / custom events (sent by sendCommand or sendCommandOnce methods).

      Parameters

      • command: string

        The name of the command.

      • handler: EventListener

        Handler for the command.

      Returns void

    • Adds a message listener to the lobby room

      Parameters

      • listener: (message: object) => void

        The listener function, called when a new message is received in the lobby room.

      Returns EventListener

      Handler returned to be able to remove it later.

    • Adds JitsiLocalTrack object to the conference.

      Parameters

      • track: JitsiLocalTrack

        The JitsiLocalTrack object.

      Returns Promise<void>

      If the specified track is a video track and there is already another video track in the conference.

    • Approve participant access to certain media, allows unmuting audio or video.

      Parameters

      • mediaType: MediaType

        "audio", "desktop" or "video"

      • id: string

        the id of the participant.

      Returns void

    • Reject participant access to certain media, blocks unmuting audio or video.

      Parameters

      • mediaType: MediaType

        "audio", "desktop" or "video"

      • id: string

        the id of the participant.

      Returns void

    • Sends a broadcast message via the data channel.

      Parameters

      • payload: object

        The payload of the message.

      Returns void

      If the operation fails.

      Use 'sendMessage' instead. TODO: this should be private.

    • 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. 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.

      Parameters

      • sipAddress: string

        The sip address to be used.

      • displayName: string

        The display name to be used for this session.

      Returns Error | JitsiVideoSIPGWSession

      Returns null if conference is not initialised and there is no room.

    • Dials a phone number to join the conference.

      Parameters

      • number: string

        The phone number to dial.

      Returns Promise<void>

      Resolves when the dial is successful, rejects otherwise.

    • Disables AV Moderation.

      Parameters

      • mediaType: MediaType

        "audio", "desktop" or "video"

      Returns void

    • Disposes of conference resources. This operation is a short-hand for leaving the conference and disconnecting the connection.

      Returns Promise<void>

    • Enables AV Moderation.

      Parameters

      • mediaType: MediaType

        "audio", "desktop" or "video"

      Returns void

    • Enables lobby by moderators

      Returns Promise<void>

      resolves when lobby room is joined or rejects with the error.

    • Returns the currently active media session if any.

      Returns JingleSessionPC

    • Returns the active peer connection (P2P or JVB).

      Returns TraceablePeerConnection

      The active peer connection or null if none is available.

    • Returns the breakout rooms manager object.

      Returns BreakoutRooms

      the breakout rooms manager.

    • 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".

      Returns string

      The ICE connection state or null if no active peer connection exists.

    • Returns measured connection times.

      Returns object

      The connection times for the room.

    • Returns the file sharing manager object.

      Returns FileSharing

      the file sharing manager.

    • Obtains local audio track.

      Returns JitsiLocalTrack

    • Gets a local participant property.

      Parameters

      • name: string

        The name of the property to retrieve.

      Returns string

      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.

      Parameters

      • OptionalmediaType: MediaType

        Optional media type (audio or video).

      Returns JitsiLocalTrack[]

    • Obtains local video track.

      Returns JitsiLocalTrack

    • Returns all the local video tracks.

      Returns JitsiLocalTrack[]

    • Returns an array containing all media sessions existing in this conference.

      Returns JingleSessionPC[]

    • Returns the meeting unique ID if any.

      Returns string

      The meeting ID or undefined if not available.

    • Returns the metadata handler object.

      Returns RoomMetadata

      the room metadata handler.

    • Returns the current ICE state of the P2P connection. NOTE: method is used by the jitsi-meet-torture tests.

      Returns string

      an ICE state or null if there's currently no P2P connection.

    • Returns the number of participants in the conference, including the local participant.

      Parameters

      • countHidden: boolean = false

        {boolean} Whether or not to include hidden participants in the count. Default: false.

      Returns number

    • Returns the phone number for joining the conference.

      Returns string

      The phone number or null if not available.

    • Returns the PIN for joining the conference via phone.

      Returns string

      The phone PIN or null if not available.

    • Gets a conference property with a given key.

      Parameters

      • key: string

        The key.

      Returns any

      The value

    • Get role of the local user.

      Returns string

      User role: 'moderator' or 'none'.

    • Requests short-term credentials from the backend if available.

      Parameters

      • service: string

        The service for which to request the credentials.

      Returns Promise<string>

      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

      Returns { [userId: string]: SpeakerStats }

      The speaker statistics.

    • Finds the SSRC of a given track.

      Parameters

      • track: JitsiTrack

        The track to find the SSRC for.

      Returns number

      The SSRC of the specified track, or undefined if not found.

    • Returns the transcription status.

      Returns string

      "on" or "off".

    • Grant owner rights to the participant.

      Parameters

      • id: string

        id of the participant to grant owner rights to.

      Returns void

    • Hangs up an existing call.

      Returns Promise<void>

      Resolves when the hangup is successful.

    • Check if authentication is enabled for this conference.

      Returns boolean

    • Returns true if AV Moderation support is enabled in the backend.

      Returns boolean

      whether AV Moderation is supported in the backend.

    • Checks if the connection is interrupted.

      Returns boolean

      True if the connection is interrupted, false otherwise.

    • Allows to check if there is at least one user in the conference that supports DTMF.

      Returns boolean

      True if somebody supports DTMF, false otherwise.

    • Returns whether End-To-End encryption is enabled.

      Returns boolean

    • Returns whether End-To-End encryption is supported. Note that not all participants in the conference may support it.

      Returns boolean

    • Returns true if end conference support is enabled in the backend.

      Returns boolean

      whether end conference is supported in the backend.

    • Returns whether or not the current conference has been joined as a hidden user.

      Returns boolean

      True if hidden, false otherwise. Will return false if no connection is active.

    • Check if joined to the conference.

      Returns boolean

      True if joined, false otherwise.

    • Returns true if lobby support is enabled in the backend.

      Returns boolean

      whether lobby is supported in the backend.

    • Returns true if the room has members only enabled.

      Returns boolean

      whether conference room is members only.

    • Check if local user is moderator.

      Returns boolean

      true if local user is moderator, false otherwise. If we're no longer in the conference room then false 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.

      Returns boolean

      true if in P2P mode or false otherwise.

    • Tells whether or not the P2P mode is enabled in the configuration.

      Returns boolean

      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.

      Returns boolean

      True if P2P test mode is enabled, false otherwise.

    • Returns true if SIP calls are supported, false otherwise.

      Returns boolean

      True if SIP calling is supported, false otherwise.

    • Returns true if the room supports visitors feature.

      Returns boolean

      whether conference room has visitors support.

    • Joins the conference.

      Parameters

      • password: string = ''

        {string} the password

      • replaceParticipant: boolean = false

        {boolean} whether the current join replaces an existing participant with same jwt from the meeting.

      Returns void

    • Joins the lobby room with display name and optional email or with a shared password to skip waiting.

      Parameters

      • displayName: string

        Display name should be set to show it to moderators.

      • email: string

        Optional email is used to present avatar to the moderator.

      Returns Promise<void>

    • Kick participant from this conference.

      Parameters

      • id: string

        id of the participant to kick

      • reason: string

        reason of the participant to kick

      Returns void

    • Leaves the conference.

      Parameters

      • Optionalreason: string

        The reason for leaving the conference.

      Returns Promise<void>

    • Approves the request to join the conference to a participant waiting in the lobby.

      Parameters

      • param: string | string[]

        The participant id or an array of ids.

      Returns void

    • Denies an occupant in the lobby room access to the conference.

      Parameters

      • id: string

        The participant id.

      Returns void

    • Set password for the room.

      Parameters

      • password: string

        new password for the room.

      Returns Promise<void>

    • Marks the given participant as verified. After this is done, MAC verification will be performed and an event will be emitted with the result.

      Parameters

      • participantId: string

        The participant which will be marked as verified.

      • isVerified: boolean

        whether the verification was succesfull.

      Returns void

    • Mutes a participant.

      Parameters

      • id: string

        The id of the participant to mute.

      • mediaType: MediaType = MediaType.AUDIO

      Returns void

    • Mutes or unmutes the remote audio streams based on the provided parameter.

      Parameters

      • muted: boolean

        Whether the user should stop receiving remote audio.

      Returns void

    • 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 string

    • Returns the local user's ID.

      Returns string

      Local user's ID or null if not available.

    • Removes presence command.

      Parameters

      • name: string

        The name of the command.

      Returns void

    • Removes command listener.

      Parameters

      • command: string

        The name of the command.

      • handler: EventListener

        Handler to remove for the command.

      Returns void

    • Removes a message handler from the lobby room

      Parameters

      • handler: (message: object) => void

        The handler function to remove.

      Returns void

    • Removes a property for the local participant and sends the updated presence.

      Parameters

      • name: string

        The name of the property to remove.

      Returns void

    • Removes JitsiLocalTrack from the conference and performs a new offer/answer cycle.

      Parameters

      • track: JitsiLocalTrack

        The track to remove.

      Returns Promise<void>

    • 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'

      Parameters

      • OptionaloldTrack: JitsiLocalTrack

        The current stream in use to be replaced.

      • OptionalnewTrack: JitsiLocalTrack

        The new stream to use.

      Returns Promise<void>

      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.

      Parameters

      • id: string

        id of the participant to revoke owner rights to.

      Returns void

    • Sends an application log (no-op since callstats is no longer supported).

      Returns void

    • Send presence command.

      Parameters

      • name: string

        The name of the command.

      • values: Record<string, unknown>

        With keys and values that will be sent.

      Returns void

    • Send presence command one time.

      Parameters

      • name: string

        The name of the command.

      • values: Record<string, unknown>

        With keys and values that will be sent.

      Returns void

    • Sends a message via the data channel.

      Parameters

      • to: string

        The ID of the endpoint to receive the message, or empty string to broadcast.

      • payload: object

        The payload of the message.

      Returns void

      If the operation fails.

      Use 'sendMessage' instead. TODO: this should be private.

    • Sends a face landmarks object to the xmpp server.

      Parameters

      • payload: IFaceLandmarksPayload

        The face landmarks data to send.

      Returns void

    • Sends feedback if enabled.

      Parameters

      • overallFeedback: number

        An integer between 1 and 5 indicating user feedback.

      • detailedFeedback: string

        Detailed feedback from the user (not yet used).

      Returns Promise<void>

      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.

      Parameters

      • message: object

        The message to send

      • id: string

        The participant id.

      Returns void

    • Sends a message to a given endpoint or broadcasts it to all endpoints.

      Parameters

      • message: any

        The message to send (string for chat, object for JSON).

      • Optionalto: string = ''

        The ID of the recipient endpoint, or empty string to broadcast.

      • OptionalsendThroughVideobridge: boolean = false

        Whether to send through jitsi-videobridge.

      Returns void

    • Sends private text message to another participant of the conference.

      Parameters

      • id: string

        The ID of the participant to send a private message.

      • message: string

        The text message.

      • OptionalelementName: string = 'body'

        The element name to encapsulate the message.

      • useFullJid: boolean = false

      Returns void

      Use 'sendMessage' instead. TODO: this should be private.

    • Sends a reaction to the other participants in the conference.

      Parameters

      • reaction: string

        The reaction.

      • messageId: string

        The ID of the message to attach the reaction to.

      • receiverId: string

        The intended recipient, if the message is private.

      Returns void

    • Sends text message to the other participants in the conference.

      Parameters

      • message: string

        The text message.

      • OptionalelementName: string = 'body'

        The element name to encapsulate the message.

      Returns void

      Use 'sendMessage' instead. TODO: this should be private.

    • Sends DTMF tones to the active peer connection.

      Parameters

      • tones: string

        The DTMF tones to send.

      • duration: number

        The duration of each tone in milliseconds.

      • pause: number

        The pause duration between tones in milliseconds.

      Returns void

    • Sets the assumed bandwidth bps for the video that is requested from the bridge.

      Parameters

      • assumedBandwidthBps: number

        The bandwidth value expressed in bits per second.

      Returns void

    • Sets the audio subscription mode for the local user.

      Parameters

      • message: IReceiverAudioSubscriptionMessage

        The audio subscription mode to set.

      Returns void

    • Configures the peerconnection so that a given framre rate can be achieved for desktop share.

      Parameters

      • maxFps: number

        The capture framerate to be used for desktop tracks.

      Returns boolean

      true if the operation is successful, false otherwise.

    • Sets the display name for this conference.

      Parameters

      • name: string

        The display name to set.

      Returns void

    • Set join without audio.

      Parameters

      • silent: boolean

        Whether user joined without audio.

      Returns void

    • 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.

      Parameters

      • lastN: number

        the new number of videos the user would like to receive.

      Returns void

      Error or RangeError if the given value is not a number or is smaller than -1.

    • Sets a property for the local participant.

      Parameters

      • name: string

        The name of the property.

      • value: string | string[]

        The value of the property.

      Returns void

    • Sets the key and index for End-to-End encryption.

      Parameters

      • keyInfo: CryptoKey
        • encryptionKey

          encryption key.

        • index

          the index of the encryption key.

      Returns void

    • Sets the constraints for the video that is requested from the bridge.

      Parameters

      • videoConstraints: IReceiverVideoConstraints

        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.

      Returns void

    • Sets the maximum video size the local participant should receive from remote participants.

      Parameters

      • maxFrameHeight: number

        the maximum frame height, in pixels, this receiver is willing to receive.

      Returns void

    • Sets the maximum video size the local participant should send to remote participants.

      Parameters

      • maxFrameHeight: number

        The user preferred max frame height.

      Returns Promise<void>

      promise that will be resolved when the operation is successful and rejected otherwise.

    • Sets the start muted policy for new participants.

      Parameters

      • policy: { audio: boolean; video: boolean }

        Object with boolean properties for audio and video muting.

        • audio: boolean

          Whether audio should be muted for new participants.

        • video: boolean

          Whether video should be muted for new participants.

      Returns void

    • Set new subject for this conference. (Available only for moderator)

      Parameters

      • subject: string

        New subject.

      Returns void

    • 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.

      Parameters

      • lang: string

        The new transcription language to be used.

      Returns void

    • Starts recording the current conference.

      Parameters

      • options: IRecordingOptions

        Configuration for the recording.

      Returns Promise<JibriSession>

      Resolves when recording starts successfully, rejects otherwise.

    • Starts the participant verification process.

      Parameters

      • participantId: string

        The participant which will be marked as verified.

      Returns void

    • Stops a recording session.

      Parameters

      • sessionID: string

        The ID of the recording session to stop.

      Returns Promise<void>

      Resolves when recording stops successfully, rejects otherwise.

    • Enables / disables End-to-End encryption.

      Parameters

      • enabled: boolean

        whether to enable E2EE or not.

      Returns void

    • Updates DTMF support based on participants' capabilities.

      Returns void

    • Create 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.

      Parameters

      • jid: string

        The id set onto the XMPP connection.

      • isAuthenticatedUser: boolean

        Whether or not the user has connected to the XMPP service with a password.

      Returns string