All the OA&M
features on VXML Server are built with JMX management standards. Applications
and components on VXML Server are instrumented using Managed Beans (MBeans).
MBeans expose their management interfaces, composed of attributes, operations
and event notifications, through a JMX agent for remote management and
Managed resources are categorized at levels of
application, global configuration and command, and platform. Each level may
facilitate three typical JMX managements: lookup and modify configuration,
collect and avail application statistics, notify of state changes and erroneous
At the application level, administrators
can operate the following:
- Get/set default audio
- Get/set suspended audio
Get/set session timeout
- Get gateway adapter
- Application release
- Runtime status
- Suspend/resume application
- Retrieve application administration history
- Set and remove application
- Remove all application data
Get application data names
The global level
manages VXML Server as a web application. It allows:
Read logger event queue size
- Read/write maximum logger
thread pool size
- Read/write minimum logger thread pool
- Read/write logger thread keep alive time
- Read/write session invalidation delay
- Deploy all new applications. This command
assumes all the deployable applications have been updated to the AudiumHome.
All this command does is to deploy these applications.
List all new applications. This command lists the names of all new applications
(that is, those which have yet to be deployed).
new application. This command deploys the specified application. To retrieve a
list of new application names, use List all new
applications (above) first.
- Flush all old
- Update all applications
- Update common classes
- Suspend/resume VXML
- Retrieve global administration history
- Get/set global data
- Get all global data
- Remove all global data
At the same level, the management system also provides
information regarding metrics collection:
- The total
number of calls since VXML Server starts up.
- Maximum and
average number of concurrent calls, the timestamp when it reaches the maximum
- Maximum and average response time.
- Number of calls that time out.
- Number of
calls that encounter errors.
- Transfer/zero-out rate. The
number of calls transferring to an operator or live agent.
- Abandon rate. The number of calls that end as hang up.
- Call completion rate. The number of calls that are completed as expected
through the callflow.
- Maximum logger event queue
- Maximum loggers thread count.
The platform level consists of information for VXML Server
as a product:
- Product Name
- Installation Key
- License Expiration Date
- Licensed GW Adapters
VXML Server MBeans implement
a Java API set that is defined for management interfaces. Developers can create
custom management beans that use the API. The following figure depicts the
relationship among the management API packages:
com.audium.server.management and the built-in beans
(which use the package
com.audium.server.management.mbean) and custom
Figure 1. Management Relationship Example: MBeans
When VXML Server
starts, all the beans that are deployed to
management directory would be loaded and registered
to the JMX server. Depending on the base class it extends, a bean is grouped in
VoiceApplication, Global or Info under the domain Cisco VXML Server
Application Management API. For an application-scoped bean that
AbstractApplicationData, a bean instance will be
created for each application. For instance, if bean A extends
AbstractApplicationCommand and there are currently
two applications deployed: appA and appB, then two instances of bean A class
will be created, one for appA, the other for appB.
For a logger
that has been deployed with an application, a management bean will be
dynamically generated and registered for it. Currently there is no extra
requirement for a logger to become manageable. However, the following
operations are excluded from logger beans due to their irrelevance with respect
to manageability: log(),
Custom beans that directly
implement AudiumManagementBeanInterface but do not
extend any of the following abstract classes will be loaded but not registered
when VXML Server starts up:
This type of
bean should register itself to the management server and will not have access
to the information provided by VXML Server. VXML Server only loads these
The standard VXML Server logging mechanism does not pick up
errors or exceptions that happen in a custom bean and the developer is
responsible for handling the errors themselves or let them propagate to the JMX