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

# Transfer

export const AccountSid_0 = undefined

export const CallSid_0 = undefined

<a href="/release-notes/2026.9"><Badge className="version-badge" color="blue">Updated in 2026.9</Badge></a>

<Frame>
  <img class="image-center" src="https://mintcdn.com/cognigy-15abf2ba/eCWTpPMMSEqv9wTC/_assets/ai/develop/node-reference/vg/transfer.png?fit=max&auto=format&n=eCWTpPMMSEqv9wTC&q=85&s=21d8fe909935b5a06f5f2d66f3df1cd8" alt="Voice Gateway Transfer Node configuration panel" style={{ width: 'auto' }} width="466" height="122" data-path="_assets/ai/develop/node-reference/vg/transfer.png" />
</Frame>

## Description

The Transfer Node allows you to transfer an ongoing call to a Tel or SIP target.

## Parameters

| Parameter                          | Type          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Transfer Type |
| ---------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| Transfer Type                      | Dropdown      | There are two transfer types: <ul><li>**Refer** — forwarding an existing call.</li><li>**Dial** — creating a new outgoing call. If you want to use this type and still have the old Node version, add a new Voice Gateway Transfer Node in the Flow Editor and manually transfer the required settings from the old Node.</li></ul>                                                                                                                                                                                  | -             |
| Reason                             | CognigyScript | The reason for the handover. It is shown in Voice Gateway logs.                                                                                                                                                                                                                                                                                                                                                                                                                                                      | All           |
| Target                             | CognigyScript | E.164 syntax or a SIP URI are supported.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | All           |
| Caller ID                          | Number        | The caller ID. Some carriers, like Twilio, require a registered number for outgoing calls.                                                                                                                                                                                                                                                                                                                                                                                                                           | Dial          |
| Dial Music                         | URL           | Custom audio or ring-back which plays to the caller while the outbound call is ringing. Only `.wav` or `.mp3` files are supported. The URL doesn't need to include the `.mp3` or `.wav` extension. For example, `https://abc.xyz/music.mp3` or `https://audio.jukehost.co.uk/N5pnlULbup8KabGRE7dsGwHTeIZAwWdr`.                                                                                                                                                                                                      | Dial          |
| Enable Duration Limit for Transfer | Toggle        | Automatically disconnects transferred calls after a set time to prevent excessive call durations. This setting is useful in the following cases:<ul><li>Limit call duration by automatically ending transferred calls that exceed the predefined time, helping manage system performance.</li><li>Free up resources by disconnecting calls if the caller forgets to hang up, making lines available for other callers.</li><li>Reduce costs by preventing unnecessary charges from long, unattended calls.</li></ul> | Dial          |
| Duration Limit                     | Number        | This parameter is active only when **Enable Duration Limit for Transfer** is selected. Set the maximum duration in seconds. Transferred calls end automatically after this time, even if the caller is on the line. The default value is `600`.                                                                                                                                                                                                                                                                      | Dial          |
| Timeout                            | Number        | The amount of time (in seconds) that the AI Agent will ring before a [no-answer](/voice-gateway/references/events/NO_ANSWER) timeout. The default value is 60 seconds.                                                                                                                                                                                                                                                                                                                                               | Dial          |
| Enable Copilot                     | Toggle        | Creates the UUIValue which will be sent to the Contact Center through SIP Headers. Will collect information from the Transcription Webhook field as well as from the VG Endpoint Agent Copilot Config field to create the UUIValue. This setting requires a configured [Voice Copilot](/ai/agents/deploy/endpoint-reference/voice-copilot) Endpoint.                                                                                                                                                                 | Dial          |
| Copilot Headers Key                | CognigyScript | Define the Headers Key for Agent Copilot. The key is provider-dependent. For example, for Genesys, the key is `User-to-User`. The generated value becomes accessible after engaging the Transfer Node, located in the input object as `{{input.UUIValue}}`. Note that you do not need to handle this value manually. It is automatically generated and added to the header.                                                                                                                                          | Dial          |

