Introduction to VXML Server Administration
VXML Server exposes three methods for an administrator to control it and obtain information. Each method is accessed differently and exposes different levels of functionality or information.
-
The first method, and the most flexible, is the JMX-compatible management interface.
-
The second method is through the use of administration scripts.
-
The third method is using the system information web page.
The topics that follow discuss these three methods.
JMX Management Interface
Java Management Extensions (JMX) is a Java technology specifically designed for managing Java applications. It is part of the standard Java Virtual Machine and defines a standard interface for clients and servers. An application that to be managed by JMX will register MBeans to the JMX context. An MBean can be used to expose information about the system that an administrator can fetch (for example, the total simultaneous calls on the system). An MBean can also be used to expose a function that an administrator can execute (for example, to suspend an application). A client application communicates with the server through the JMX interface to allow administrators access to the information and function that is exposed.
VXML Server, is a server application, exposes many informational MBeans for information regarding itself as well as the applications deployed on it. It also exposes administrative MBeans for controlling important administrator functions. It does this in a fully JMX-complaint manner so that any JMX-compatible client will be able to interface with VXML Server to gain access to the information and functions. One such client is JConsole, which is a client bundled with JDKs provided by Sun Microsystems and others. Some JVMs and application servers provided by other companies may utilize alternative JMX-compatible clients that should work as well.
It is also possible for a developer to create their own custom MBeans for exposing functions or information that will then be viewed by a JMX-compatible client alongside the MBeans exposed by VXML Server. See the Programming Guide for Cisco Unified CVP VXML Server and Cisco Unified Call Studio for more on creating custom MBeans.
VXML Server is configured to be JMX enabled when using Tomcat. The JMX port number by default is 9696.
Once VXML Server is started, a JMX client can then be launched and configured to point to the machine on which VXML Server runs, whether it be on the same machine or a remote one. Once connected, the client provides a graphical interface for displaying the information and functions. The client will be able to display information about the JVM itself and typically the Java application server will publish its own set of MBeans. VXML Server information will be displayed where the MBeans are listed in its own domain. The domain is typically rendered in a tree structure and will list global information and functions (that is, information having to do with VXML Server itself) as well as information on the deployed voice applications. Detailed explanations of the individual MBeans are provided in the following sections.
To address security, JMX client consoles require the proper security certificates (if JMX security is enabled on the VXML server) and the client attempts to connect to a remote server. Certificates are not required to connect to a local VXML Server because the client already has access to the local system. For details on securing communication and accessing secured communications, see the Configuring and Modifying Unified CVP Security section in Configuration and Administration Guide for Cisco Unified Customer Voice Portal.
Of the available administration interfaces, the JMX interface for VXML Server provides the greatest functionality and flexibility. It does, however, require the JVM to have JMX active and a JMX-compatible client. It also has a higher risk and overhead due to this flexibility.
Administration Scripts
Most of the
administration functions and some of the information about VXML Server are
provided via command-line scripts that can be executed by an administrator
manually or an automated system directly. The administrator scripts do not use
the JMX interface described in the previous section and are functional by
default without requiring any configuration on the administrator’s part. The
included scripts act as the client. The scripts are provided in two forms:
batch scripts for Microsoft Windows (ending in
.bat
)
and shell scripts for Unix (ending in
.sh
).
Scripts are provided
to execute global functions (on VXML Server itself) or functions for individual
applications. The scripts used for global administrator functions are found in
the
admin
directory of VXML Server. The scripts used for individual application
administration are located in the
admin
directory of each application.
The provided scripts are primarily used to expose VXML Server functions to administrators such as loading a new application, updating an existing application, suspending VXML Server, and so on. Some scripts provide information, such as the number of active simultaneous calls on the server. This chapter describes in detail all available scripts and their functionality.
Security is an important concern when it comes to administration functions that are accessed from the command-line. Unified CVP sets up these precautions to allow only the appropriate people access to these scripts:
-
By providing scripts or batch files (as opposed to through a graphical or web interface), the administrator must be logged into the machine in order to access them. Accessing these programs is as secure as the remote login process (such as SSH) and the permissions given to these scripts or the entire
admin
folder. -
VXML Server will only accept commands from the local machine, so even scripts stored on one machine cannot issue commands to an instance of VXML Server running on another machine. These two precautions ensure that only authorized administrators can access these functions.
Because the global administration scripts are stored in a different location from application scripts, each directory can be assigned different permissions. That way an administrator can be given access to the global administration scripts while still allowing the application scripts to be accessed by voice application developers.
Every administration script can be configured to ask for confirmation before the action is taken, to prevent the accidental execution of the script. By default the confirmations are on. They can be turned off by passing the command-line argument noconfirm to the script. This action can be useful if the administration scripts are executed by automated systems such as cron jobs.
While not as flexible as the JMX interface, administration scripts provide easy access to VXML Server functions for both administrators and automated systems out of the box. The risk potential is similar to that of the JXM interface although there is less overhead because JMX is not enabled.
System Information Page
The system information page provides basic information about VXML Server including the license information, the deployed gateway adapters and applications, the status of information on the application server on which VXML Server is running, and some miscellaneous system and Java information such as the version and memory usage. It does not provide the ability to execute any functions, it is meant to be a quick way to check relevant information. It is also the easiest of the three methods to obtain information because all that is needed is a web browser. The system information page can be seen by pointing a web browser to the URL:
http://[HOST][:PORT]/CVP/Info
Where:
-
HOST is the host name of the machine on which VXML Server is installed.
-
PORT is the port the application server is configured to listen on. The default port for HTTP is 7000.
The first time you access the server information page you must configure a username and password. After you create the username and password you can log in and view the page.
The system information page is the easiest and safest way of obtaining administrative information, although it is also the least flexible.