Providing a default application

Every voice response node should have a default application, which can be either CCXML, VoiceXML, or Java. The default application is invoked in the following two situations:

The default application does not have to be started, because it is dynamically started as required.

  1. Add an AppName configuration entry for the application.
  2. Specify the default application name using the NodeDefAppName keyword in the NodeName configuration entry.

The following three parameters are passed to the default application:

Only the first of these parameters is available to VoiceXML and CCXML applications. The value of the DNIS in a VoiceXML application is stored in the local.uri session variable. In a CCXML application, you can copy the DNIS information from the CLGN telephony tag using a <var> element. (Refer to Blueworx Voice Response for AIX: Using the CCXML Browser for further information.) In a Java application you can access all three parameters by calling the getParameter() or getParameters() method of the WVR object that waits for, or makes, the call. These parameters are:

DNIS parameter

The dialed number (also known as the called number) is not the same as the phone number that you put in the NumToApp mapping. Services such as Dialed Number Identification Service allow a program to get the actual dialed number as opposed to the number arbitrarily passed by the switch and associated with the application.

For example two toll-free numbers may both end up at the same number that is passed by the switch to Blueworx Voice Response and is then associated with JavaApplication and thence with a VoiceXML application.

targetAppName and targetAppClass parameters

When there is no application configured for the number dialed by the caller (that is, there is no NumToApp mapping for the DNIS), the targetAppName and targetAppClass parameters are undefined (null). When there is an application configured for the number dialed by the caller, but there is no free instance of the application when the call arrives, the targetAppName and targetAppClass parameters tell the default application what should have happened, and allow it to either simply log the error condition, or solve the problem by creating an instance of the appropriate application (targetAppClass) and passing the call to it.

Example configuration entries for the default application

# Default application: Welcome to our information service
# When no instance of the pizzas application is waiting, or
# if a call arrives on a number other than 123456,
# the welcome application is started
AppName=welcome
  AppClass=my.package.welcomeapp
;
 
NodeName=VRNode1
  VRNode=yes
  NodeDefLocale=en_US
  NodeDefAppName=welcome
  NumToApp=123456,pizzas
 
;