Skip Headers
Oracle® Beehive Integration Guide
Release 2 (2.0.1.8)

Part Number E16650-06
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

B Oracle Auto-Attendant Markup Language (AAML) Reference

The appendix provides information on Oracle Auto-Attendant Markup Language (AAML) elements, and contains the following sections:

Overview of Automated Attendants

An automated attendant (auto-attendant) is a telephony application that acts as a virtual receptionist for an office. The application answers the telephone and enables callers to search for and contact individuals at a particular facility. The application also enable callers to obtain general information about a specific facility or enterprise.

The options and behaviors of auto-attendants are defined in AAML (.aaml) documents. For more information, see "Overview of AAML Documents".

Overview of AAML Documents

An AAML document defines the options and behaviors of an auto-attendant, and consists of the following sections:

These sections are represented by the following elements: languages, greeting, extension-dialing, menu, and handlers, respectively. Also, the execution of an auto-attendant starts with the Languages Section, followed by the Greeting Section, and then the optional Extension-Dialing Section, Menu Section, and Event Handler Section.

Languages Section

The Languages section declares the languages the caller can select in the auto-attendant. It contains an optional prompt and a list of languages. When a caller hears the language prompt, the caller can use the keypad to select the language to use for the rest of the call. The prompt is specified by an audio element. The list of languages is specified by a sequence of language elements.

The order of the languages in the document determines the corresponding digit to select, starting with the one key (1). The language section is required even if only one language will be used. However, in that case, a prompt is not needed (nor will one be played even if specified). This is the only time an audio element is used without an lang attribute, since the message will be played before the desired language is known. In the single language case, the execution will jump straight to the greeting section.

For example, the following language section defines a prompt that declares English and Spanish as choices for the caller:

Example B-1 Language Section with Two Languages


<languages>

<audio>For English press one, para Espaniol...</audio>

<language>en-us</language>

<language>es-us</language>

</languages>

However, the following Language section only specifies English, so no prompt will be displayed:

Example B-2 Language Section with One Language


<languages>

<language>en-us</language>

</languages>

Greeting Section

As the name implies, the Greeting section defines the attendant's greeting. This will be played after the language has been selected (if applicable) and before the main menu. This is the only time the greeting will be played.

The Greeting section allows for prompts in multiple languages which is specified by an audio-set element. The audio set should contains one audio element per language for each language declared in the languages section. The audio-set element is required even in the single-language case.

Once the greeting has played execution moves on to the menu section. If the caller presses any keys while the greeting plays, the attendant will behave as if the key press was made during the menu prompt, allowing users familiar with an attendant to skip the greeting. This feature can be disabled by setting the bargein attribute to false in the greeting tag, thus forcing callers to hear the entire greeting.

Example B-3 Greeting Section


<greeting>

<audio-set>

<audio lang="en-us">English greeting goes here</audio>

<audio lang="es-us">Spanish greeting goes here</audio>

</audio-set>

</greeting>

Extension-Dialing Section

The optional Extension-Dialing section can be used to enable callers to call a person directly by dialing the person's extension. This is achieved through an extension-dialing element declaration.

Menu Section

The heart of the application is the Menu section, which contains a menu element. The menu element consists of a prompt and up to nine options. An option can have a prompt defined that will be played upon selection. After an option's prompt is played, an action will be taken.

The system supports the following actions, each of which has a corresponding element with the same name:

  • directory: The directory action invokes the directory module allowing a the caller to lookup people. The first prompt of the directory module is To search for a.... If the caller elects to cancel the directory lookup, then the caller will hear the menu again. If the caller finds someone and elects to call the person or leave a voicemail, then the caller will not return to the attendant.

  • disconnect: The disconnect action terminates the call after the prompt is played.

  • reprompt: The reprompt action plays the menu prompt and allows the caller to choose a different option.

  • submenu: The submenu action transfers control of the call to another attendant; callers will be able to return to this attendant by pressing the start key (*). The return option is implicitly added in the sub-menu. In other words, it is not specified in the AAML of the sub-menu. If the currently selected language is also declared in the sub-attendant, then the execution begins with the greeting prompt, otherwise execution starts with the language selection. If the sub-attendant only has one language, then it is used regardless of the current language.

  • transfer: The transfer action redirects the call to a given phone number. There is no way to return once the call has transferred.

Event Handler Section

