Extension. Initiates an outbound call, allowing the user to talk to a third party at another destination.
<bevocal:dial
name="string"
dest="URI"
destexpr="js_expression"
silent="true"|"false"
ani="digit_string"
aniexpr="js_expression"
connecttimeout="time_interval"
maxtime="time_interval"
bevocal:maxtimeexpr="js_expression"
bevocal:type="blind"|"bridge"|"supervised"
type="blind"|"bridge"|"consultation"
onhold="true"|"false"
transferaudio="URI"
/>
To use this tag, the containing <vxml> tag must declare the XML namespace bevocal by including the following attribute:
xmlns:bevocal="http://www.bevocal.com/"
The <bevocal:dial> tag may initiate a call in one of three ways:
Note: To use blind or supervised transfers, contact BeVocal Customer Support.
Only one outbound call can be in progress at a given time. The call placed by one <transfer> or <bevocal:dial> tag must be terminated before another <transfer> or <bevocal:dial> tag can be executed.
Café customers can use a <transfer> tag to place local and long-distance calls only; international calls are not allowed. (Hosting customers are allowed to make international calls.)
During execution of the <transfer> element, the user and the called third party talk to each other. The application is quiet. No universal grammars or grammars in higher scopes are active.
During a bridge transfer, if the <transfer> element includes any child grammars, the application listens to the user. If a user utterance matches a child grammar, the transfer is terminated and the input variable is set to the status near_end_disconnect. The bevocal.hotwordmin and bevocal.hotwordmax properties specify the minimum and maximum time duration, respectively, for an utterance that can terminate the call.
Note: This and other call-control tags constitute a BeVocal VoiceXML extension. Committees are currently working to standardize call-control features for VoiceXML, and their current approach is different from the BeVocal VoiceXML implementation. Because the approval of any call-control standards will be quite some time in coming, however, BeVocal VoiceXML contains this extension to allow developers to start taking advantage of call-control features. BeVocal will continue to monitor the development within these committees. If the features in the BeVocal VoiceXML extension become a part of VoiceXML or a separate call-control standard, BeVocal VoiceXML will implement that standard. We will then deprecate the current extension and provide developers with information on how to convert their applications to the new standard.
| Attribute | Description | ||||||||||||
name |
Name of a variable to be set to a JavaScript object referring to the call. Optional. If no variable exists with the specified name, a new variable is defined in the current scope; for example, in the anonymous scope of the containing |
||||||||||||
dest |
URI of the destination (for example, phone, IP telephony address). Optional (as alternative to You can specify the URI using any of the following formats:
This format allows you to specify an extension as post-dial digits (
sip:<destination number>@<domain value>:<port> where the default port is 5060. SIP URIs are valid only for VoIP calls. Note: A leading "1" on the phone number is optional and will be ignored. Note: You must specify one of |
||||||||||||
destexpr |
JavaScript expression that evaluates to the URI of the destination. Optional (as alternative to Note: You must specify one of |
||||||||||||
silent |
Specifies whether the call-progress sounds are muted. Optional (default is |
||||||||||||
ani |
A sequence of digits to be passed as the ANI or Caller ID for the outbound call. Optional (default is the value of the The ANI may contain up to 32 digits in either of the following forms:
ANI spoofing is disabled by default on Café for outbound calls via call control tags. A warning is thrown to VXML log. It is enabled by default on hosting servers. Contact BeVocal to enable ANI spoofing on Café. Note: You may specify either this attribute, or |
||||||||||||
aniexpr |
JavaScript expression that evaluates to the sequence of digits to be passed as the ANI or Caller ID for the outbound call. Optional (default is the Note: You may specify either this attribute, or |
||||||||||||
connecttimeout |
Time to wait for the outbound call to connect before throwing a Express time interval as an unsigned number followed by either |
||||||||||||
maxtime |
How long the call is allowed to be in progress. Optional. Express time interval as an unsigned number followed by either If the call exceeds the maximum duration, the outbound call is disconnected and a |
||||||||||||
bevocal:maxtimeexpr |
Extension. A JavaScript expression which evaluates to the maxtime value. Optional. |
||||||||||||
bevocal:type |
Extension. Determines how much control the platform retains over a transferred call. Optional. The default is If the value is If the value is If the value is You can specify either Note: To use blind or supervised transfers, please contact BeVocal Customer Support. |
||||||||||||
type |
Determines how much control the platform retains over a transferred call. Optional. The default is If the value is If the value is If the value is You can specify either Note: To use blind or consultation transfers, please contact BeVocal Customer Support. |
||||||||||||
onhold |
Specifies whether the outbound call is put on hold immediately after it is answered and after any post-dial digits have been sent. Optional (default is
Setting this attribute to |
||||||||||||
transferaudio |
Audio (specified by the URI) to play while the call connection attempt is in progress. |
The following events may be thrown by the execution of a <bevocal:dial> tag:
|
|||
|
| Parents | Children |
|
| | Chapter 6, Controlling Outbound Calls |
| | Related tags: <bevocal:connect>, <bevocal:disconnect>, <bevocal:hold>, <bevocal:listen>, <bevocal:whisper>, <transfer> |
<?xml version="1.0"?>
<!DOCTYPE vxml PUBLIC "-//BeVocal Inc//VoiceXML 2.0//EN"
"http://cafe.bevocal.com/libraries/dtd/vxml2-0-bevocal.dtd">
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<form>
<var name="myCall"/>
<!-- Establish an outbound call, then play a prompt to it -->
<block>
Placing an outbound call...
<bevocal:dial name="myCall" dest="tel:4085551212"/>
<bevocal:whisper call="myCall">
<!-- This prompt is played to the called party -->
Please hold for a call from the President
</bevocal:whisper>
</block>
<!-- Listen in on the call, waiting for one of the hotwords
in the grammar below to be spoken. If the caller or callee
hangs up, an event will be thrown. -->
<bevocal:listen name="hotword">
<grammar type="application/x-nuance-gsl">
<![CDATA[
[
(good bye) { return ("exit") }
(one) { return ("1") }
(two) { return ("2") }
(three) { return ("3") }
]
]]>
</grammar>
<filled>
<if cond="hotword == 'exit'">
Good bye
<bevocal:disconnect call="myCall"/>
<else/>
<!-- The other hotwords return single digits.
Echo them as DTMF to the called party -->
<bevocal:whisper call="myCall">
<audio expr="'dtmf_' + hotword + '_100.wav'">
<value expr="hotword"/></audio>
</bevocal:whisper>
<clear namelist="hotword"/>
</if>
</filled>
<catch event="connection.far_end.disconnect.timeout">
I'm sorry. The outbound call has exceeded the maximum allowed time.
<exit/>
</catch>
</bevocal:listen>
<catch event="connection.far_end.disconnect">
<!-- The outbound caller hung up. Returning to where you left off.
Continue with your application. -->
</catch>
<catch event="connection.disconnect.hangup">
<!-- The inbound caller hung up. Disconnect the outbound call.
This isn't really required; it will happen automatically
if you don't do it. But it's good practice anyway. -->
<bevocal:disconnect call="myCall"/>
</catch>
</form>
</vxml>
| Café Home |
Developer Agreement |
Privacy Policy |
Site Map |
Terms & Conditions Part No. 520-0001-02 | © 1999-2007, BeVocal, Inc. All rights reserved | 1.877.33.VOCAL |