> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# sipRefer()

> Hands off a SIP call to an external endpoint and removes Daily from the media path.

`sipRefer(options)`

<Badge color="green">{"✓"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

Sends a SIP REFER to instruct the original SIP caller to establish a direct connection with a new destination. Once the REFER succeeds, Daily exits the media path entirely and stops billing for that leg.

Use this instead of [`sipCallTransfer()`](/reference/daily-js/instance-methods/sip-call-transfer) when Daily should not remain in the call path after the transfer. If Daily should stay anchored in the call, use `sipCallTransfer()`.

Requires the initiating participant to be [an owner or admin](/reference/rest-api/meeting-tokens/create-meeting-token#body-properties-permissions).

<Warning>
  Each call to `sipRefer()` is billed separately. A one-time SIP REFER fee may apply when this method is called. Contact support for pricing details.
</Warning>

## Parameters

<ParamField body="sessionId" type="string" required>
  The `session_id` of the SIP participant to transfer.
</ParamField>

<ParamField body="toEndPoint" type="string" required>
  The destination SIP URI (e.g., `sip:support@sip.example.com`) to refer the caller to.
</ParamField>

## Return value

Returns a `Promise<void>`.

When the REFER is triggered, [`participant-left`](/reference/daily-js/events/participant-events#participant-left), [`dialin-stopped`](/reference/daily-js/events/telephony-events#dialin-stopped), and [`dialout-stopped`](/reference/daily-js/events/telephony-events#dialout-stopped) events fire in the originating room. `calltransfer` webhooks (`triggered`, `initiated`, `answered`, `complete`) are also emitted.

## Example

```javascript theme={null}
await call.sipRefer({
  sessionId: 'ad96802d-c511-4d9a-a485-1a1af62732d0',
  toEndPoint: 'sip:support@sip.example.com',
});
```

## See also

<CardGroup>
  <Card title="Methods" icon="code" iconType="solid">
    * [sipCallTransfer()](/reference/daily-js/instance-methods/sip-call-transfer)
    * [startDialOut()](/reference/daily-js/instance-methods/start-dial-out)
  </Card>

  <Card title="Events" icon="bolt" iconType="solid">
    * [dialin-stopped](/reference/daily-js/events/telephony-events#dialin-stopped)
    * [dialout-stopped](/reference/daily-js/events/telephony-events#dialout-stopped)
    * [participant-left](/reference/daily-js/events/participant-events#participant-left)
  </Card>

  <Card title="Guides" icon="book-open" iconType="solid">
    * [Dial-in / dial-out transfers](/docs/guides/features/dial-in-dial-out/transfers)
  </Card>

  <Card title="REST API" icon="server" iconType="solid">
    * [calltransfer-triggered webhook](/reference/rest-api/webhooks/events/calltransfer-triggered)
    * [calltransfer-initiated webhook](/reference/rest-api/webhooks/events/calltransfer-initiated)
    * [calltransfer-answered webhook](/reference/rest-api/webhooks/events/calltransfer-answered)
    * [calltransfer-completed webhook](/reference/rest-api/webhooks/events/calltransfer-completed)
  </Card>
</CardGroup>
