Skip to main content

MediaSFU Feature and Operation Directory

Find the outcome you need, then open the guide for your SDK. This directory describes MediaSFU operations in product language. Availability and public symbols differ by SDK, so the selected SDK page remains the installation and code entry point.

Use the generated API reference when you already know the component, class, function, or option type and need its exact signature.

Setup, security, and room authority

OperationWhat success meansStart here
Choose Cloud, self-hosted, or backend-proxy deploymentThe application has one named deployment mode and authority boundary.SDK setup and authority
Install and configure an SDKThe application resolves the documented public package entry and configuration.SDK setup and authority
Obtain a scoped room or session grantThe client receives only short-lived authority for the intended room action.SDK setup and authority
Select a room shape and UI ownership modeA room shape and prebuilt, override, custom, headless, or shared-core mode are selected.SDK setup and authority
Configure media permissions and supported devicesRequired permissions and supported input/output devices are known before joining.SDK setup and authority

Room lifecycle

OperationWhat success meansStart here
Create a room through a secure authority boundaryA room identifier and bounded join material are returned to the application.Examples and recipes
Join an existing roomThe participant reaches a validated joined state.Examples and recipes
Share and redeem a room invitationThe invited user exchanges the invitation for appropriate join authority.Examples and recipes
Leave as a participantThe participant disconnects without ending the room for others.Examples and recipes
Leave as host without ending the roomThe host disconnects while the room, remaining participants, and room duration continue so the host can rejoin.Examples and recipes
End the room as the hostThe semantic host-end action closes the room for participants.Examples and recipes
Reconnect after a transient interruptionSocket, transports, participant state, and required media recover consistently.Examples and recipes
Distinguish disconnect from host-ended room stateThe UI presents reconnect for transient loss and final exit for host end.Examples and recipes
Clean up room, grant, media, and evidence residueOwned local and server resources are removed or allowed to expire as designed.Examples and recipes

Participants, roles, and moderation

OperationWhat success meansStart here
List and render participantsThe application renders the current participant set and updates membership changes.Large rooms and moderation
Request admission or permission to speakAn authorized moderator receives a bounded request with observable state.Large rooms and moderation
Admit, reject, promote, or demote a participantThe target participant reaches the intended membership or speaking state.Large rooms and moderation
Invite or add a person safelyThe intended person receives bounded invitation material.Large rooms and moderation
Remove a participantThe target is disconnected and membership/media state updates.Large rooms and moderation
Mute or restrict a participantThe permitted media or interaction restriction is enforced and visible.Large rooms and moderation
Assign room roles and responsibilitiesHost, co-host, moderator, panelist, speaker, audience, or observer authority updates.Large rooms and moderation

Microphone, camera, streams, and rendering

OperationWhat success meansStart here
Acquire microphone and camera readinessRequested local capture is ready or a recoverable denial state is shown.Media rendering
Produce local microphone and camera mediaSelected audio and video tracks are published with observable producer state.Media rendering
Produce local microphone audioThe selected microphone track is published with observable audio-producer state.Media rendering
Produce local camera videoThe selected camera track is published with observable video-producer state.Media rendering
Consume and render remote audio and videoAuthorized remote media is consumed and rendered with observable playback state.Media rendering
Switch input or output devicesThe selected device replaces the prior route without orphaning media state.Media rendering
Mute, unmute, pause, resume, or stop tracksTrack and producer state match the requested control action.Media rendering
Start, stop, and render screen sharingThe screen producer and local/remote rendering state start and stop consistently.Media rendering
Publish screenboard, canvas, or external mediaThe intended non-camera media source is synchronized and rendered.Media rendering
Handle permission, device, autoplay, and media readiness failuresThe user receives a specific recovery path and consistent media state.Media rendering

Chat and collaboration

OperationWhat success meansStart here
Send and receive public or direct chatMessages reach the intended room or participant and render once.Large rooms and moderation
Create, vote, close, and show poll resultsPoll state, votes, visibility, and closure are consistent for authorized roles.Large rooms and moderation
Create, collaborate on, capture, and stop a whiteboardAuthorized participants share consistent whiteboard state or capture.Large rooms and moderation
Create, assign, move, return, and stop breakout roomsParticipants enter assigned rooms and return with consistent parent-room state.Large rooms and moderation
Run Q&A, hand-raise, waiting-room, and panelist workflowsRequests, admissions, panelist changes, and speaking state are observable and authorized.Large rooms and moderation
Share a file or collaboration artifactAuthorized recipients can access the intended artifact.Large rooms and moderation

Recording, captions, screenboard, and broadcast media

OperationWhat success meansStart here
Start, pause, resume, and stop recordingRecording state transitions are acknowledged and visible.Advanced capabilities
Configure a declarative custom recording sceneThe recording starts with a bounded scene whose logical sources are resolved from server-owned room state.Advanced capabilities
Apply an ordered custom recording scene mutationAn allowed visibility, content, fill, or opacity change is accepted exactly once in sequence.Advanced capabilities
Observe terminal recording completionThe final non-empty MP4 is published atomically and ordinary terminal completion is signaled once.Advanced capabilities
Manage recording consent and storage ownershipParticipants receive required notice and artifacts have a named owner and lifecycle.Advanced capabilities
Retrieve or export recording metadataAuthorized metadata or export references are returned without exposing storage credentials.Advanced capabilities
Provide transcription, captions, or translationTimed text or translated media reaches the intended participant preference.Advanced capabilities
Ingest or egress HLS, broadcast, or external mediaExternal media enters or leaves the room with observable health and timing.Advanced capabilities
Run a WebRTC stage with a synchronized HLS audienceStage and audience states remain synchronized within declared latency bounds.Advanced capabilities

AI, telephony, protocols, and custom applications

OperationWhat success meansStart here
Start an AI agent session and hand off to a humanThe agent joins with bounded authority and human handoff preserves session context safely.HTTP, AI, and custom integrations
Transfer an agent interaction to an operatorThe operator gains intended controls without duplicate or abandoned participants.HTTP, AI, and custom integrations
Enter or leave a room through SIP or PSTNThe call is bridged with correct identity, media, and hangup semantics.HTTP, AI, and custom integrations
Build a headless operator consoleThe app-owned console renders room state and invokes authorized semantic actions.HTTP, AI, and custom integrations
Integrate a widget with public participant boundariesThe embedded participant receives only intended room UI, identity, and actions.HTTP, AI, and custom integrations
Capture custom-application evidence and verify teardownThe custom flow has reproducible success/failure evidence and owned residue is cleared.HTTP, AI, and custom integrations

Turn an operation into working code

  1. Open Choose your SDK and select the package used by your app.
  2. Use that SDK page's operation table for create, join, participants, media, collaboration, recovery, and exit.
  3. Copy the complete example from the linked operation guide.
  4. Use API reference only when you need the exact option type or a lower-level public symbol.
  5. Run the guide's two-user or two-device release test.

An operation listed here is not a promise that every client SDK exposes the same direct method. Server-managed operations such as WHIP, WHEP, HLS, or AI call control may belong in your backend while an SDK remains connected for interactive WebRTC media.