<AccordionGroup>
  <Accordion title="Transcribe">
    | Parameter                           | Type          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Transfer Type |
    | ----------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- |
    | STT Vendor                          | Dropdown      | Defines the STT vendor. You can select a custom vendor.<br /><br />The **Default** option's behavior in the Set Session Config Node depends on whether you select this option in the first or in a subsequent Node of this type:<ul><li>**First Set Session Config Node** — switches the STT vendor to the default configuration set in [Voice Gateway Self-Service Portal](/voice-gateway/webapp/applications#add-additional-tts-and-stt-vendor)</li><li>**Subsequent Set Session Config Node** — keeps the TTS vendor set in the previous Set Session Config Node, allowing you to change other parameters without overwriting the STT vendor.</li></ul> The ElevenLabs STT vendor is hidden behind a feature flag. Activate ElevenLabs on the Cognigy.AI side: <ul><li>If you have a SaaS installation, contact [Cognigy technical support](/help/get-help). </li><li>If you have an on-premises installation, specify the `FEATURE_ENABLE_ELEVENLABS_STT_VENDOR=true` in the `values.yaml`.</li></ul>The Speechmatics STT vendor is hidden behind a feature flag. Activate Speechmatics on the Cognigy.AI and Voice Gateway sides:<ul><li>If you have a SaaS installation, contact [Cognigy technical support](/help/get-help).</li><li>If you have an on-premises installation, specify the [feature flags](/voice-gateway/webapp/speech-services#speechmatics) in `values.yaml`.</li></ul> | Dial          |
    | STT Language                        | Selector      | Select the desired STT Language. For custom languages, use the following format: de-DE, fr-FR, en-US.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Dial          |
    | STT Label                           | CognigyScript | The alternative name of the vendor is the one you [specify in the Voice Gateway Self-Service Portal](/voice-gateway/webapp/applications#add-additional-tts-and-stt-vendor). If you have created multiple speech services from the same vendor, use the label to specify which service to use.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Dial          |
    | Disable STT Punctuation             | Toggle        | This parameter is active only when Google or Deepgram is selected from the **STT Vendor** list.<br /><br /> Prevents the transcription returned to the AI Agent from including punctuation marks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Dial          |
    | Deepgram Model                      | Selector      | This parameter is active only when Deepgram is selected from the **STT Vendor** list. <br /><br /> Choose a model for processing submitted audio. Each model is associated with a tier. Ensure that the selected tier is available for the chosen STT language. For detailed information about Deepgram models, refer to the [Deepgram documentation](https://developers.deepgram.com/docs/model).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Dial          |
    | Endpointing                         | Toggle        | This parameter is active only if Deepgram or Deepgram Flux is selected from the **STT Vendor** list: <ul><li>**Deepgram** – detects the end of speech by monitoring user pauses. When a pause is detected, Deepgram finalizes the transcript with `speech_final = true`. The duration for detecting the end of speech is preconfigured with the default value of 10 milliseconds. If you want to change this value, use the **Endpointing Time** parameter.</li><li>**Deepgram Flux** – detects the end of speech using a confidence threshold. When a user's speech ends or the optional timeout is reached, the transcript is finalized. This approach ensures accurate, responsive multiturn transcription.</li></ul> For detailed information about the endpointing configuration, refer to the documentation for [Deepgram](https://developers.deepgram.com/docs/endpointing) or [Deepgram Flux](https://developers.deepgram.com/docs/flux/configuration).                                                                                                                                                                                                                                                                                                                                                                                                                                  | Dial          |
    | Endpointing Time                    | Number        | This parameter is active only when Deepgram is selected from the **STT Vendor** list and the **Endpointing** toggle is enabled. <br /><br /> Customize the duration (in milliseconds) for detecting the end of speech. The default is 10 milliseconds of silence. After detecting silence, the system waits until either the speaker resumes or the required silence duration is reached. Once one of these conditions is met, the transcript is sent with `speech_final` set to `true`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Dial          |
    | Smart Formatting                    | Toggle        | This parameter is active only when Deepgram is selected from the **STT Vendor** list. <br /><br /> Deepgram's Smart Format feature applies additional formatting to transcripts to optimize them for human readability. Smart Format capabilities vary between models. When Smart Formatting is turned on, Deepgram will always apply the best-available formatting for your chosen model, tier, and language combination. For detailed examples, refer to the [Deepgram documentation](https://developers.deepgram.com/docs/smart-format). <br /><br /> Note that when Smart Formatting is turned on, punctuation will be activated, even if you have the Disable STT Punctuation setting enabled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Dial          |
    | Google Model                        | Dropdown      | This parameter is active only when Google is selected from the **STT Vendor** list.<br /><br />Uses one of Google Cloud Speech-to-Text transcription models. The default value is `latest_short`. For a detailed list of Google models, refer to the [Transcription models](https://cloud.google.com/speech-to-text/docs/transcription-model#transcription_models) section in the Google Documentation. Keep in mind that the `default` value is a Google model type that can be used if other models don't suit your use case.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Dial          |
    | End of Turn Threshold               | Slider        | This parameter is active only if Deepgram Flux is selected from the **STT Vendor** list. Defines the confidence level for detecting when a user's speech ends. Higher values improve accuracy but may increase latency. The default value is `0.7`, meaning the system waits until it is 70% confident that the user has finished speaking before finalizing the transcript.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Dial          |
    | End of Turn Timeout in Milliseconds | Number        | This parameter is active only if Deepgram Flux is selected from the **STT Vendor** list. Defines the maximum number of milliseconds to wait before finalizing a turn. The timeout acts as a backup if the user stops speaking unexpectedly. The default value is `5000` (5 seconds), meaning the turn will be closed after 5 seconds of silence.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Dial          |
    | Transcription Webhook               | CognigyScript | The webhook is triggered with an HTTP POST whenever an interim or final transcription is received. If the **STT Vendor** and **STT Language** fields are empty, the system will use the default STT from the [Set Session Config Node](/ai/agents/develop/node-reference/voice/voice-gateway/parameter-details) (if it exists) or from the [Voice Gateway Self-Service Portal](/voice-gateway/webapp/speech-services). The parameter supports [CognigyScript](/ai/platform-features/cognigyscript), allowing it to accept dynamic content. For example, you can specify the URL as follows: `https://test-hook.com?contact={{ci.contact_name}}`. <br /><br /> Note if the [Voice Copilot](/ai/agents/deploy/endpoint-reference/voice-copilot) Endpoint is inactive, you can use any Webhook URL to receive voice call transcripts. However, when the Voice Copilot Endpoint is enabled, ensure that the specified Webhook URL is associated with it for processing.                                                                                                                                                                                                                                                                                                                                                                                                                              | Dial          |
    | Audio Stream Selection              | Selector      | Select the source of the audio stream: <ul><li>**Caller/Called** — both the incoming and outgoing audio streams of the caller and the called party.</li><li>**Caller** — the incoming and outgoing audio stream of the caller.</li><li>**Called** — the incoming and outgoing audio stream of the called party.</li></ul><br /> Ensure that the selected audio stream matches the language specified for transcription. If no audio stream is provided, the system will use the one set in the beginning, which should also match the language specified for transcription.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Dial          |
  </Accordion>

  <Accordion title="Answering Machine Detection">
    Answering Machine Detection (AMD) determines whether an outgoing call has been answered by a human or a machine (such as a voicemail or answering machine). When AMD is enabled, events are generated in the Flow to indicate the detection result, allowing you to take specific actions based on the outcome.

    For example, if a call is transferred to a user and AMD detects a machine, you will receive an event indicating the machine detection.

    | Parameter                    | Type     | Description                                                                                                                                                                        | Transfer Type |
    | ---------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
    | Answering Machine Detection  | Toggle   | Indicates whether a call has been answered by a human agent or a machine.                                                                                                          | Dial          |
    | Redirect on machine detected | Selector | Redirects the call back to the Flow in case a machine was detected.                                                                                                                | Dial          |
    | Redirect text                | Text     | Text to say after machine was detected before going back to the Flow. For example, `Mailbox detected, your call will be redirected back to the AI Agent. Please stay in the call`. | Dial          |
  </Accordion>

  <Accordion title="Advanced">
    <Note>
      For Voice Gateway 2025.19 and later, the Anchor Media parameter has been renamed to Media Path and includes more options. The previously available options correspond to:

      * **Full Media** — the toggled on Anchor Media parameter in earlier versions.
      * **Partial Media** — the toggled off Anchor Media parameter in earlier versions.

      The Media Path parameter is hidden behind the feature flag `FEATURE_DISABLE_VG_MEDIA_PATH`, with a default value of `false`. It is available only in environments where the feature flag is set to `false`.
    </Note>

    | Parameter                   | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Transfer Type |
    | --------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
    | Media Path                  | Dropdown | Controls the routing of RTP traffic through a media platform, such as FreeSwitch, for monitoring, transcoding, and security purposes. You can also [change this value during an active call](#changing-the-media-path-during-an-active-call) using the `updateCall` API. Select one of the following options:<ul><li>**Full Media** — routes all RTP traffic through a media platform. This option is used when complete media capture is required, for example, for logging, monitoring, or other processing workflows.</li><li>**Partial Media** — this option is selected by default. Routes through a media platform only when necessary. For example, to enable transcriptions or other optional processing.</li><li>**No Media** – routes directly from the caller's SBC to the far SBC or SIP trunk, without passing any media through the media platform. This option is primarily used for compliance purposes. When the option is selected, the system is disconnected from the media stream entirely, ensuring that sensitive data, such as credit card information, can't be captured.</li></ul> When you select **Full Media** or **Partial Media**, media anchoring process changes the addresses and ports of incoming and outgoing data:<ul><li>Outgoing data — the source IP address and port become the IP address and port of Voice Gateway. The destination IP address and port become the IP address and port of the public network. </li><li>Incoming data — the source IP address and port become the IP address and port of Voice Gateway. The destination IP address and port become the IP address and port of the PBX system or local telephone.</li></ul> | Dial          |
    | Custom Transfer SIP Headers | Toggle   | Data that needs to be sent as SIP headers in the generated SIP message.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | All           |
    | Transfer SIP Headers        | JSON     | An object containing SIP headers that should be sent to the transferee. Each header is a key-value pair: `{ "Header-Name": "Header-Value" }`. The following example shows a JSON object containing two key-value pairs: `{ "X-Caller-ID": "+1234567890", "X-Request-ID": "abc-123" }`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | All           |
    | Referred By                 | String   | This parameter is optional.<br /><br /> This setting allows you to change the original Referred By value, which can be a SIP URI or a user identifier such as a phone number. To define the Referred By value, you can use the following patterns:<ul><li>**SIP URI** — `sip:[referred-by]@custom.domain.com`. In this case, the entire SIP URI will be sent as the Referred-By header. Example: `"Referred-by": "sip:CognigyOutbound@custom.domain.com"`.</li><li>**User Identifier** — `sip:[referred-by]@[SIP FROM Domain from carrier config]`. Example, `"Referred-By": "sip:CognigyOutbound@sip.cognigy.ai"`.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Refer         |

    ### Changing the Media Path During an Active Call

    ### Changing the Media Path during an Active Call

    Besides setting the media path in the Flow, you can also change the media path during an active transferred call using the Voice Gateway API.

    This approach is useful for PCI compliance. For example, when a caller shares sensitive payment information, Voice Gateway, as an intermediate system, must be removed from the media stream. Audio is then routed directly between the caller and the contact center, bypassing Voice Gateway, reducing PCI data exposure and helping protect sensitive data.

    To remove Voice Gateway from the media path, send the [PUT /Accounts/{AccountSid_0}/Calls/{CallSid_0}](https://api-vg-trial.cognigy.ai/docs/#/Accounts/updateCallPut) API request with `{ "media_path": "noMedia" }` from the contact center to Voice Gateway.

    Capture the call SID before the transfer takes place. During a transfer, a new call SID is created for the new call leg, but the original call SID remains unchanged. Pass the original call SID along during the transfer, for example, in SIP headers. This way, the contact center can reference the original call when triggering the API request at the correct moment.
  </Accordion>
</AccordionGroup>

### Troubleshooting

#### Possible 403 Error After Dial Transfer

In case you receive a 403 error log message after using a Transfer Node with Dial, check the related [PCAP](/voice-gateway/webapp/recent-calls) file in the Voice Gateway Self-Service Portal first. There you should get more information about the reason for the 403 error.

Some SBCs like Twilio may reject calls from unknown numbers.
In this case, it might be necessary to configure the P-Asserted-Identity header for the Transfer.
To do this, turn on the Custom Transfer SIP Headers toggle in the Advanced settings of the Transfer Node,
and enter the following in the JSON field:

```json theme={null}
{
  "P-Asserted-Identity": "<sip:phonenumber@host>"
}
```

#### Possible 487 Error After Dial Transfer

In case you receive a 487 error log message after using a Transfer Node with Dial,
check the related [PCAP](/voice-gateway/webapp/recent-calls) file in the Voice Gateway Self-Service Portal first.
There you should see a `CANCEL` method followed by the `487 Request Terminated` error.

This error indicates that the callee did not answer within the defined timeout.
Within the Flow, you will receive the [NO\_ANSWER](/voice-gateway/references/events/NO_ANSWER) call event.
