Call
Public interface for an active WebRTC call.
Provides access to media streams, participants, layout, signaling events, and control actions (hangup, mute, transfer, etc.).
Extends
Properties
address
Address associated with the remote party of the call. See CallAddress.
address$
Observable of the address associated with this call. See CallAddress.
bandwidthConstrained$
Observable that emits true while the call is bandwidth-constrained.
capabilities
Set of capabilities currently granted to the local participant on this call. See Capability.
capabilities$
Observable of the local participant’s current capability set on this call. See Capability.
direction
Whether this call is inbound or outbound. See CallDirection.
errors$
Observable stream of errors raised on this call. See CallError.
from
URI of the calling party.
fromName
Display name of the calling party.
isNetworkHealthy
Whether the connection currently meets quality thresholds.
isNetworkHealthy$
Observable of the call’s current network-health state.
layout
Name of the currently active video layout.
layout$
Observable of the currently active layout name.
layoutLayers
Position and state of each layer in the active layout. See LayoutLayer.
layoutLayers$
Observable of the active layout’s layer positions. See LayoutLayer.
layouts
List of layout names available on this call.
layouts$
Observable of the list of available layout names.
localStream
Sync getter — returns null before the stream is created. See MediaStream.
localStream$
Observable that emits only non-null MediaStreams (waits until the stream exists). See MediaStream.
mediaDirections
Send/receive direction for each media track. See MediaDirections.
mediaDirections$
Observable of the per-track media direction state. See MediaDirections.
localAudioLevel$
Observable of the RMS audio level of the local microphone, 0..1. Engages the local audio pipeline on first subscription.
localMicrophoneGain$
Observable of the current local microphone gain (0..200, where 100 is unity).
localSpeaking$
Observable that is true while the local participant is speaking (RMS level above the VAD threshold, with hold time to avoid flicker).
mediaParamsUpdated$
Observable that emits when media parameters are renegotiated. See MediaParamsEvent.
networkIssues
Recent network issues detected during the call. See CallNetworkIssue.
networkIssues$
Observable stream of detected network issues. See CallNetworkIssue.
networkMetrics
Recent network-metric samples for the call. See CallNetworkMetrics.
networkMetrics$
Observable of periodic network-metric samples. See CallNetworkMetrics.
qualityLevel$
Observable of the categorical call-quality level. See QualityLevel.
qualityScore$
Observable of the numeric call-quality score (0–5).
recoveryEvent$
Observable stream of call-recovery events. See RecoveryEvent.
recoveryState$
Observable of the current recovery state. See RecoveryState.
remoteAudioLevel$
Observable of the aggregate remote audio level, 0..1 RMS. The server delivers a single mixed stream for all remote participants — this meter reports that mix.
remoteStream
Remote MediaStream for the call, or null if not yet available. See MediaStream.
remoteStream$
Observable that emits only non-null MediaStreams (waits until the stream exists). See MediaStream.
rtcPeerConnection
Underlying RTCPeerConnection, or undefined if not yet established.
self
Local participant on the call, or null before join. See CallSelfParticipant.
self$
Observable of the local participant. It withholds emission until self exists, so it never emits null — unlike self. See CallSelfParticipant.
signalingEvent$
Observable stream of raw signaling events.
to
URI of the called party.
toName
Display name of the called party.
userVariables
Map of arbitrary user-defined variables associated with the call.
userVariables$
Observable of the call’s user-variables bag.
Inherited from CallState
id
Unique identifier for this call.
locked
Whether the call is locked to new participants.
locked$
Observable of the call’s locked state.
meta
Arbitrary metadata bag associated with the call or member.
meta$
Observable of the call-level metadata bag.
participants
Current set of participants in the call. See CallParticipant.
participants$
Observable of the current participant list. See CallParticipant.
raiseHandPriority
Whether raise-hand priority mode is active.
raiseHandPriority$
Observable of the raise-hand priority mode state.
recording
Whether a server-side recording is currently in progress.
recording$
Observable of the current recording state.
status
Lifecycle status of the call. See CallStatus.
status$
Observable of the call’s lifecycle status. See CallStatus.
streaming
Whether a server-side stream is currently active.
streaming$
Observable of the current streaming state.
Methods
answer()
Parameters
options
Per-call options for this operation (media constraints, RPC timeouts, or transfer target depending on context). See MediaOptions.
Returns
void
disablePushToTalk()
Tears down the push-to-talk pipeline; microphone gain returns to its configured value. A no-op if push-to-talk was never enabled.
Returns
void
enablePushToTalk()
Enables push-to-talk: while setPushToTalkActive is false the microphone gain is forced to 0, and true restores the configured gain. No keyboard listener is installed — bind the key yourself.
Returns
void
execute()
Type Parameters
Parameters
request
Outgoing JSON-RPC request to send. See JSONRPCRequest.
options
Per-call options for this operation (media constraints, RPC timeouts, or transfer target depending on context). See PendingRPCOptions.
Returns
Promise<T>
executeMethod()
Type Parameters
Parameters
target
The local member’s valid ID.
method
RPC method name to execute on the server.
args
Method-specific arguments to pass with the RPC.
Returns
Promise<T>
hangup()
Returns
Promise<void>
reject()
Returns
void
requestIceRestart()
Returns
Promise<void>
requestKeyframe()
Returns
void
sendDigits()
Parameters
digits
DTMF digit string to send.
Returns
Promise<void>
setAutoGainControl()
Parameters
enabled
Whether automatic gain control should be enabled.
Returns
Promise<boolean> — whether the constraint reached the microphone.
setEchoCancellation()
Parameters
enabled
Whether echo cancellation should be enabled.
Returns
Promise<boolean> — whether the constraint reached the microphone.
setLayout()
Parameters
layout
Name of the currently active video layout.
positions
Map of member IDs to layout positions. Pass {} to change only the layout and let the server place members. See VideoPosition.
Returns
Promise<void>
setLocalMicrophoneGain()
Parameters
value
Gain as a percentage applied before transmission: 0 is silent, 100 is unity (the default), 200 is a 2× digital boost. Clamped to 0–200.
Returns
void
setMeta()
Parameters
meta
Arbitrary metadata bag associated with the call or member.
Returns
Promise<void>
Inherited from
setNoiseSuppression()
Parameters
enabled
Whether noise suppression should be enabled.
Returns
Promise<boolean> — whether the constraint reached the microphone.
setPushToTalkActive()
While push-to-talk is enabled, sets the talk state. A no-op if push-to-talk has not been enabled.
Parameters
active
true while transmitting, false while silent.
Returns
void
startRecording()
Returns
Promise<void>
startStreaming()
Returns
Promise<void>
subscribe()
Parameters
eventType
Name of the event to subscribe to.
Returns
Observable<Record<string, unknown>>
toggleHold()
Returns
Promise<void>
toggleIncomingAudio()
Returns
Promise<void>
toggleIncomingVideo()
Returns
Promise<void>
toggleLock()
Returns
Promise<void>
transfer()
Parameters
options
Per-call options for this operation (media constraints, RPC timeouts, or transfer target depending on context). See TransferOptions.
Returns
Promise<void>
updateMeta()
Parameters
meta
Arbitrary metadata bag associated with the call or member.
Returns
Promise<void>