| VoiceXML 2.1 Development Guide | Home | Frameset Home |
|
<transfer> in the VoiceXML application. Note the fact that they are NOT caught by using the standard 'catch event' syntax, but rather, as part of a conditional statement within the <transfer> form-item itself. The syntax for successfully catching these events is as follows:
<if cond="TransferName == condition1'">
<!-- do something here -->
<elseif cond="Transfername == condition2'"/>
<!-- do something else here -->
</if>
<transfer> element in your application, it is always considered best practice to add handlers for ALL of the events detailed below:| Condition | Explanation |
| maxtime_disconnect | Maxtime of <transfer> expired |
| busy | Destination number was busy |
| network_busy | Network busy....contact Voxeo Support |
| noanswer | Connect timeout reached |
| far_end_disconnect | Callee disconnected during the transfer |
| near_end_disconnect | Caller disconnected during the transfer |
| error.connection.noauthorization | Caller not authorized to call the specified destination |
| error.connection.baddestination | The specified call destination URL is malformed, (check your code) |
| error.unsupported.transfer.blind | Blind transfers are disallowed on the Voxeo platform by default. However, this can be enabled, with a few restrictions. Contact our Sales Team for details. |
<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" >
<meta name=Maintainer" content="YOUR_EMAIL@SOMEWHERE.COM"/>
<form id="CallTransfer">
<block>
<prompt>
Preparing to dial the number
</prompt>
</block>
<transfer name="MyCall" dest="tel:+1234567890"
bridge="true" connecttimeout="20s" maxtime="60s">
<filled>
<if cond="MyCall == 'busy'">
<log expr=" '***** BUSY *****' "/>
<prompt>
Sorry, the lines are busy. Please try again later.
</prompt>
<exit/>
<elseif cond="MyCall == 'noanswer'"/>
<log expr=" '***** NOANSWER *****' "/>
<prompt>
Hey, nobody is answering the phone.
</prompt>
<elseif cond="MyCall == 'far_end_disconnect'"/>
<log expr=" '***** FAR END DISCONNECT *****' "/>
<prompt>
Your party must have hung up. How rude.
</prompt>
<elseif cond="MyCall == 'near_end_disconnect'"/>
<log expr=" '***** NEAR END DISCONNECT *****' "/>
<submit next ="MyCoolCleanupPage.jsp"/>
<elseif cond="MyCall == 'maxtime.disconnect'"/>
<log expr=" '***** MAXTIME DISCONNECT *****' "/>
<prompt>
Your call ran over the maxtime of sixty seconds,
and your called party has been disconnected.
</prompt>
</if>
</filled>
</transfer>
</form>
</vxml>
| ANNOTATIONS: EXISTING POSTS |
awirtz
|
|
| Inside a <transfer> block, connection.disconnect.hangup events are suppressed to allow the disconnect event to be returned as a value of 'near_end_disconnect' |
| login |
|