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

# dial

> Places an outbound call to the given destination.

```ts
dial(destination, options?): Promise<Call>
```

Places an outbound call to the given destination.

Waits for authentication before dialing. Media options are merged from
saved preferences, destination query parameters (e.g. `?channel=video`),
and the provided `options` (highest priority).

Returns a [Call](/docs/browser-sdk/v4/reference/interfaces/call) in `'ringing'` state. Subscribe to [Call.status\$](/docs/browser-sdk/v4/reference/interfaces/call#status-1)
to track progression through `'connected'` → `'disconnected'`.

## **Parameters**

Address URI string (e.g. `'/public/my-room'`) or [`Address`](/docs/browser-sdk/v4/reference/address) instance.

Media and dial options (audio/video, device constraints). Overrides defaults. See [`DialOptions`](/docs/browser-sdk/v4/reference/interfaces/dial-options).

## **Returns**

`Promise<Call>`

The created [`Call`](/docs/browser-sdk/v4/reference/interfaces/call) instance.

## **Throws**

If authentication is not complete or call creation fails.

## **Examples**

```ts
const call = await client.dial('/public/conference', {
  audio: true,
  video: true,
});
call.status$.subscribe(status => console.log('Call:', status));
```