Plum DEV Documentation
voicexml:tags:transfer

<transfer>

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

name Stores the outcome of a bridge transfer attempt.
cond (defaults to true) An expression that must evaluate to true in order for the form item to be visited.
expr The initial value of the form item variable; default is ECMAScript undefined. If initialized to a value, then the form item will not be visited unless the form item variable is cleared.
dest The telephone number of the destination. When using the “dest” attribute, you should always prefix a “1” before the telephone number. For extensions, the format is <transfer dest=“tel:+11234567890;postd=1234”/>. To insert a pause before the extension is dialed, you can add a “p” before the extension number (i.e. “p1234”). NOTE: If using the transfer tag for outbound, please note that you are not able to transfer to another toll free number, as the outbound call is placed from a toll-free number.
destexpr An ECMAScript expression yielding the telephone number of the destination. NOTE: If using the transfer tag for outbound, please note that you are not able to transfer to another toll free number, as the outbound call is placed from a toll-free number.
type (defaults to “bridge”) The type of transfer. The value can be “bridge”, “blind”, or “consultation”. This setting overrides the bridge attribute.
bridge (defaults to “true”) Instructs the platform to perform a bridge transfer rather than a blind transfer. See the notes section below.
connecttimeout (defaults to 30 seconds) The time to wait while trying to connect the call before returning the noanswer condition.
maxtime (defaults to 0) The time that the call is allowed to last, or 0 if no limit is imposed.
transferaudio The URI of an audio source to play while a bridge transfer attempt is in progress (before far-end answer). Nothing can be played during blind transfer attempts as those calls are immediately handed off to the phone switch.
aai Application-to-application information. A string containing data sent to an application on the far-end, available in the session variable session.connection.aai. The transmission of aai data may depend upon signaling network gateways and data translation (e.g. ISDN to SIP); the status of data sent to a remote site is not known or reported. Although all platforms must support the aai attribute, platforms are not required to send aai data and need not support receipt of aai data. Platforms that cannot receive aai data must set the session.connection.aai variable to the ECMAScript undefined value. The underlying transmission mechanism may impose data length limits.
aaiexpr An ECMAScript expression yielding the AAI data.

Notes

Exactly one of “dest” and “destexpr” may be specified.

For Plum hosted customers only bridge transfer is supported. For customers with on-site Plum iOn servers blind transfer is supported when used with PBXs or carriers that permit blind transfers via SIP REFER or T1 hookflash.

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

<?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

Parent Tags