> 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. # transfer > Transfers the call to another destination. ```ts transfer(options): Promise ``` Blind-transfers the remote party to another destination. The local side drops out of the call once the transfer is accepted by the server; the remote party continues at the new destination. Use a directory URI for fabric-internal targets (e.g. `/public/support`), a SIP URI for SIP-routed transfers, or any other dialable string the server understands. The request is rejected if the local participant lacks the `transfer` capability — inspect [`call.capabilities$`](/docs/browser-sdk/v4/reference/webrtc-call/capabilities\$) first. ## **Parameters** **`options`** `TransferOptions` — required Transfer configuration. The required `destination` field is the dialable target — a fabric URI, SIP URI, or any string the server's dial plan understands. See [`TransferOptions`](/docs/browser-sdk/v4/reference/interfaces/transfer-options). --- ## **Returns** `Promise` — resolves when the server has accepted the transfer request. The local call will subsequently transition to `disconnected`. ## **Examples** ### Transfer to a queue ```ts await call.transfer({ destination: '/public/support-queue' }); ``` ### Transfer to a SIP URI ```ts await call.transfer({ destination: 'sip:agent@example.com' }); ``` ### Transfer with error handling ```ts try { await call.transfer({ destination: '/public/support-queue' }); } catch (err) { console.error('transfer rejected:', err); } ``` ## **See** * [`status$`](/docs/browser-sdk/v4/reference/webrtc-call/status\$) to observe the local call's progression after transfer. * [`capabilities$`](/docs/browser-sdk/v4/reference/webrtc-call/capabilities\$) to check whether `transfer` is currently permitted. > Transfers the call to another destination.