> 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. # CallState > Observable state of a call (status, recording, participants, etc.). Observable state of a call (status, recording, participants, etc.). ## **Extended by** * [`Call`](/docs/browser-sdk/v4/reference/interfaces/call) ## **Properties** **`id`** `string` — required Call ID this state snapshot describes. --- **`locked`** `boolean` — required Whether the call is locked. --- **`locked$`** `Observable` — required Observable of the call's `locked` state. --- **`meta`** `Record` — required Arbitrary metadata bag for the call state. --- **`meta$`** `Observable>` — required Observable of the call-level metadata bag. --- **`participants`** `CallParticipant[]` — required Current participants on the call. See [`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant). --- **`participants$`** `Observable` — required Observable of the current participant list. See [`CallParticipant`](/docs/browser-sdk/v4/reference/interfaces/call-participant). --- **`raiseHandPriority`** `boolean` — required Whether raise-hand priority mode is active. --- **`raiseHandPriority$`** `Observable` — required Observable of the raise-hand priority mode state. --- **`recording`** `boolean` — required Whether a server-side recording is active. --- **`recording$`** `Observable` — required Observable of the current recording state. --- **`status`** `CallStatus` — required Current lifecycle status of the call. See [`CallStatus`](/docs/browser-sdk/v4/reference/type-aliases/call-status). --- **`status$`** `Observable` — required Observable of the call's lifecycle status. See [`CallStatus`](/docs/browser-sdk/v4/reference/type-aliases/call-status). --- **`streaming`** `boolean` — required Whether a server-side stream is active. --- **`streaming$`** `Observable` — required Observable of the current streaming state. --- ## **Methods** ### setMeta() ```ts setMeta(meta): Promise ``` #### Parameters **`meta`** `Record` — required Arbitrary metadata bag for the call state. --- #### Returns `Promise` --- ### updateMeta() ```ts updateMeta(meta): Promise ``` #### Parameters **`meta`** `Record` — required Arbitrary metadata bag for the call state. --- #### Returns `Promise` > Observable state of a call (status, recording, participants, etc.).