The event handlers determine what message should be played if the caller presses an invalid key or does not press anything within a timeout period (this is system dependent). This is known as throwing a nomatch or a noinput event, respectively. There are two sub-types of event handlers for each main type (nomatch and noinput), warning and disconnect. The disconnect handler is invoked when a maximum number of events of one type is reached; warning in every other case. The message played and the maximum are specified separately for each event type.

Element Definitions

This section contains the definitions and details for the following elements:

attendant

The root element of an AAML document.

Children

none

Attributes

name

The name of the auto-attendant. It must start with an letter and can contain only letters, numbers, and underscores. It should be the same name of the file (without the .aaml suffix).

audio

Represents a prompt in a given language. There can be only one prompt per language in a given audio-set.

Children

none

Attribute

lang

The language code of the recorded file.

uri

The URI of a recording of the contained text. It is not necessary if you upload prompts with beectl.

Remarks

The contained character data is a text of the message, while the URI points to a recording of the text. The lang attribute is not necessary when tag used as part of a languages element.

audio-set

A set of messages, one for each declared language. There should one audio tag in a set for each language declared in the languages element.

Children

audio

Attributes

none

Remarks

Represents a message in all languages declared for this auto-attendant. This element must containing one audio element for each language declared for this document.

directory

Jumps to the directory module. The first prompt of the directory module is Spell the person's first name, then press star.... Any prompt played in an option containing this element should be made to flow well with this prompt.

Parents

option

Children

none

Attributes

facility

The name of the facility to be used as the search context when looking up users in the directory.

Remarks

Indicates that the parent option should go to the directory module.

disconnect

Terminates the phone call.

Parents

option

Children

none

Attributes

none

Remarks

Indicates that the parent option should end the phone call.

extension-dialing

