> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # WebRTCCall > Concrete WebRTC call implementation. `WebRTCCall` represents an active call between the local user and one or more remote participants. Instances are never constructed directly by applications — they are returned by [`SignalWire.dial`](/docs/browser-sdk/v4/reference/signalwire#dial) for outbound calls, or surfaced through the inbound-call flow once the user has [`register`](/docs/browser-sdk/v4/reference/signalwire#register)ed. The class owns every aspect of an in-progress call: signaling (`RTCPeerConnection`, Verto messages), local and remote media streams, participant roster, layout, recording/streaming state, and network-quality telemetry. State is exposed in two complementary forms — a snapshot getter (e.g. [`locked`](/docs/browser-sdk/v4/reference/webrtc-call/locked\$#locked)) for one-shot reads and an observable (e.g. [`locked$`](/docs/browser-sdk/v4/reference/webrtc-call/locked\$)) for reactive UI binding. Event streams that have no snapshot equivalent end in `$` only (e.g. [`memberJoined$`](/docs/browser-sdk/v4/reference/webrtc-call/member-joined\$), [`signalingEvent$`](/docs/browser-sdk/v4/reference/webrtc-call/signaling-event\$)). The available control methods depend on the capabilities granted by the server at join time — inspect [`capabilities$`](#capabilities-1) before exposing a control in your UI. Calling [`hangup`](#hangup) ends the call locally and transitions [`status$`](#status-1) to `disconnected`; the instance is then safe to release. ## **Extends** * `Destroyable` ## **Implements** * `CallManager` * [`Call`](/docs/browser-sdk/v4/reference/interfaces/call) ## **Constructors** ### Constructor ```ts new WebRTCCall(clientSession, options, initialization, address?): WebRTCCall ``` #### Parameters **`clientSession`** `ClientSession` — required Active client session created by `SignalWire`. Provides the signaling transport and authentication context for the call. --- **`options`** `CallOptions` — required Media and behavior options for this call (audio/video constraints, recovery, etc.). See [`CallOptions`](/docs/browser-sdk/v4/reference/interfaces/call-options). --- **`initialization`** `CallInitialization` — required Initialization payload supplied by the SDK when constructing the call. Carries direction, remote address, and any inbound-call metadata. --- **`address`** `Address` Optional pre-resolved `Address` for the destination. When omitted, the address is derived from the dial string or inbound signaling. --- #### Returns `WebRTCCall` ## **Properties** **`id`** `string` — required Unique identifier for this call. --- **`to`** `string` Destination URI this call was placed to. --- ## **Accessors** #### [address\$](/docs/browser-sdk/v4/reference/webrtc-call/address\$) Observable of the address associated with this call. #### [answered\$](/docs/browser-sdk/v4/reference/webrtc-call/answered\$) Observable that emits `true` when answered, `false` when rejected. #### [answerMediaOptions](/docs/browser-sdk/v4/reference/webrtc-call/answer-media-options) Media options provided when answering. Used internally by the VertoManager. #### [bandwidthConstrained\$](/docs/browser-sdk/v4/reference/webrtc-call/bandwidth-constrained\$) Observable indicating whether the call is bandwidth-constrained. #### [callEvent\$](/docs/browser-sdk/v4/reference/webrtc-call/call-event\$) Observable of all call-related event payloads (join, leave, member updates, layout changes, etc.). #### [callStates\$](/docs/browser-sdk/v4/reference/webrtc-call/call-states\$) Observable of call state-change events. #### [callUpdated\$](/docs/browser-sdk/v4/reference/webrtc-call/call-updated\$) Observable of call-updated events. #### [capabilities\$](/docs/browser-sdk/v4/reference/webrtc-call/capabilities\$) Observable of the call's capability flags. #### [destroyed\$](/docs/browser-sdk/v4/reference/webrtc-call/destroyed\$) Observable that emits when the instance is destroyed #### [direction](/docs/browser-sdk/v4/reference/webrtc-call/direction) Whether this call is `'inbound'` or `'outbound'`. #### [errors\$](/docs/browser-sdk/v4/reference/webrtc-call/errors\$) Observable stream of errors from media, signaling, and peer connection layers. #### [from](/docs/browser-sdk/v4/reference/webrtc-call/from) Address URI of the caller. #### [fromName](/docs/browser-sdk/v4/reference/webrtc-call/from-name) Display name of the caller. #### [isNetworkHealthy\$](/docs/browser-sdk/v4/reference/webrtc-call/is-network-healthy\$) Simple boolean health indicator derived from stats monitor. #### [layout\$](/docs/browser-sdk/v4/reference/webrtc-call/layout\$) Observable of the current layout name. #### [layoutEvent\$](/docs/browser-sdk/v4/reference/webrtc-call/layout-event\$) Observable of layout-changed event payloads. #### [layoutLayers\$](/docs/browser-sdk/v4/reference/webrtc-call/layout-layers\$) Observable of layout layer positions for all participants. #### [layouts\$](/docs/browser-sdk/v4/reference/webrtc-call/layouts\$) Observable of available layout names. #### [layoutUpdates\$](/docs/browser-sdk/v4/reference/webrtc-call/layout-updates\$) Observable of layout-changed events. #### [localAudioLevel\$](/docs/browser-sdk/v4/reference/webrtc-call/local-audio-level\$) Observable of the RMS audio level of the local microphone, 0..1. Emits at \~30fps while a mic track is active. Engages the local audio pipeline on first subscription. #### [localMicrophoneGain\$](/docs/browser-sdk/v4/reference/webrtc-call/local-microphone-gain\$) Observable of the current local microphone gain (0..200, where 100 = unity). #### [localSpeaking\$](/docs/browser-sdk/v4/reference/webrtc-call/local-speaking\$) Observable that is `true` while the local participant is speaking (RMS level above the VAD threshold, with hold time to avoid flicker). #### [localStream\$](/docs/browser-sdk/v4/reference/webrtc-call/local-stream\$) Observable of the local media stream (camera/microphone). #### [locked\$](/docs/browser-sdk/v4/reference/webrtc-call/locked\$) Observable indicating whether the call room is locked. #### [mediaDirections\$](/docs/browser-sdk/v4/reference/webrtc-call/media-directions\$) Observable of the current audio/video send/receive directions. #### [mediaParamsUpdated\$](/docs/browser-sdk/v4/reference/webrtc-call/media-params-updated\$) Observable that emits when server-pushed media params are applied. #### [memberJoined\$](/docs/browser-sdk/v4/reference/webrtc-call/member-joined\$) Observable of member-joined events, emitted when a remote participant joins the call. #### [memberLeft\$](/docs/browser-sdk/v4/reference/webrtc-call/member-left\$) Observable of member-left events, emitted when a participant leaves the call. #### [memberTalking\$](/docs/browser-sdk/v4/reference/webrtc-call/member-talking\$) Observable of member-talking events (speech start/stop). #### [memberUpdated\$](/docs/browser-sdk/v4/reference/webrtc-call/member-updated\$) Observable of member-updated events (mute, volume, etc.). #### [meta\$](/docs/browser-sdk/v4/reference/webrtc-call/meta\$) Observable of custom metadata associated with the call. #### [networkIssues\$](/docs/browser-sdk/v4/reference/webrtc-call/network-issues\$) Observable of current network health issues (empty array = healthy). #### [networkMetrics\$](/docs/browser-sdk/v4/reference/webrtc-call/network-metrics\$) Rolling history of raw network metrics (RTT, jitter, packet loss, bitrate). #### [nodeId\$](/docs/browser-sdk/v4/reference/webrtc-call/node-id\$) Observable of the server node ID handling this call. #### [participants\$](/docs/browser-sdk/v4/reference/webrtc-call/participants\$) Observable of the participants list, emits on join/leave/update. #### [participantsId\$](/docs/browser-sdk/v4/reference/webrtc-call/participants-id\$) Observable of the current participant ID list for the call. #### [qualityLevel\$](/docs/browser-sdk/v4/reference/webrtc-call/quality-level\$) Observable of simplified quality level (excellent/good/fair/poor/critical). #### [qualityScore\$](/docs/browser-sdk/v4/reference/webrtc-call/quality-score\$) Observable of MOS quality score (1-5) computed from stats metrics. #### [raiseHandPriority\$](/docs/browser-sdk/v4/reference/webrtc-call/raise-hand-priority\$) Observable indicating whether raise-hand priority is active. #### [recording\$](/docs/browser-sdk/v4/reference/webrtc-call/recording\$) Observable indicating whether the call is being recorded. #### [recoveryEvent\$](/docs/browser-sdk/v4/reference/webrtc-call/recovery-event\$) Observable of recovery events (keyframe requested, ICE restart, etc.). #### [recoveryState\$](/docs/browser-sdk/v4/reference/webrtc-call/recovery-state\$) Observable of the recovery pipeline state machine. #### [remoteAudioLevel\$](/docs/browser-sdk/v4/reference/webrtc-call/remote-audio-level\$) Observable of the aggregate remote audio level, 0..1 RMS. #### [remoteStream\$](/docs/browser-sdk/v4/reference/webrtc-call/remote-stream\$) Observable of the remote media stream from the far end. #### [rtcPeerConnection](/docs/browser-sdk/v4/reference/webrtc-call/rtc-peer-connection) Underlying `RTCPeerConnection`, for advanced use cases. #### [self\$](/docs/browser-sdk/v4/reference/webrtc-call/self\$) Observable of the local (self) participant. #### [selfId\$](/docs/browser-sdk/v4/reference/webrtc-call/self-id\$) Observable of the local participant's member ID. #### [signalingEvent\$](/docs/browser-sdk/v4/reference/webrtc-call/signaling-event\$) Observable of raw signaling events as plain objects. #### [status\$](/docs/browser-sdk/v4/reference/webrtc-call/status\$) Observable of the current call status (e.g. `'ringing'`, `'connected'`). #### [streaming\$](/docs/browser-sdk/v4/reference/webrtc-call/streaming\$) Observable indicating whether the call is being streamed. #### [toName](/docs/browser-sdk/v4/reference/webrtc-call/to-name) Display name of the callee. #### [userVariables\$](/docs/browser-sdk/v4/reference/webrtc-call/user-variables\$) Observable of custom user variables associated with the call. #### [webrtcMessages\$](/docs/browser-sdk/v4/reference/webrtc-call/webrtc-messages\$) Observable of raw WebRTC message payloads received on this call. ## **Methods** #### [answer](/docs/browser-sdk/v4/reference/webrtc-call/answer) Accepts an inbound call, optionally overriding media options for the answer. #### [destroy](/docs/browser-sdk/v4/reference/webrtc-call/destroy) Destroys the call, releasing all resources and subscriptions. #### [disablePushToTalk](/docs/browser-sdk/v4/reference/webrtc-call/disable-push-to-talk) Disable push-to-talk; mic gain returns to the configured value. #### [enablePushToTalk](/docs/browser-sdk/v4/reference/webrtc-call/enable-push-to-talk) Enable push-to-talk: while setPushToTalkActive has been called with `false`, the microphone gain is forced to 0; calling setPushToTalkActive with `true` restores the configured gain. #### [execute](/docs/browser-sdk/v4/reference/webrtc-call/execute) Executes a raw JSON-RPC request on the client session. #### [executeMethod](/docs/browser-sdk/v4/reference/webrtc-call/execute-method) Executes a Verto RPC method targeting a specific participant. #### [hangup](/docs/browser-sdk/v4/reference/webrtc-call/hangup) Hangs up the call and releases all resources. #### [notifyModifyFailed](/docs/browser-sdk/v4/reference/webrtc-call/notify-modify-failed) Notify the recovery manager that a verto.modify signaling exchange failed. #### [reject](/docs/browser-sdk/v4/reference/webrtc-call/reject) Rejects an inbound call, preventing media negotiation. #### [requestIceRestart](/docs/browser-sdk/v4/reference/webrtc-call/request-ice-restart) Force an ICE restart / re-INVITE. #### [requestKeyframe](/docs/browser-sdk/v4/reference/webrtc-call/request-keyframe) Request a video keyframe via RTCP PLI/FIR. #### [sendDigits](/docs/browser-sdk/v4/reference/webrtc-call/send-digits) Sends DTMF digits on the call. #### [setAutoGainControl](/docs/browser-sdk/v4/reference/webrtc-call/set-auto-gain-control) Toggle browser automatic gain control on the local mic at runtime. #### [setEchoCancellation](/docs/browser-sdk/v4/reference/webrtc-call/set-echo-cancellation) Toggle echo cancellation on the local mic at runtime. #### [setLayout](/docs/browser-sdk/v4/reference/webrtc-call/set-layout) Sets the call layout and participant positions. #### [setLocalMicrophoneGain](/docs/browser-sdk/v4/reference/webrtc-call/set-local-microphone-gain) Set the local microphone gain as a percentage applied before transmission. #### [setMeta](/docs/browser-sdk/v4/reference/webrtc-call/set-meta) Replaces the call's custom metadata. #### [setNoiseSuppression](/docs/browser-sdk/v4/reference/webrtc-call/set-noise-suppression) Toggle browser noise suppression on the local mic at runtime. #### [setPushToTalkActive](/docs/browser-sdk/v4/reference/webrtc-call/set-push-to-talk-active) While push-to-talk is enabled, sets the talk state. `true` = transmitting, `false` = silent. No-op if push-to-talk has not been enabled. #### [startRecording](/docs/browser-sdk/v4/reference/webrtc-call/start-recording) Not yet implemented. Status tracked via [`recording$`](/docs/browser-sdk/v4/reference/webrtc-call/recording\$). #### [startStreaming](/docs/browser-sdk/v4/reference/webrtc-call/start-streaming) Not yet implemented. Status tracked via [`streaming$`](/docs/browser-sdk/v4/reference/webrtc-call/streaming\$). #### [subscribe](/docs/browser-sdk/v4/reference/webrtc-call/subscribe) Subscribe to a custom signaling event type on this call. #### [toggleHold](/docs/browser-sdk/v4/reference/webrtc-call/toggle-hold) Toggles the hold state of the call (pauses/resumes local media transmission). #### [toggleIncomingAudio](/docs/browser-sdk/v4/reference/webrtc-call/toggle-incoming-audio) Toggles whether incoming audio is received. #### [toggleIncomingVideo](/docs/browser-sdk/v4/reference/webrtc-call/toggle-incoming-video) Toggles whether incoming video is received. #### [toggleLock](/docs/browser-sdk/v4/reference/webrtc-call/toggle-lock) Toggles the call lock state, preventing or allowing new participants from joining. #### [transfer](/docs/browser-sdk/v4/reference/webrtc-call/transfer) Transfers the call to another destination. #### [updateMeta](/docs/browser-sdk/v4/reference/webrtc-call/update-meta) Merges values into the call's custom metadata (unlike setMeta which replaces). > Concrete WebRTC call implementation. ## Docs - [address$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/address$.md): Observable of the address associated with this call. - [answer](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/answer.md): Accepts an inbound call, optionally overriding media options for the answer. - [answered$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/answered$.md): Observable that emits true when answered, false when rejected. - [answerMediaOptions](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/answer-media-options.md): Media options provided when answering. - [bandwidthConstrained$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/bandwidth-constrained$.md): Observable indicating whether the call is bandwidth-constrained. - [callEvent$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/call-event$.md): Observable of all call-scoped events (member, layout, state, play, connect, conversation). - [callStates$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/call-states$.md): Observable of call state-change events. - [callUpdated$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/call-updated$.md): Observable of call-updated events. - [capabilities$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/capabilities$.md): Observable of the call's capability flags. - [destroy](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/destroy.md): Destroys the call, releasing all resources and subscriptions. - [destroyed$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/destroyed$.md): Observable that emits when the instance is destroyed - [direction](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/direction.md): Whether this call is 'inbound' or 'outbound'. - [disablePushToTalk](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/disable-push-to-talk.md): Disable push-to-talk; mic gain returns to the configured value. - [enablePushToTalk](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/enable-push-to-talk.md): Enable push-to-talk: while setPushToTalkActive has been called with false, the microphone gain is forced to 0; calling - [errors$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/errors$.md): Observable stream of errors from media, signaling, and peer connection layers. - [execute](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/execute.md): Executes a raw JSON-RPC request on the client session. - [executeMethod](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/execute-method.md): Executes a Verto RPC method targeting a specific participant. - [from](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/from.md): Address URI of the caller. - [fromName](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/from-name.md): Display name of the caller. - [hangup](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/hangup.md): Hangs up the call and releases all resources. - [isNetworkHealthy$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/is-network-healthy$.md): Simple boolean health indicator derived from stats monitor. - [layout$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/layout$.md): Observable of the current layout name. - [layoutEvent$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/layout-event$.md): Observable that emits whenever the call layout changes. - [layoutLayers$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/layout-layers$.md): Observable of layout layer positions for all participants. - [layouts$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/layouts$.md): Observable of available layout names. - [layoutUpdates$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/layout-updates$.md): Observable of layout-changed events. - [localAudioLevel$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/local-audio-level$.md): Observable of the RMS audio level of the local microphone, 0..1. - [localMicrophoneGain$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/local-microphone-gain$.md): Observable of the current local microphone gain (0..200, where 100 = unity). - [localSpeaking$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/local-speaking$.md): Observable that is true while the local participant is speaking (RMS level above the VAD threshold, with hold time to avoid flicker). - [localStream$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/local-stream$.md): Observable of the local media stream (camera/microphone). - [locked$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/locked$.md): Observable indicating whether the call room is locked. - [mediaDirections$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/media-directions$.md): Observable of the current audio/video send/receive directions. - [mediaParamsUpdated$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/media-params-updated$.md): Observable that emits when server-pushed media params are applied. - [memberJoined$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/member-joined$.md): Observable of member-joined events, emitted when a remote participant joins the call. - [memberLeft$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/member-left$.md): Observable of member-left events, emitted when a participant leaves the call. - [memberTalking$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/member-talking$.md): Observable of member-talking events (speech start/stop). - [memberUpdated$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/member-updated$.md): Observable of member-updated events (mute, volume, etc.). - [meta$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/meta$.md): Observable of custom metadata associated with the call. - [networkIssues$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/network-issues$.md): Observable of current network health issues (empty array = healthy). - [networkMetrics$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/network-metrics$.md): Rolling history of raw network metrics (RTT, jitter, packet loss, bitrate). - [nodeId$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/node-id$.md): Observable of the server node ID handling this call. - [notifyModifyFailed](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/notify-modify-failed.md): Notify the recovery manager that a verto.modify signaling exchange failed. - [participants$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/participants$.md): Observable of the participants list, emits on join/leave/update. - [participantsId$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/participants-id$.md): Observable of the list of participant IDs currently in the call. - [qualityLevel$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/quality-level$.md): Observable of simplified quality level (excellent/good/fair/poor/critical). - [qualityScore$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/quality-score$.md): Observable of MOS quality score (1-5) computed from stats metrics. - [raiseHandPriority$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/raise-hand-priority$.md): Observable indicating whether raise-hand priority is active. - [recording$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/recording$.md): Observable indicating whether the call is being recorded. - [recoveryEvent$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/recovery-event$.md): Observable of recovery events (keyframe requested, ICE restart, etc.). - [recoveryState$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/recovery-state$.md): Observable of the recovery pipeline state machine. - [reject](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/reject.md): Rejects an inbound call, preventing media negotiation. - [remoteAudioLevel$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/remote-audio-level$.md): Observable of the aggregate remote audio level, 0..1 RMS. - [remoteStream$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/remote-stream$.md): Observable of the remote media stream from the far end. - [requestIceRestart](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/request-ice-restart.md): Force an ICE restart / re-INVITE. - [requestKeyframe](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/request-keyframe.md): Request a video keyframe via RTCP PLI/FIR. - [rtcPeerConnection](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/rtc-peer-connection.md): Underlying RTCPeerConnection, for advanced use cases. - [self$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/self$.md): Observable of the local (self) participant. - [selfId$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/self-id$.md): Observable of the local participant's member ID. - [sendDigits](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/send-digits.md): Sends DTMF digits on the call. - [setAutoGainControl](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-auto-gain-control.md): Toggle browser automatic gain control on the local mic at runtime. - [setEchoCancellation](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-echo-cancellation.md): Toggle echo cancellation on the local mic at runtime. - [setLayout](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-layout.md): Sets the call layout and participant positions. - [setLocalMicrophoneGain](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-local-microphone-gain.md): Set the local microphone gain as a percentage applied before transmission. - [setMeta](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-meta.md): Replaces the call's custom metadata. - [setNoiseSuppression](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-noise-suppression.md): Toggle browser noise suppression on the local mic at runtime. - [setPushToTalkActive](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/set-push-to-talk-active.md): While push-to-talk is enabled, sets the talk state. - [signalingEvent$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/signaling-event$.md): Observable of raw signaling events as plain objects. - [startRecording](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/start-recording.md): Starts a server-side recording of the call. Not yet implemented in v4. - [startStreaming](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/start-streaming.md): Starts streaming the call to an external destination. Not yet implemented in v4. - [status$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/status$.md): Observable of the current call status (e.g. - [streaming$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/streaming$.md): Observable indicating whether the call is being streamed. - [subscribe](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/subscribe.md): Subscribe to a custom signaling event type on this call. - [toggleHold](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/toggle-hold.md): Toggles the hold state of the call (pauses/resumes local media transmission). - [toggleIncomingAudio](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/toggle-incoming-audio.md): Toggles whether incoming audio is received. - [toggleIncomingVideo](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/toggle-incoming-video.md): Toggles whether incoming video is received. - [toggleLock](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/toggle-lock.md): Toggles the call lock state, preventing or allowing new participants from joining. - [toName](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/to-name.md): Display name of the callee. - [transfer](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/transfer.md): Transfers the call to another destination. - [updateMeta](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/update-meta.md): Merges values into the call's custom metadata (unlike setMeta which replaces). - [userVariables$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/user-variables$.md): Observable of custom user variables associated with the call. - [webrtcMessages$](https://signalwire.com/docs/browser-sdk/reference/webrtc-call/webrtc-messages$.md): Observable of raw WebRTC signaling messages exchanged on the call.