Call-Related Session Variables

The latest VoiceXML 2.0 and 2.1 specifications define a set of session variables named session.connection.* to provide call-related information, rather than session.telephone.* session variables (which were defined in earlier versions of the VoiceXML 2.0 specification). The reason for this updated naming convention is that today's platforms may support more than just the traditional PSTN telephony connection; they may also support other kinds of connections, like VoIP, as well. The keyword "connection" is therefore more appropriate, since it can apply to both PSTN and VoIP.


Supported Naming Conventions

VoiceGenie supports session.connection.* variables, for compliance with the naming convention used in the latest specifications. For backward compatibility, VoiceGenie also supports a small list of session.telephone.* variables, which can be set instead of, or in addition to, their "connection" equivalents. Note that each of the supported session variables will only be set during a call if it is configured in the VoiceXML Interpreter Configuration.


Default Session Variable Configuration

The session variables are initially configured in the VoiceXML Interpreter Configuration as follows:

The platform configuration scripts prompt something like:

The alternate configuration lets the VoiceXML interpreter be more
stringent on conformance, with some application behaviour changes.
For a complete list of changes, please refer to release note.
Do you want to use this configuration? [Y/n] >

If the administrator answers yes (default response), the platform will be configured to set all the session.connection.* variables, only. If they answer no, the platform will be configured to set the session.telephone.* variables instead of their "connection" equivalents, and to set the remaining session.connection.* variables. Note that this script option will also affect the naming of call-related events and the setting of the strictconformance property.


Recommended Configuration

It is recommended that all platforms be configured to set all the "connection" session variables, especially if being used to develop new applications (which should only reference "connection" variables). If a platform is running existing applications that reference some "telephone" variables, and that cannot be modified to reference the corresponding "connection" variables instead, the platform configuration can be modified to set the "telephone" variables as well.



List of Telephone Variables Supported

Here are the only session.telephone.* variables that the platform can be configured to set instead of, or in addition to, their "connection" equivalents:

session.telephone.ani
session.telephone.dnis
session.telephone.uui
session.telephone.iidigits
session.telephone.ocn
session.telephone.rdnis
session.telephone.pri
session.telephone.ntype 
session.telephone.cname
session.telephone.rreason
session.telephone.billingnumber
session.telephone.dialednumber
session.telephone.callidref
session.telephone.tfci
session.telephone.channelidref
session.telephone.confid

The platform will not set any other session.telephone.* variables. For example, session.telephone.originator will always be undefined, even if it is listed in the VoiceXML Interpreter Configuration.