***

title: joinRoom
slug: /reference/typescript/relay/call/join-room
description: Join a video/audio room.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[leave-room]: /docs/server-sdks/reference/typescript/relay/call/leave-room

Join a video/audio room. Rooms provide multi-party communication with
additional features beyond conferences, including video support.

<Info>
  Use [`leaveRoom()`][leave-room] to leave the room.
</Info>

## **Parameters**

<ParamField path="name" type="string" required={true} toc={true}>
  Room name to join.
</ParamField>

<ParamField path="statusUrl" type="string | undefined" toc={true}>
  URL to receive room status webhooks.
</ParamField>

## **Returns**

`Promise<Record<string, unknown>>` -- Server response confirming the join.

## **Example**

```typescript {13}
import { RelayClient } from '@signalwire/sdk';

const client = new RelayClient({
  project: process.env.SIGNALWIRE_PROJECT_ID!,
  token: process.env.SIGNALWIRE_TOKEN!,
  contexts: ['default']
});

client.onCall(async (call) => {
  await call.answer();

  // Join a room
  await call.joinRoom('meeting-room-1');

  // The call is now in the room until leaveRoom() or hangup
});

await client.run();
```