> For the complete documentation index, see [llms.txt](https://docs.plumvoice.com/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plumvoice.com/dev/voicexml/tags/transfer-tag.md).

# \<transfer>

## \<transfer> <a href="#transfer" id="transfer"></a>

The `<transfer>` element directs the interpreter to connect the caller to another entity (e.g., telephone line or another voice application). During the transfer operation, the current interpreter session is suspended.

### Attributes

<table><thead><tr><th width="230">Name</th><th width="124.33333333333331">Data type<select><option value="a88482fa077045fdab7ba040160bd178" label="String" color="blue"></option><option value="0c06e85f43c044eba849b53c264439ab" label="Integer" color="blue"></option><option value="3f2081f4e28c483f8aa6111fa69903e0" label="Boolean" color="blue"></option></select></th><th>Description</th></tr></thead><tbody><tr><td>name</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td>Stores the outcome of a bridge transfer attempt.</td></tr><tr><td>cond</td><td><span data-option="3f2081f4e28c483f8aa6111fa69903e0">Boolean</span></td><td>(defaults to true) An expression that must evaluate to true in order for the form item to be visited.</td></tr><tr><td>expr</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td><p>The initial value of the form item variable. The default is ECMAScript undefined.</p><p></p><p>If initialized to a value, then the form item will not be visited unless the form item variable is cleared.</p></td></tr><tr><td>dest</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td><p>The telephone number of the destination. When using the “dest” attribute, you should always prefix a “1” before the telephone number.</p><p></p><p>For extensions, the format is <code>&#x3C;transfer dest=“tel:+12345678900;postd=1234”/></code>.</p><p></p><p>To set the outgoing caller ID, the format is <code>&#x3C;transfer dest=“tel:+12345678900;ani=2125551234”/></code>.</p><p></p><p>To insert a pause before the extension is dialed, you can add a “p” before the extension number (i.e. “p1234”).</p></td></tr><tr><td>destexpr</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td>An ECMAScript expression yielding the telephone number of the destination. <br><br><strong>Note:</strong> If using &#x3C;transfer> for outbound, please note that outbound calls originate from a toll-free number, and you are not able to transfer to another toll free number.</td></tr><tr><td>type</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td><p>(defaults to “bridge”) The type of transfer. Accepts the following values: "bridge", "blind" (<em>unsupported)</em>, and "consultation" <em>(unsupported)</em>.</p><p></p><p>This setting overrides the bridge attribute.</p></td></tr><tr><td>bridge</td><td><span data-option="3f2081f4e28c483f8aa6111fa69903e0">Boolean</span></td><td>(defaults to “true”) Instructs the platform to perform a bridge transfer.</td></tr><tr><td>connecttimeout</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td>(defaults to 30 seconds) The time to wait while trying to connect the call before returning the noanswer condition.</td></tr><tr><td>maxtime</td><td><span data-option="0c06e85f43c044eba849b53c264439ab">Integer</span></td><td>(defaults to 0) The time that the call is allowed to last.</td></tr><tr><td>transferaudio</td><td><span data-option="a88482fa077045fdab7ba040160bd178">String</span></td><td><p>The URI of an audio source to play while a bridge transfer attempt is in progress (before far-end answer).</p><p></p><p>Nothing can be played during blind transfer attempts as those calls are immediately handed off to the phone switch.</p></td></tr></tbody></table>

### Notes

* **Only bridge transfers are officially supported.**
* Exactly one of “dest” and “destexpr” may be specified.
* Only one shadow variable is is supported: `name$.duration`. The shadow variables `name$.inputmode` and `name$.utterance` are not supported.
* “connecttimeout” refers specifically to the amount of time the system will wait for the far-end to pick up.
* One of the following values will be returned in the form item variable if a transfer is completed without the caller disconnecting:
  1. maxtime\_disconnect - returned when a maxtime attribute was set and the maxtime was reached.
  2. far\_end\_disconnect - returned with the callee disconnects.
* If the caller disconnects, a connection.disconnect will be thrown and the return value is not defined.

### Example

```markup
<?xml version="1.0"?>
<vxml version="2.0">
  <form>
    <field name="targetnumber" type="digits">
      <prompt>
        What phone number would you like to dial?
      </prompt>
    </field>
    <transfer destexpr="targetnumber">
      <prompt>
        Transferring to
        <say-as type="acronym">
          <value expr="targetnumber"/>
        </say-as>.
      </prompt>
    </transfer>
  </form>
</vxml>
```

The output of the above script would be:

> Computer: What phone number would you like to dial?\
> Human: One two one two five five five one two one two.\
> Computer: Transferring to one two one two five five five one two one two.\
> Computer: (transfers call to 1-212-555-1212)

### Child Tags

[\<audio>](/dev/voicexml/tags/audio-tag.md), [\<catch>](/dev/voicexml/tags/catch-tag.md), [\<enumerate>](/dev/voicexml/tags/enumerate-tag.md), [\<error>](/dev/voicexml/tags/error-tag.md), [\<filled>](/dev/voicexml/tags/filled-tag.md), [\<grammar>](/dev/voicexml/tags/grammar-tag.md), [\<help>](/dev/voicexml/tags/help-tag.md), [\<noinput>](/dev/voicexml/tags/noinput-tag.md), [\<nomatch>](/dev/voicexml/tags/nomatch-tag.md), [\<prompt>](/dev/voicexml/tags/prompt-tag.md), [\<property>](/dev/voicexml/tags/property-tag.md), [\<value>](/dev/voicexml/tags/value-tag.md)

### Parent Tags

[\<form>](/dev/voicexml/tags/form-tag.md)
