Supported VoiceXML Elements
You can use only the supported VoiceXML elements and attributes. They are listed in the table below.
The elements callout, connect, customstate, error, setlanguage, setobcallresult, setpriority, setskills, soap and timeout are specific to Sinch Contact Center , they are extensions to the VoiceXML standard. Also other elements have Sinch Contact Center -specific attributes. Those specific elements and attributes are marked in VoiceXML documents with the prefix bcm:.
Only block, callout, customstate, form, menu, noinput, nomatch, setextradata, setlanguage, setpriority, setskills, soap, and var elements can be placed directly to the VoiceXML document, others can be child elements to these parent elements, or their child elements, only. All parent and child elements are listed in the table below.
In the table, links in the element names provide with more specific information about the element. For general instructions about element attributes, see Element Attributes.
* = Specific to Sinch Contact Center
Element |
Description |
Parent Elements VXML refers to main level in VoiceXML document |
Child Elements |
---|---|---|---|
Assigns a value to a variable. |
block, error, filled, if, noinput, nomatch, timeout |
- |
|
Plays audio files in the IVR application. |
block, choice, error, field, filled, if, menu, noinput, nomatch, record, timeout, transfer |
- |
|
A container element for executable content that executes if the condition of the block equals to true. |
form, vxml |
assign, audio, callout, clear, customstate, disconnect, exit, goto, if, log, prompt, setlanguage, setpriority, setskills, soap, var |
|
callout * |
Creates a new call to another destination, joining the original call and the new call together. Call control is returned to the IVR after the new call terminates. |
block, filled, form, if, noinput, nomatch, vxml |
error, timeout |
Defines a menu item. |
menu |
- |
|
Resets the selected element's value, or if no elements are selected, the fields in the form element it is placed in. |
block, error, filled, if, noinput, nomatch, timeout |
- |
|
connect * |
Connects the call. Used in early queuing IVRs. |
block, error, filled, nomatch, timeout |
- |
Calls a Python customizer. To manage customizers in the system, see Managing Customizers for IVRs |
block, error, form, if, timeout, vxml |
error, timeout |
|
Disconnects the call. |
block, error, filled, nomatch, timeout |
- |
|
Is used as the final logic constructor in an array of conditional statements, and its content is executed when all earlier conditional statements evaluate to false. |
if |
- |
|
Is used to specify additional content when all other conditional statements in an array of conditional statements evaluate to false. The application will execute the first conditional statement that evaluates to true. |
if |
- |
|
error * |
Is used with the soap and customstateelements. It allows assigning event handlers when a query fails with an error. |
callout, customstate, soap |
assign, audio, callout, clear, customstate, disconnect, exit, goto, if, log, prompt, setlanguage, setpriority, setskills, soap, var |
Exits the IVR application. Note: Make sure the call knows where to go after exiting,
for example, in opt-in IVRs it returns to original queue. To finish
the call, use the
disconnect
element.
|
block, error, filled, if, noinput, nomatch, timeout |
- |
|
Allows IVR applications to collect information from users. |
form |
audio, filled, log, noinput, nomatch, prompt |
|
Checks if there is caller input in field or record elements. |
form, field, record |
assign, audio, callout, clear, disconnect, exit, goto, if, log, prompt, setlanguage, setpriority, setskills, var |
|
Acts as a container for all field items, and for all control items. |
vxml |
block, callout, customstate, field, filled, noinput, nomatch, record, soap, transfer, var |
|
Is used to transfer application execution to a specific element in current VXML document. |
block, error, filled, if, noinput, nomatch, timeout |
- |
|
Specifies conditional statements that allow choosing different options based on, for example, variable values. |
block, error, filled, if, noinput, nomatch, timeout |
assign, audio, callout, clear, customstate, else, elseif, exit, goto, if, log, prompt, setlanguage, setprioroty, setskills, soap, var |
|
log |
Allows writing messages to CEM log. |
block, error, field, filled, if, nomatch, timeout |
- |
Enables building a DTMF controlled menu with a maximum of 12 menu items. |
vxml |
audio, choice, noinput, nomatch, prompt |
|
Handles situations when the IVR application expects DTMF input from the caller, but has received none. |
field, form, menu, transfer, record, vxml |
assign, audio, clear, exit, goto, if |
|
Handles situations when the caller inputs a value that is not recognized by the IVR application. |
field, form, menu, transfer, vxml |
assign, audio, clear, disconnect, exit, goto, if, log, var |
|
Enables building audio messages that include numerical information, such as cardinal and ordinal numbers, dates, and times. Requires the say-as child element. |
block, error, field, filled, if, menu, record, timeout, transfer |
say-as |
|
Enables the audio recording of the call. |
form |
audio, filled, noinput, nomatch, prompt |
|
Spells numerical information as string of numbers, cardinal numbers, ordinal numbers, dates, times, and date-times. Requires the value child element. |
prompt |
value |
|
Allows attaching extra data to the call. Typically it is used in opt-in IVRs to attach the survey IVR number to the call and thus connect the call to the right survey. Expression can be a Python statement, or a number. |
block, error, if, noinput, nomatch, timeout, vxml |
- |
|
Sets the call language, that is, selects one of the supported languages and passes this selection to a queue or application where the call is transferred to. If the call language is not set, the system language is used. |
block, error, filled, if, nomatch, noinput, timeout, vxml |
- |
|
Sets the call result for an Outbound campaign call |
block,filled, if, nomatch, noinput |
- |
|
Allows setting the call priority expression. Expression can be a Python statement, or a number. |
block, error, filled, if, noinput, nomatch, timeout, vxml |
- |
|
Enables saving the customer consent in the database for later use. Added in 1711. |
block, error, filled, if, noinput, nomatch, timeout, vxml |
- |
|
Allows setting skill requirements for the call. |
block, error, filled, if, noinput, nomatch, timeout, vxml |
- |
|
soap * |
Is used to fetch data from external data sources by using the SOAP protocol. |
block, error, form, if, timeout, vxml |
error, timeout |
timeout * |
Is used with the soap and customstate elements. It allows assigning event handlers when a SOAP query times out. |
callout, customstate, soap |
assign, audio, callout, clear, customstate, disconnect, exit, goto, if, log, prompt, setlanguage, setpriority, setskills, soap, var |
Transfers caller to another destination, such as a queue, or another IVR application. |
form |
audio, filled, noinput, nomatch, prompt |
|
Defines the numerical value used in the say-as element. |
say-as |
- |
|
Sets a VoiceXML variable within the scope specified by its parent element. |
block, error, filled, form, if, nomatch, timeout, vxml |
- |