Element Attributes

Element attributes must be defined before the IVR can be activated and used for the purpose it is planned for. Some attributes are mandatory for an element, some elements do not have any other attributes but Description.

System Configurator does not support all VoiceXML standard attributes, and some elements have attributes that are extensions to VoiceXML standard. Only the attributes displayed in IVR Editor with the element, can be used.

  1. In the IVR Editor view, choose the element on the left, the user interface for defining the corresponding attributes appears on the right. Elements and their attributes are introduced in chapters linked to the list of supported VoiceXML elements.

  2. Depending on the attribute, define it by entering or choosing the value, or choosing a data item.

  3. To save the element attributes, choose Save in the upper left corner of the attribute window..


In several elements you can define a condition that must be fulfilled before the element, or its child elements, are executed. Define the condition using the selectable data items as such, complete them with Python code, or enter the whole statement in Python code. For more instructions, see Expressions below .

Direct and Expression Attribute Definitions

In many elements, a function or property can be defined both directly and with an expression, for example there is Target, and Target Expression; Source, and Source Expression, and so on. Use one of the methods only. If both attributes are defined, the expression is omitted, and direct definition is used.


Many attributes, such as destination, source number, file location, and so on, can be defined with an expression. It is an alternative method to define an item using a Python statement or other data representation instead of entering the actual item. For example: the caller number can be 1234567; the caller number expression can be var: {ANUMBER}.

If an alphanumeric string is entered in the expression field, it defines the expression value explicitly.

To define expressions, use the following methods:

  • Use an expression template, or predefined statements, queries, variables or other selectable data item:

    1. Select the statement from the drop-down list.

    2. Select x (and y) from the drop-down list, or write the value, or a Python statement.

    3. Click OK.

    Figure 1. Using Expression Templates

  • Use predefined statements, queries, variables or other items, and complete the Python statement, if needed. When you enter element such as var or menu , and also define at least the Name or Identifier value, they appear on the drop-down list. and they can be referred to in expressions.

    For example: Choose a variable {ANUMBER} from the drop-down list, and enter == "12345".

  • Enter the whole expression in Python code, for example: {ANUMBER} == "12345". When you are entering Python statements, make sure you use Python programming language syntax. For example, to specify an absolute path, use quotes in a string: '\\\c\SAP\contactcenter\cctr_4711.wav', and to compare a variable to a string, use two equal signs: queue_number == '12345'.

Python Data Dictionaries

In the elements assign, callout, customstate, soap, var values can also be entered as key/value pairs.

  • To define parameter values as key/value pairs, enter them in Key and Value fields, and add each pair to dictionary with the plus (+) button.

  • To remove a key/value pair from the dictionary, choose the pair and click the minus (-) button.

  • To change the row order, choose the row, and move it with the Up and Down buttons.

Results of Callout, Customstate, and Soap Element Queries

If you use callout, customstate , or soap elements in your IVR, the results of the queries made in those elements are available for the succeeding elements’ attribute variables. For example, add an element, such as if, var, assign, and choose for the condition or expression the appropriate variable from the list.

Query results appear in the following ways. identifier is the text entered for the element’s Identifier attribute.

  • callout:identifier . For the callout results, a predefined set of results is available, see Callout Element.

  • customstate:identifier

  • soap:identifier[0].get('field','Not found'). For the soap results, define also the ordinal number of result and the query field, and what is returned when result is not found.

Figure 2. Example: Using customstate Results for Defining a Condition