Version 6.4 451 March 2012
SIP User's Manual 20. Configuring the IP Media Parameters
There are ramifications in using both these types of scripts. A dynamic script can be
customized for each caller, but has to be downloaded and parsed for every call. However,
static scripts are loaded once (although the system checks periodically for updates),
parsed once, and then is re-used for each call. This results in better performance and using
of fewer resources per call, because each call uses only what it needs of the parent script,
and doesn't need its own copy of the full script.
Scripts are loaded initially through an INVITE message from the SIP Call Agent to the
device. If the script is a static script, the device checks whether the file has already been
loaded, and if so, it uses the existing script. Otherwise, the script is loaded to the device.
Dynamic scripts are always loaded when requested.
A VXML script can trigger another VXML script to be loaded. An example of this is the
VXML <goto> element, which can cause a transition to a different form in the same script,
or to a completely different script. The script that is loaded as a result of the execution of
the first script can be either dynamic or static. If the second script is a static script, the
device checks whether it has already been loaded to the device and references that copy if
it exists. Otherwise, the second script is loaded, parsed, and executed.
There are multiple ways in which VXML scripts may be loaded to the device. These include
automatic update for static scripts (which allows for a script to be loaded using a remote
FTP, HTTP, or NFS server), TFTP for static scripts (which allows a script to be loaded from
a remote BootP/TFTP server), or HTTP for dynamic scripts. Refer to the appropriate
sections for additional details.
The device can activate a VXML script using the VXMLID parameter in the Request-URI
user part only, upon receipt of a regular INVITE message. For example:
Request-URI = <VXMLID>http://mydomain.com/myscript.cgi@host;
This is in addition to invoking VXML scripts on the receipt of SIP Request-URIs such as:
<VXMLID>@host;voicexml= http://...
This feature is supported for IP-to-Tel and Tel-to-IP calls. For specified dialed phone
numbers, the user part can be manipulated by adding a VXML script path. For example,
upon receipt of the INVITE request, INVITE sip:100@myhost, the device can be configured
to manipulate (using the IP to Tel Manipulation table) the Request-URI user part to
voicexml=http://myhost.com/script.cgi@myhost.
20.1.3.4 Proprietary Extensions
To provide the functionality intended by the VXML specification and to extend the
functionality of the VXML specification, some proprietary extensions have been included in
the AudioCodes VXML Interpreter. These extensions are discussed in the following
sections and are intended to enable a VXML script to make use of the advanced audio
capabilities provided by the device.