Declares the callers should be allowed to call a person directly by dialing their extension. The length of extensions and the prefix to prepend to them are defined in the facility properties. If this element is present the option to dial by extension will be presented after the greeting prompt. The caller can continue on the main menu instead by pressing the pound key (#). Pre-recorded prompts will be provided by the system. An administrator may choose to re-record them to maintain consistency with other prompts. If so, then see the call flow to ensure that the wording is consistent with the behavior of the application. There is no need to record the no-input prompts as they are the same as the ones used in the rest of the application.

Parents

attendant

Children

none

Attributes

none

greeting

Defines the greeting message heard after selecting the language and before the main menu.

Parents

attendant

Children

audio-set

Attributes

bargein

If true, allows the caller to enter a menu option while listening to the greeting. If false, all input will be ignored and the greeting will continue to play. Default is true.

goto

A menu option that will trigger the IVR gateway to fetch a VoiceXML document and begin executing it. The document can be any VoiceXML document that can be understood by the gateway.

Parents

option

Children

none

Attributes

url

The URL of a VoiceXML document.

handlers

Contains the noinput and nomatch handlers for the attendant. This element can contain at most two noinputs and nomatches, one of each type (warning or disconnect).

Parents

attendant

Children

noinput, nomatch

Attributes

none

language

Declares a language for the auto-attendant.

Parents

languages

Children

none

Attributes

none

Remarks

Must contain an ISO language code of the desired language. An audio element with this code in the lang attribute must then be given in all audio-sets in the rest of the document.

languages

Declares the set of languages used in the auto-attendant.

Parents

attendant

Children

audio, language

Attributes

none

Remarks

The order of the child language elements determines the DTMF key that selects the given language. For example, given the following:

<languages>

<audio uri="...">For English press one, pour Francais tirez deux.</audio>

<language>en</language>

<language>fr</language>

</languages>

Pressing 2 selects French as the language for the duration of the call (as the prompt suggests).

menu

Defines the main menu of the auto-attendant.

Parents

attendant

Children

audio-set, option

Attributes

none

Remarks

Contains the main menu prompt instructing the caller on the available options and the definition of those options.

noinput

Defines what to tell the caller if they do not provide a response before the timeout period (system dependent). If a disconnect handler is not given, the application will disconnect after three noinputs. If the type is warning, then the menu will be replayed after the element's prompt. If the type is terminal, then the call is terminated. An explicit disconnect or reprompt element is not necessary.

Parents

attendant

Children

audio-set

Attributes

type

The type of handler. Can be either warning or terminal. Default is warning.

count

The number of no inputs before disconnecting. Valid only if type is terminal. Default is 3.

nomatch

Defines what to tell the caller if he or she presses a key that is not defined as a valid input. If a disconnect handler is not given, then the application disconnects after three nomatches. If the type is warning, then the menu will be replayed after this element's prompt. If the type is terminal, then the call will be terminated. An explicit disconnect or reprompt element is not necessary.

Parents

attendant

Children

audio-set

Attributes

type

The type of handler. Can be either warning or terminal. Default is warning.

count

The number of nomatches before disconnecting. Valid only if type is terminal. Default is 3.

option

Defines a menu option.

Parents

menu

Attributes

ord

The DTMF key to select the option. Can be a single digit from 1 to 9.

Remarks

Since the ord attribute defines the key to select the option, it must be distinct from any other ords in the menu. An option can only contain one of directory, disconnect, reprompt, submenu, or transfer. The audio-set defines what message (if any) should be played after a caller selects the option and before the defined action is carried out.

reprompt

Instructs an option to go back to the main menu after playing its prompt.

Parents

option

Children

none

Attributes

none

submenu

Jump to another attendant as a sub-menu.

Parents

option

Children

none

Attributes

name

The name of an attendant to which control should be transferred.

Remarks

After the call enters the attendant named by the name attribute, the behavior will be as if that attendant was called directly, with the following exceptions:

  • If the languages element defined in the sub-attendant includes the currently selected language, then it will be used without presenting the caller with the language selection menu.

  • If the currently selected language is not defined and two or more other languages are defined, then the user will be presented with the language menu.

  • If the sub-attendant has only one language but if differs from the one currently selected, then the language of the sub-attendant will be used.

There will be an additional menu option of * available, which returns the caller to this attendant. The caller will hear the menu prompt upon return.

transfer

Instructs an option to transfer the call to a given phone number.

Parents

option

Children

none

Attributes

destination

The phone number to which the call should be transferred.

Remarks

The destination must be an RFC-3966 compliant phone number URL.

voicemail

Transfers the call directly to voicemail. The call jumps directly to the user's greeting message without ringing the phone.

Parents

option

Children

none

Attributes

mailbox

The phone number of the mailbox to which the call is transferred.

Example AAML Document

<attendant name="chicago">

<languages>

<audio>For English press one, pour Francais tirez deux.</audio>

<language>en</language>

<language>fr</language>

</languages>

<greeting>

<audio-set>

<audio lang="en">

Fake Corp, making stuff happen.

</audio>

<audio lang="fr">

Fake Corp, nous faisons des choses se produire.

</audio>

</audio-set>

</greeting>

<extension-dialing/>

<menu>

<audio-set>

<audio lang="en">

To look up an employee press one. To be connected to campus

security press two. For the message of the day press four. If

you are done press four or just hang up.

</audio>

<audio lang="fr">

Pour cherche person composez l'une. S'il vous pouvez parlerr

avec le securite tirez deux...

</audio>

</audio-set>

<option ord="1">

<audio-set>

</audio-set>

<directory facility="chicago.us.oracle"/>

</option

<option ord="2">

<audio-set>

<audio lang="en">

Transferring to the campus security. One moment please.

</audio>

<audio lang="fr">

Une moment.

</audio

</audio-set>

<transfer destination="tel:+13126518315"/>

</option>

<option ord="3">

<audio-set

<audio lang="en">

Coming from the north side, take Lake Shore Drive to Jackson,

turn West...

</audio>

<audio lang="fr">

...

</audio>

</audio-set>

<reprompt/>

</option>

<option ord="4">

<audio-set>

<audio lang="en">

Goodbye.

</audio>

<audio lang="fr">

Au revoir.

</audio>

</audio-set>

<disconnect/>

</option>

</menu>

<handlers>

<noinput type="warning">

<audio-set>

<audio lang="en">

Awaiting response.

</audio>

<audio lang="fr">

...

</audio>

</audio-set>

</noinput>

<noinput type="disconnect">

<audio-set>

<audio lang="en">

Thank you for calling, goodbye.

</audio>

<audio lang="fr">

...

</audio>

</audio-set>

</noinput>

<nomatch>

<audio-set>

<audio lang="en">

You have entered an incorrect option.

</audio>

<audio lang="fr">

Ce n'est pas une chois correcte.

</audio>

</audio-set>

</nomatch>

</handlers>

<attendant>