> This page is for Browser SDK, version v4 (default).
> For other versions, use one of these documentation indexes:
> - v4 (default): https://signalwire.com/docs/browser-sdk/v4/llms.txt
> - v3: https://signalwire.com/docs/browser-sdk/v3/llms.txt
> - v2: https://signalwire.com/docs/browser-sdk/v2/llms.txt

> 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<boolean>` — required

Observable of the call's `locked` state.

---

**`meta`** `Record<string, unknown>` — required

Arbitrary metadata bag for the call state.

---

**`meta$`** `Observable<Record<string, unknown>>` — 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<CallParticipant[]>` — 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<boolean>` — required

Observable of the raise-hand priority mode state.

---

**`recording`** `boolean` — required

Whether a server-side recording is active.

---

**`recording$`** `Observable<boolean>` — 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<CallStatus>` — 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<boolean>` — required

Observable of the current streaming state.

---

## **Methods**

### setMeta()

```ts
setMeta(meta): Promise<void>
```

#### Parameters

**`meta`** `Record<string, unknown>` — required

Arbitrary metadata bag for the call state.

---

#### Returns

`Promise<void>`

---

### updateMeta()

```ts
updateMeta(meta): Promise<void>
```

#### Parameters

**`meta`** `Record<string, unknown>` — required

Arbitrary metadata bag for the call state.

---

#### Returns

`Promise<void>`