Skip to main content
JitsiParticipant represents a remote participant in a conference. It provides access to participant properties, tracks, and features.

Overview

Participant objects are created automatically by the conference and provided through events. You cannot construct them directly.

Identity Information

getId()

Returns the unique identifier of the participant.
string
Participant’s unique ID (typically 8 hex characters)

getJid()

Returns the full XMPP JID of the participant.
string
Full JID (e.g., room@conference.domain/participantId)

getDisplayName()

Returns the participant’s display name.
string
The participant’s display name, or empty string if not set

getStatsID()

Returns the statistics ID for this participant.
string
Statistics identifier for analytics

getStatus()

Returns the participant’s status text.
string
Participant’s status text

getIdentity()

Returns the XMPP identity object (defined in JWT context claims).
object | undefined
Identity object from JWT, or undefined if not available

Role & Permissions

getRole()

Returns the participant’s role.
string
Role: 'moderator', 'participant', or 'none'

isModerator()

Checks if the participant is a moderator.
boolean
true if participant is a moderator

Track Information

getTracks()

Returns all media tracks for this participant.
Array<JitsiRemoteTrack>
Array of all remote tracks from this participant
Example:

getTracksByMediaType()

Returns tracks filtered by media type.
'audio' | 'video'
required
Media type to filter
Array<JitsiRemoteTrack>
Array of tracks of the specified media type

isAudioMuted()

Checks if the participant’s audio is muted.
boolean
true if audio is muted

isVideoMuted()

Checks if the participant’s video is muted.
boolean
true if video is muted

Source Information

getSources()

Returns source information for all media tracks.
Map<MediaType, Map<string, object>>
Nested map structure:
  • Outer key: Media type ('audio' or 'video')
  • Inner key: Source name
  • Inner value: Source info object with muted (boolean) and videoType (string) properties
Example:

Features & Capabilities

getFeatures()

Returns the set of features supported by this participant.
Promise<Set<string>>
Promise resolving to a Set of feature URNs
Example:

hasFeature()

Checks if the participant has a specific feature.
string
required
Feature URN to check
boolean
true if participant has the feature

supportsDTMF()

Checks if the participant supports DTMF.
boolean
true if DTMF is supported

Custom Properties

getProperty()

Gets a custom property value.
string
required
Property name
any
Property value, or undefined if not set
Common Properties:

Special Participant Types

isHidden()

Checks if this is a hidden participant (e.g., recorder, transcriber).
boolean
true if participant is hidden from UI

isHiddenFromRecorder()

Checks if participant should be hidden from recordings.
boolean
true if participant should not appear in recordings

getBotType()

Returns the bot type if this participant is a bot.
string | undefined
Bot type (e.g., 'poltergeist' for load testing bots), or undefined for human participants

isSilent()

Checks if participant joined without audio.
boolean
true if participant joined silently (no audio capability)

isReplacing()

Checks if this participant is replacing another participant.
boolean
true if participant is replacing another

isReplaced()

Checks if this participant is being replaced.
boolean
true if participant will be replaced and kicked

Connection Information

getConnectionJid()

Returns the connection JID (useful for visitors/observers).
string | undefined
Connection JID, or undefined if not available

getConference()

Returns the conference this participant belongs to.
JitsiConference
The parent conference object

Events

Participant changes are communicated through conference events: