Table Of Contents
Monitoring and Troubleshooting Voice Applications
Contents
Prerequisites for Voice Application Monitoring and Troubleshooting
Restrictions for Voice Application Monitoring and Troubleshooting
Information About Voice Application Monitoring and Troubleshooting Enhancements
Description of Voice Application Monitoring and Troubleshooting Features
Counters and Gauges for Voice Application Statistics
Monitoring Levels for Voice Applications
Application Instance Statistics
Application Interface Statistics
Benefits of Voice Application Monitoring and Troubleshooting Enhancements
Guidelines for Enabling Statistics and Event Logging for Voice Applications
Throttling Mechanism for Event Logging
Memory Requirements for Writing Event Logs to FTP
How to Configure Monitoring for Voice Applications
Enabling Event Logging and Statistics Globally for Voice Applications
Enabling Event Logging for a Specific Voice Application or Interface
Monitoring Voice Applications for Active Calls
Monitoring Voice Applications for Terminated Calls
Examples for Monitoring Voice Applications
Monitoring Voice Call Legs
What To Do Next
Clearing Event Logs and Statistics for Application Instances and Interfaces
Displaying Event Logs for Applications or Call Legs in Real-Time
Modifying Event Log Settings for Application Instances
Modifying Event Log Settings for Application Interfaces
Modifying Event Log Settings for Call Legs
Restrictions
Modifying Event Log History Limits
Configuration Examples for Monitoring Voice Applications
Enabling Event Logs and Statistics Globally: Example
Customizing Event Logs and Statistics Example
Additional References
Monitoring and Troubleshooting Voice Applications
Event logs and statistics introduced in the Voice Application Monitoring and Troubleshooting Enhancements feature enable detailed monitoring of voice application instances and call legs. Records for terminated application instances and call legs are saved in history to assist in fault isolation. This comprehensive management information helps you diagnose problems in the network and identify the causes.
Tip
To immediately begin using this feature, proceed to the "Enabling Event Logging and Statistics Globally for Voice Applications" section.
For more information about this and related Cisco IOS voice features, see the following:
•
"Overview of Cisco IOS Tcl IVR and VoiceXML Applications"
•
Entire Cisco IOS Voice Configuration Library—including library preface and glossary, other feature documents, and troubleshooting documentation—at http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_voice_configuration_library_glossary/vcl.htm.
Note
For releases prior to Cisco IOS Release 12.3(14)T, see the previous version of the Cisco Tcl IVR and VoiceXML Application Guide at: http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/tcl_leg/index.htm
Release
|
Modification
|
12.3(8)T
|
This feature was introduced.
|
12.3(14)T
|
A new command-line interface structure for configuring Tcl and IVR applications was introduced and affected the commands for configuring this feature.
|
Feature History for Voice Application Monitoring and Troubleshooting Enhancements
Contents
•
Prerequisites for Voice Application Monitoring and Troubleshooting
•
Restrictions for Voice Application Monitoring and Troubleshooting
•
Information About Voice Application Monitoring and Troubleshooting Enhancements
•
How to Configure Monitoring for Voice Applications
•
Additional References
Prerequisites for Voice Application Monitoring and Troubleshooting
•
A Tcl IVR 2.0 or VoiceXML application must be configured on the voice gateway as described in Configuring Basic Functionality for Tcl IVR and VoiceXML Applications, or you must use one of the call applications contained in Cisco IOS software.
•
Incoming telephony call legs including voice, fax, or modem.
Restrictions for Voice Application Monitoring and Troubleshooting
•
Event logs for IP call legs are not supported.
•
Tcl IVR 1.0 is not supported.
•
Statistics and event logs for dynamically loaded scripts that are not configured on the gateway are not supported.
Information About Voice Application Monitoring and Troubleshooting Enhancements
To monitor and troubleshoot voice applications on the Cisco voice gateway, you should understand the following concepts:
•
Description of Voice Application Monitoring and Troubleshooting Features
•
Counters and Gauges for Voice Application Statistics
•
Monitoring Levels for Voice Applications
•
Benefits of Voice Application Monitoring and Troubleshooting Enhancements
•
Guidelines for Enabling Statistics and Event Logging for Voice Applications
Description of Voice Application Monitoring and Troubleshooting Features
Voice calls are setup, maintained, and terminated by different subsystems within Cisco IOS software. Before Cisco IOS Release 12.3(x)T, managing calls from a voice application perspective could be challenging when diagnosing call progress, delays, exceptions, and failures during post call-analysis. Although debug commands are available for the individual subsystems, the volume of output and the expertise required to understand all the subsystems make it difficult to use debug commands for identifying the cause of a failure or gathering specific details about a call.
This feature enables detailed monitoring of call applications by providing command-based event logging and statistics collection for voice application instances, application interfaces, and call legs on the Cisco voice gateway. The event logs and statistics provide a high-level view of application transactions in simple, nontechnical language. Event logs include subscriber dialog interactions and back-end server transactions. This event logging is separate from the generic message logging available with the logging buffered command. You can enable monitoring globally for all voice applications and application interfaces, or for individual applications, interfaces, or servers. These comprehensive management features help you diagnose performance problems and isolate faults in a production-level network.
After an application instance terminates, the event log and statistics information is moved from the active table to the history table in the application information system (AIS) database. You can view the event logs and statistics by using show commands on the voice gateway or by using SNMP to access the MIB call application tables. You can set the size of the event log buffer to meet your needs and the memory resources of your voice gateway. You can also configure the voice gateway to write the event logs to an external FTP server. The gateway saves the event logs to the selected server when the event log buffer becomes full or when the application instance or call leg terminates.
Figure 12-1 shows the major subsystem components involved in voice application calls.
Figure 12-1 Voice Application Network Components
The voice application monitoring features provide:
•
Statistics and event logs for voice applications including Tcl IVR 2.0, VoiceXML, T.37 (on-ramp/off-ramp), and the applications contained in Cisco IOS software such as the default session application.
•
Counters maintained per application instance. Gauges maintained for application instance, application, and gateway levels.
•
Counters and gauges for various external interfaces used by applications including AAA, ASR, HTTP, RTSP, SMTP, TFTP, and TTS servers, and flash memory and the gateway memory.
•
Event logs in plain English for each application instance.
•
Counters and gauges accessible through SNMP by call application MIB, or through Cisco IOS commands and posted to FTP server on request.
•
Event logs for voice call legs.
Counters and Gauges for Voice Application Statistics
Statistics for voice applications and call legs are presented as counters and gauges. These measurements are based on event counts or rates. They measure the total count of a specific event, or the derived rate of change of events during a period of time. Counters track totals, such as the number of errors, and do not reset to zero unless cleared. Gauges reflect real-time information for active calls, such as the number of currently connected calls. Gauges fluctuate over time and can return to zero. For example, a call is included in an active call gauge while it is active. When the call terminates, the active call gauge is decreased while counters in the history table increase. Gauges are available at the gateway level and application level for active calls and instances.
The accumulated statistics are stored in the gateway. You can configure the maximum duration to store the historical records according to your needs and the availability of system memory. You can display the application statistics on the gateway by using show commands.
Monitoring Levels for Voice Applications
Statistics and event logs for voice application instances are organized in a hierarchical model, providing a top-down approach to monitoring. You can detect faults or performance irregularities at a global level, then drill down to more specific details to isolate a fault. Data is available for both active application instances and terminated instances. After an application instance terminates, its data records move from active to history.
You monitor voice applications at three levels. Data is collected for each application instance at the lowest, most detailed level and propagated up to the highest level where the data is consolidated and presented in summary form. The three monitoring levels are:
•
Gateway level—High-level summary of all applications running on the Cisco voice gateway. The statistics are cumulative compiled from all instances of all applications on the gateway. Because there is only one record per gateway, the amount of information is brief and does not impact gateway resources so you can request it regularly. In most scenarios, you begin the monitoring process by displaying the gateway-level statistics with the show call application gateway-level command. An error condition might be shown or a value might exceed a threshold, indicating a fault in one or more application instances on the gateway. After an application instance terminates, its gateway-level statistics are added to the history counters.
•
Application level—Statistics representing all instances of a particular application. There may be multiple records, one record for each configured application. If several records show the same error, you can identify which application is involved and ignore the others without the error. You display application-level statistics with the show call application app-level command. Statistics from this level are propagated up to the gateway level where they are consolidated with statistics for all other applications on the gateway. After an application instance terminates, its application-level statistics are added to the history counters.
•
Application instance (session) level—Detailed information for specific application instances. You display the data at this level by using the show call application session-level command. You can focus on the application instances that are affected by looking for records with similar errors. Event logs are also available at this level providing further details about an application instance. Statistics from this level are propagated up to the application level where they are consolidated by application. After an application instance terminates, its session records are appended to history.
You can also display application interface statistics for transactions between applications and back-end servers. For information, see the show call application interface command.
Table 12-1 lists the type of records available at each monitoring level.
Table 12-1 Statistics and Event Log Output
Level
|
Statistics
|
Event-Log
|
|
Active
|
History
|
Active
|
History
|
Gateway
|
Gauges
|
Counters
|
No
|
No
|
Application
|
Gauges
|
Counters
|
No
|
No
|
Application instance
|
Gauges, counters
|
Counters
|
Yes
|
Yes
|
Figure 12-2 illustrates the monitoring levels for identifying application instances affected by an error.
Figure 12-2 Application Monitoring Levels
Figure 12-3 shows the type of information available for application interfaces.
Figure 12-3 Application Interface Event Logs and Statistics
Figure 12-4 shows the type of information available for voice call legs.
Figure 12-4 Call Leg Event Logs and Statistics
Application Instance Statistics
The following statistics are available for application instances.
Subscriber Interaction
•
DTMF attempts, matches, no matches, no input, and long pound
•
ASR attempts, matches, no matches, and no input
•
AAA authentication successes and failures
•
AAA authorization successes and failures
Subscriber Services
•
For incoming and outgoing PSTN and IP call legs:
–
Call legs setup, currently connected, and total legs connected
–
Call legs handed off, incoming and outgoing
–
Call legs handed off and returned, incoming and outgoing
–
Call legs disconnected for cause of normal, user error, or system error
•
Media attempts, successes, failures, and currently active sessions for prompt playout, recording, and TTS on call legs seen by an application instance.
Application Internal Services
•
Bridged handoffs, returned bridged handoffs, blind handoffs, and handoff failures for application instances
•
Place call requests, successes, and failures
•
Document fetch requests, successes, and failures
•
Document submit requests, successes, and failures
•
ASNL subscription attempts, successes, pending, failures, and notifications received
For a description of each statistic and an example of the output, see the show call application session-level command in the Cisco IOS Voice Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123tvr/index.htm.
Application Interface Statistics
Statistics for application interfaces are available at the gateway level. The statistics are summarized for the gateway and can be viewed by service type or for a specific server. The following statistics are provided for each of the service types: AAA, ASR, flash memory, HTTP, gateway memory, RTSP, SMTP, TFTP, TTS.
•
Read requests, successes, and failures
•
Write requests, successes, and failures
•
Bytes transmitted and received
•
Rate (minimum, maximum, and average)
For a description of the specific statistics supported for each interface type, and an example of the output, see the show call application interface command in the Cisco IOS Voice Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123tvr/index.htm.
Benefits of Voice Application Monitoring and Troubleshooting Enhancements
•
Event logs are captured at run time unlike debug commands that are enabled after a problem occurs.
•
Event log output uses simple wording unlike debug output that includes information specific to the internal system.
•
Event logs can be selectively started and saved in the voice gateway startup configuration unlike debug commands that must be executed after each gateway reload.
Guidelines for Enabling Statistics and Event Logging for Voice Applications
The voice application monitoring and troubleshooting enhancements provide separate commands for enabling statistics and event logs. Statistics are useful for both monitoring and troubleshooting and you can enable statistics collection without a noticeable impact on system performance.
Event logging is designed primarily for troubleshooting faults after an error is indicated in the statistics. Depending on the amount of gateway traffic and the type of event logs or event log options that are enabled, the gateway could experience performance issues because of the impact on processor and memory resources. Use the following guidelines to selectively enable event logging:
•
Enable event logging only when troubleshooting a problem
•
Enable only the specific type of event log that is required to troubleshoot the problem (application, back-end server, call leg)
•
Enable event logging only for a specific application if using application event logging
Throttling Mechanism for Event Logging
Event logging consumes processor memory to store the event logs. To prevent event logging from adversely impacting system resources for production traffic, the gateway uses a throttling mechanism. When free processor memory drops below 20%, the gateway automatically disables event logging for all new application sessions, application interfaces, and call legs for which logging is enabled. It resumes event logging when free memory rises above 30%.
While throttling is occurring, the gateway does not capture any new event logs even if event logging is enabled through Cisco IOS commands. You should monitor free memory on the gateway and enable event logging only when necessary for isolating faults.
Memory Requirements for Writing Event Logs to FTP
You can enable the gateway to write event logs to an external FTP server. This could adversely impact gateway memory resources in some scenarios, for example, when:
•
The gateway is consuming high processor resources and FTP does not have enough processor resources to flush the logged buffers to the FTP server.
•
The designated FTP server is not powerful enough to perform FTP transfers quickly enough
•
Bandwidth on the link between the gateway and the FTP server is not large enough
•
The gateway is receiving a high volume of short-duration calls or calls that are failing
You should enable FTP dumping only when necessary and not enable it in situations where it might adversely impact your system performance.
How to Configure Monitoring for Voice Applications
This section contains the following procedures:
•
Enabling Event Logging and Statistics Globally for Voice Applications (required)
•
Enabling Event Logging for a Specific Voice Application or Interface (required)
•
Monitoring Voice Applications for Active Calls (required)
•
Monitoring Voice Applications for Terminated Calls (required)
•
Monitoring Voice Call Legs (optional)
•
Clearing Event Logs and Statistics for Application Instances and Interfaces (optional)
•
Displaying Event Logs for Applications or Call Legs in Real-Time (optional)
•
Modifying Event Log Settings for Application Instances (optional)
•
Modifying Event Log Settings for Application Interfaces (optional)
•
Modifying Event Log Settings for Call Legs (optional)
•
Modifying Event Log History Limits (optional)
Enabling Event Logging and Statistics Globally for Voice Applications
Perform this task to enable event logs and statistics globally for all voice application instances, application interface types, and call legs.
Note
This procedure enables event logs and statistics globally for all applications, application interface types, and call legs. To enable or disable event logs for specific applications or interface types, see the "Enabling Event Logging for a Specific Voice Application or Interface" section.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
application
4.
monitor
5.
event-log
6.
stats
7.
interface event-log
8.
interface stats
9.
exit
10.
exit
11.
call event-log
12.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
application
Example:
Router(config)#application
|
Enters application configuration mode.
|
Step 4
|
monitor
Example:
Router(config-app)# monitor
|
Enters application configuration monitor mode.
|
Step 5
|
event-log
Example:
Router(config-app-monitor)# event-log
|
Enables event logging for voice application instances.
|
Step 6
|
stats
Example:
Router(config-app-monitor)# stats
|
Enables statistics collection for voice applications.
|
Step 7
|
interface event-log
Example:
Router(config-app-monitor)# interface event-log
|
Enables event logging for all external interfaces used by voice applications.
|
Step 8
|
interface stats
Example:
Router(config-app-monitor)# interface stats
|
Enables statistics collection for application instances.
|
Step 9
|
exit
Example:
Router(config-app-monitor)# exit
|
Exits the application configuration monitor mode.
|
Step 10
|
exit
Example:
Router(config-app)# exit
|
Exits the application configuration mode.
|
Step 11
|
call leg event-log
Example:
Router(config)# call leg event-log
|
Enables transaction event logging for voice, fax, and modem call legs.
|
Step 12
|
exit
Example:
Router# exit
|
Exits the current mode.
|
Enabling Event Logging for a Specific Voice Application or Interface
Perform this task to enable event logging and statistics collection for a specific voice application, application interface type, or server.
Note
This procedure enables or disables event logs for specific applications, interface types, or servers. If you have already enabled event logs globally by performing the task in the "Enabling Event Logging and Statistics Globally for Voice Applications" section, you can skip this task unless you want to individually disable selected applications, interface types, or servers.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
application
4.
service application-name
5.
paramspace appcommon event-log [enable | disable]
6.
exit
7.
monitor
8.
interface event-log {aaa | asr | flash | http | ram | rtsp | smtp | tftp | tts} [server server] [disable]
9.
exit
10.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
application
Example:
Router(config)#application
|
Enters application configuration mode.
|
Step 4
|
service application-name
Example:
Router(config-app)# service session
|
Enter parameter configuration mode for the application.
|
Step 5
|
paramspace appcommon event-log [enable |
disable]
Example:
Router# paramspace appcommon event-log enable
|
Enables event logging for a specific voice application.
|
Step 6
|
exit
Example:
Router(config-app)# exit
|
Exits configuration submode.
|
Step 7
|
monitor
Example:
Router(config-app)# monitor
|
Enters application monitor configuration mode.
|
Step 8
|
interface event-log {aaa | asr | flash | http |
ram | rtsp | smtp | tftp | tts} [server server]
[disable]]
Example:
Router(config-app-monitor)# interface event-log
http disable
|
Enables event logging for a specific external interface used by voice applications.
|
Step 9
|
exit
Example:
Router# exit
|
Exits the current mode.
|
Monitoring Voice Applications for Active Calls
Perform this task to do basic load monitoring of voice applications when detecting faults or unacceptable ranges while a call is still active.
SUMMARY STEPS
1.
enable
2.
show call application active gateway-level
3.
show call application active app-level summary
4.
show call application active app-level app-tag application-name
5.
show call application active session-level summary
6.
show call application active session-level session-id session-id
7.
show call application interface summary
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
show call application active gateway-level
Example:
Router# show call application active gateway-level
|
Displays gateway-level statistics for all currently active voice application instances.
|
Step 3
|
show call application active app-level summary
Example:
Router# show call application active app-level
summary
|
Displays application-level statistics for all active voice applications.
|
Step 4
|
show call application active app-level app-tag
application-name
Example:
Router# show call application active app-level
app-tag sample_app
|
Displays application-level statistics for a specific voice application.
|
Step 5
|
show call application active session-level summary
Example:
Router# show call application active session-level
summary
|
Displays statistics for all currently active voice application instances.
|
Step 6
|
show call application active session-level
session-id session-id
Example:
Router# show call application active session-level
session-id 5
|
Displays event logs and statistics for a specific voice application instance.
|
Step 7
|
show call application interface summary
Example:
Router# show call application interface summary
|
Displays aggregated statistics for all application interfaces.
|
For examples of the command output for the steps in this task, see the "Examples for Monitoring Voice Applications" section.
Monitoring Voice Applications for Terminated Calls
Perform this task to monitor voice applications, detect faults, and identify the source of faults after a call terminates.
SUMMARY STEPS
1.
enable
2.
show call application history gateway-level
3.
show call application history app-level summary
4.
show call application history app-level app-tag application-name
5.
show call application history session-level summary
6.
show call application history session-level session-id session-id
7.
show call application interface summary
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
show call application history gateway-level
Example:
Router# show call application history gateway-level
|
Displays gateway-level statistics for all voice application instances in the history table.
|
Step 3
|
show call application history app-level summary
Example:
Router# show call application history app-level
summary
|
Displays summarized statistics from the history table for all voice applications.
|
Step 4
|
show call application history app-level app-tag
application-name
Example:
Router# show call application history app-level
app-tag sample_app
|
Displays statistics from the history table for a specific voice application.
|
Step 5
|
show call application history session-level summary
Example:
Router# show call application history session-level
summary
|
Displays statistics from the history table for all voice application instances.
|
Step 6
|
show call application history session-level
session-id session-id
Example:
Router# show call application history session-level
session-id 5
|
Displays event logs and statistics for the specific voice application instance.
|
Step 7
|
show call application interface summary
Example:
Router# show call application interface summary
|
Displays aggregated statistics for all application interfaces.
|
Examples for Monitoring Voice Applications
This section includes output examples demonstrating the task for isolating faults in your voice application network. In this sample scenario, one of the audio prompts used by an application is not available from the specified TFTP server, either because the gateway does not have connectivity to the server or the audio file is not located on the specified server.
Sample Output for show call application history gateway-level Command
In the following example, the show call application history gateway-level command shows that a media failure occurred during a prompt playout. The counters in the output are an aggregation of all application instances that were run and terminated on the gateway. You must next determine which application had the error.
Router# show call application history gateway-level
Gateway level statistics for history application sessions:
Last reset time: *Aug 26 17:56:34 PST
Subscriber Service - Call
Incoming Outgoing Incoming Outgoing
Total legs connected: 7 0 0 0
Legs handed in returned back: 0 0 0 0
Legs handed out came back: 0 0 0 0
Legs disconnected normally: 7 0 0 0
Legs disconnected for user error: 0 0 0 0
Legs disconnected for system error: 0 0 0 0
Subscriber Service - Media
Total media duration (in seconds): 57 0 17
Application Internal Service - Document Read-Write
Subscriber Interaction - DTMF
Sample Output for show call application history app-level summary Command
In the following example, the show call application history app-level summary command lists all applications that are loaded on the gateway and shows that an error occurred with the application named menu. You can then view statistics for this specific application.
Router# show call application history app-level summary
Application level history Info:
App Name Stats w/ Stats Total Errors Time
clid_authen_collect N 0 0 0
clid_authen_col_npw N 0 0 0
fax_on_vfc_onramp_app N 0 0 0
doc_write Y 1 1 0 *Aug 26 18:21:07
generic Y 3 3 0 *Aug 26 18:05:26
menu Y 3 3 1 *Aug 26 18:42:48
Sample Output for show call application history app-level app-tag Command
In the following example, the show call application history app-level app-tag command for the application named menu shows that there was a media failure when the application tried to play an audio prompt. You must next determine which instance of the application had the error.
Router# show call application history app-level app-tag menu
Application level history Info:
URL: tftp://sample/menu.vxml
Last reset time: *Aug 26 18:42:48 PST
Subscriber Service - Call
Incoming Outgoing Incoming Outgoing
Total legs connected: 3 0 0 0
Legs handed in returned back: 0 0 0 0
Legs handed out came back: 0 0 0 0
Legs disconnected normally: 3 0 0 0
Legs disconnected for user error: 0 0 0 0
Legs disconnected for system error: 0 0 0 0
Subscriber Service - Media
Total media duration (in seconds): 29 0 0
Subscriber Interaction - DTMF
Sample Output for show call application history session-level summary Command
In the following example, the show call application history session-level summary command shows all the instances in history for the menu application. You can next review the statistics and event log for the specific instance that had the error, which has a session ID of 14.
Router# show call application history session-level summary
SID Application Name Stat Err Cnt Log Stop Time Duration
7 generic Y 0 Y *Aug 26 18:05:2 00:00:12
8 generic Y 0 Y *Aug 26 18:05:3 00:00:10
9 generic Y 0 Y *Aug 26 18:05:4 00:00:09
D doc_write Y 0 Y *Aug 26 18:21:0 00:00:17
12 menu Y 0 Y *Aug 26 18:42:4 00:00:11
13 menu Y 0 Y *Aug 26 18:43:0 00:00:13
14 menu Y 1 Y *Aug 26 18:43:1 00:00:09
Sample Output for show call application history session-level session-id Command
In the following example, the show call application history session-level session-id command for session 14 shows the event log for this instance. The event log shows the name and location of the audio prompt for which the error occurred. You can next review statistics for your application interfaces.
Router# show call application history session-level session-id 14
Application URL: tftp://sample/menu.vxml
Start time: *Aug 26 18:43:09 PST
Stop time: *Aug 26 18:43:19 PST
Subscriber Service - Call
Incoming Outgoing Incoming Outgoing
Total legs connected: 1 0 0 0
Legs handed in returned back: 0 0 0 0
Legs handed out came back: 0 0 0 0
Legs disconnected normally: 1 0 0 0
Legs disconnected for user error: 0 0 0 0
Legs disconnected for system error: 0 0 0 0
Subscriber Service - Media
Total media duration (in seconds): 9 0 0
Subscriber Interaction - DTMF
buf_size=4K, log_lvl=INFO
<ctx_id>:<timestamp>:<seq_no>:<severity>:<msg_body>
14:1061952189:450:INFO: Session started for App-type = menu, URL = tftp://sample/menu.vxml
14:1061952189:451:INFO: Incoming Telephony call received, LegID = 35
14:1061952189:452:INFO: LegID = 35: Calling = 4089023198, called = 52927, dial peer = 1
14:1061952189:453:INFO: LegID = 35: Leg State = LEG_INCCONNECTED
14:1061952189:454:INFO: Playing prompt #1: tftp://sample/audio/menu.au
14:1061952198:458:INFO: Prompt playing finished successfully.
14:1061952199:459:INFO: DTMF digit matched pattern v0, user input = 2
14:1061952199:460:INFO: Playing prompt #1: tftp://demo/audio/spanish_menu.au
14:1061952199:463:ERR : Prompt play setup failure.
14:1061952199:464:INFO: Script received event = "error.badfetch"
14:1061952199:465:INFO: LegID = 35: Call disconnected, cause = normal call clearing (16)
14:1061952199:468:INFO: Session done, terminating cause =
Sample Output for show call application interface summary Command
In the following example, the show call application interface summary command shows statistics for each of your interface types including TFTP where the error occurred. You can next display the event log for the specific TFTP server.
Router# show call application interface summary
Aggregated statistics for tts service:
Stats last reset time *Aug 26 18:41:01 PST
Aggregated statistics for asr service:
Stats last reset time *Aug 26 18:41:01 PST
Aggregated statistics for tftp service:
Stats last reset time *Aug 26 18:41:01 PST
Sample Output for show call application interface Command
In the following example, the show call application interface command with the tftp keyword shows the event log for the TFTP server named demo. The event log shows that the gateway could not play the audio prompt because it could not find the TFTP server.
Router# show call application interface tftp
Last reset time *Aug 26 18:41:01 PST
Last reset time *Aug 26 18:05:13 PST
buf_size=4K, log_lvl=INFO
<ctx_id>:<timestamp>:<seq_no>:<severity>:<msg_body>
sample:1061949913:173:INFO: ID = 653088C8: Read requested for URL =
tftp://sample/audio/menu.au
sample:1061949919:176:INFO: ID = 653088C8: Streamed read transaction Successful URL =
tftp://sample/audio/menu.au
sample:1061952156:416:INFO: ID = 651E5D6C: Read requested for URL =
tftp://sample/audio/welcome_test.au
sample:1061952166:423:INFO: ID = 651E5D6C: Streamed read transaction Successful URL =
tftp://sample/audio/welcome_test.au
--------------------------------------------------------------------------------
Last reset time *Aug 26 18:41:01 PST
Last reset time *Aug 26 18:38:05 PST
buf_size=4K, log_lvl=INFO
<ctx_id>:<timestamp>:<seq_no>:<severity>:<msg_body>
demo:1061952199:461:INFO: ID = 6542D968: Read requested for URL =
tftp://demo/audio/spanish_menu.au
demo:1061952199:462:ERR : ID = 6542D968: Read transaction failed URL =
tftp://demo/audio/spanish_menu.au, reason = IFS error 65540=Invalid IP address or hostname
--------------------------------------------------------------------------------
Monitoring Voice Call Legs
Perform this task to do basic monitoring of voice call legs. This can help you diagnose problems that occur during call setup before the call reaches the application.
Note
Statistics for call legs are enabled by default. If you have previously enabled call leg event logs by following the steps in the "Enabling Event Logging and Statistics Globally for Voice Applications" section, you can skip directly to Step 5 of this task.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
call leg event-log
4.
exit
5.
show call leg {active | history} [summary | [last number | leg-id leg-id] [event-log | info]]
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
call leg event-log
Example:
Router(config)# call leg event-log
|
Enables transaction event logging for voice, fax, and modem call legs.
|
Step 4
|
exit
Example:
Router# exit
|
Exits the current mode.
|
Step 5
|
show call leg {active | history} [summary |
[last number | leg-id leg-id] [event-log |
info]]
Example:
Router# show call leg history last 2
|
Displays call leg event logs or statistics.
|
What To Do Next
•
To clear accumulated statistics and event logs for applications and application interfaces, see the "Clearing Event Logs and Statistics for Application Instances and Interfaces" section.
•
To monitor events for application instances or call legs as they are occur, see the "Displaying Event Logs for Applications or Call Legs in Real-Time" section.
•
To modify the default settings for event logs, see the following sections:
–
Modifying Event Log Settings for Application Instances
–
Modifying Event Log Settings for Application Interfaces
–
Modifying Event Log Settings for Call Legs
–
Modifying Event Log History Limits
Clearing Event Logs and Statistics for Application Instances and Interfaces
Perform this task to reset statistic counters to zero.
SUMMARY STEPS
1.
enable
2.
clear call application [app-tag application-name] stats
3.
clear call application interface [[{aaa | asr | flash | http | ram | rtsp | smtp | tftp | tts} [server server]] [event-log | stats]]
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
clear call application [app-tag
application-name] stats
Example:
Router# clear call application app-tag
sample_app stats
|
Clears application-level statistics in the history table and subtracts the statistics from the gateway level, for all applications or a specific application.
|
Step 3
|
clear call application interface [[{aaa | asr |
flash | http | ram | rtsp | smtp | tftp | tts}
[server server]] [event-log | stats]]
Example:
Router# clear call application interface http
event-log
|
Clears application interface statistics or event logs for all interfaces or a specific interface type or server.
|
Displaying Event Logs for Applications or Call Legs in Real-Time
Perform this task to display event logs for active calls as the events occur. If you are debugging or testing a script in a production-level network, the high call volume can make it difficult to select and view a specific event log while a call is still active. This task enables dynamic logging so that you can view events as they happen for active application instances or call legs. The output continues until the call terminates or you stop the display by using the stop keyword.
SUMMARY STEPS
1.
enable
2.
monitor call application event-log {app-tag application-name {last | next} | session-id session-id [stop] | stop}
3.
monitor call leg event-log {leg-id leg-id [stop] | next | stop}
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
monitor call application event-log {app-tag
application-name {last | next} | session-id
session-id [stop] | stop}
Example:
Router# monitor call application event-log
session-id 5
|
Displays events for the most recently active call or the next new call for a specific application, or for a specific instance.
|
Step 3
|
monitor call leg event-log {leg-id leg-id
[stop] | next | stop}
Example:
Router# monitor call leg event-log leg-id 5
|
Displays events for next active call leg, or specific call leg.
|
Modifying Event Log Settings for Application Instances
Perform this task to modify the default settings for the event logs that are generated for voice application instances.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
application
4.
monitor
5.
event-log dump ftp server[:port]/file username username password [encryption-type] password
6.
event-log max-buffer-size kbytes
7.
event-log error-only
8.
exit
9.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
application
Example:
Router(config)#application
|
Enters application configuration mode.
|
Step 4
|
monitor
Example:
Router(config-app)# monitor
|
Enters application configuration monitor mode.
|
Step 5
|
event-log dump ftp server[:port]/file username
username password [encryption-type] password
Example:
Router(config-app-monitor)# event-log dump ftp
ftp-server/elogs/app_elogs.log username myname
password 0 mypass
|
(Optional) Specifies the location of the external file to which the gateway writes the contents of the event log buffer.
|
Step 6
|
event-log max-buffer-size kbytes
Example:
Router(config-app-monitor)# event-log
max-buffer-size 8
|
(Optional) Sets the maximum size of the event log buffer for each application instance.
|
Step 7
|
event-log error-only
Example:
Router(config-app-monitor)# event-log
error-only
|
(Optional) Logs only error events for application instances.
|
Step 8
|
exit
Example:
Router(config-app-monitor)# exit
|
Exits the application configuration monitor mode.
|
Step 9
|
exit
Example:
Router(config-app)# exit
|
Exits the application configuration mode.
|
Modifying Event Log Settings for Application Interfaces
Perform this task to modify the default settings for event logs generated for types of server interfaces that communicate with voice applications.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
application
4.
monitor
5.
interface event-log dump ftp server[:port]/file username username password [encryption-type] password
6.
interface event-log max-buffer-size kbytes
7.
interface max-server-records number
8.
interface event-log error-only
9.
exit
10.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
application
Example:
Router(config)#application
|
Enters application configuration mode.
|
Step 4
|
monitor
Example:
Router(config-app)# monitor
|
Enters application configuration monitor mode.
|
Step 5
|
event-log dump ftp server[:port]/file username
username password [encryption-type] password
Example:
Router(config-app-monitor)# interface event-log
dump ftp ftp-server/elogs/int_elogs.log
username myname password 0 mypass
|
(Optional) Specifies the location of the external file to which the gateway writes the contents of the interface event log buffer.
|
Step 6
|
interface event-log max-buffer-size kbytes
Example:
Router(config-app-monitor)# interface event-log
max-buffer-size 50
|
(Optional) Sets the maximum size of the event log buffer for each application interface.
|
Step 7
|
interface max-server-records number
Example:
Router(config-app-monitor)# interface
max-server-records 50
|
(Optional) Sets the maximum number of interface event-log records that are saved.
|
Step 8
|
interface event-log error-only
Example:
Router(config-app-monitor)# interface event-log
error-only
|
(Optional) Limits interface event logging to error events only.
|
Step 9
|
exit
Example:
Router(config-app-monitor)# exit
|
Exits the application configuration monitor mode.
|
Modifying Event Log Settings for Call Legs
Perform this task to modify the default settings for event logs generated for voice call legs.
Restrictions
Event logs are available for telephony call legs only. Event logs for IP call legs are not supported.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
call leg event-log dump ftp server[:port]/file username username password [encryption-type] password
4.
call leg event-log max-buffer-size kbytes
5.
call leg event-log error-only
6.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
call leg event-log dump ftp server[:port]/file
username username password [encryption-type]
password
Example:
Router(config)# call leg event-log dump ftp
ftp-server/elogs/leg_elogs.log username myname
password 0 mypass
|
(Optional) Specifies the location of the external file to which the voice gateway writes the contents of the event log buffer.
|
Step 4
|
call leg event-log max-buffer-size kbytes
Example:
Router(config)# call leg event-log
max-buffer-size 50
|
(Optional) Sets the maximum size of the event log buffer for each call leg.
|
Step 5
|
call leg event-log error-only
Example:
Router(config)# call leg event-log error-only
|
(Optional) Enables transaction event logging for error events only.
|
Step 6
|
exit
Example:
Router# exit
|
Exits the current mode.
|
Modifying Event Log History Limits
Perform this task to modify the default settings for saving event logs to history.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
application
4.
monitor
5.
history session event-log save-exception-only
6.
history session max-records number
7.
history session retain-timer minutes
8.
exit
9.
exit
10.
call leg history event-log save-exception-only
11.
exit
DETAILED STEPS
|
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
application
Example:
Router(config)#application
|
Enters application configuration mode.
|
Step 4
|
monitor
Example:
Router(config-app)# monitor
|
Enters application configuration monitor mode.
|
Step 5
|
history session event-log save-exception-only
Example:
Router(config-app-monitor)# history session
event-log save-exception-only
|
(Optional) Saves event logs to history only for application sessions with exceptions or errors.
|
Step 6
|
history session max-records number
Example:
Router(config-app-monitor)# history session
max-records 50
|
(Optional) Sets the maximum number of session records that are saved in the event-log history table.
|
Step 7
|
history session retain-timer minutes
Example:
Router(config-app-monitor)# history session
retain-timer 30
|
(Optional) Sets the maximum number of minutes for which session history records are saved.
|
Step 8
|
exit
Example:
Router(config-app-monitor)# exit
|
Exits the application configuration monitor mode.
|
Step 9
|
exit
Example:
Router(config-app)# exit
|
Exits the application configuration mode.
|
Step 10
|
call leg history event-log save-exception-only
Example:
Router# call leg history event-log
save-exception-only
|
(Optional) Saves event logs only for call legs that have exceptions or errors.
|
Step 11
|
exit
Example:
Router# exit
|
Exits the current mode.
|
Configuration Examples for Monitoring Voice Applications
This section includes the following examples:
•
Enabling Event Logs and Statistics Globally: Example
•
Customizing Event Logs and Statistics Example
Enabling Event Logs and Statistics Globally: Example
service timestamps debug datetime msec
service timestamps log uptime
no service password-encryption
spe default-firmware spe-firmware-1
ip domain name domain.com
ip host speech-asr 10.10.10.111
ip host ftp-server 10.10.10.119
isdn switch-type primary-5ess
fax protocol t38 ls-redundancy 7 hs-redundancy 3 fallback none
ivr asr-server rtsp://speech-asr/recognizer
ivr tts-server rtsp://speech-asr/synthesizer
fax receive called-subscriber $d$
fax send transmitting-subscriber 5550122
fax send left-header Date: $a$
fax send center-header $d$
fax send right-header $s$
fax send coverpage email-controllable
fax send coverpage comment Cover Page comment
fax interface-type fax-mail
mta send server 10.10.10.112 port 25
mta send subject sample subject
mta send postmaster postmaster@domain.com
mta send mail-from hostname Router.domain.com
mta send mail-from username user1
mta receive aliases [10.10.10.100]
mta receive maximum-recipients 1000
dial-control-mib retain-timer 10
dial-control-mib max-size 2
interface FastEthernet0/0
ip address 10.10.10.100 255.255.0.0
interface FastEthernet0/1
ip address 11.11.11.100 255.255.0.0
isdn switch-type primary-5ess
isdn incoming-voice modem
no peer default ip address
ip default-gateway 10.10.10.1
ip route 10.0.0.0 255.0.0.0 10.10.10.1
ip route 11.0.0.0 255.0.0.0 11.11.11.1
snmp-server community password RW
snmp-server enable traps tty
service onramp tftp://demo/router/TCLware.2.0.1/app_libretto_onramp9.2.0.0.tcl
service offramp tftp://demo/router/TCLware.2.0.1/app_faxmail_offramp.2.0.1.1.tcl
service generic tftp://demo/scripts/master/generic.vxml
service fax_on_vfc_onramp_app out-bound
session target mailto:$e$@[10.10.10.112]
scheduler allocate 10000 400
Customizing Event Logs and Statistics Example
call leg event-log errors-only
call leg event-log max-buffer-size 10
call leg event-log dump ftp ftp-server/leg_elogs.log username myname password mypass
service onramp tftp://demo/router/TCLware.2.0.1/app_libretto_onramp9.2.0.0.tcl
service offramp tftp://demo/router/TCLware.2.0.1/app_faxmail_offramp.2.0.1.1.tcl
service generic tftp://demo/scripts/master/generic.vxml
interface event-log error-only
interface event-log max-buffer-size 50
interface event-log dump ftp ftp-server/int_elogs.log username myname password mypass
interface event-log ram disable
interface max-server-records 20
event-log max-buffer-size 8
event-log dump ftp ftp-server/app_elogs.log username myname password mypass
Additional References
•
""—Describes how to access Cisco Feature Navigator; also lists and describes, by Cisco IOS release, Tcl IVR and VoiceXML features for that release
•
"Overview of Cisco IOS Tcl IVR and VoiceXML Applications"—Describes underlying Cisco IOS Tcl IVR and VoiceXML technology; also lists related documents, standards, MIBs, RFCs, and how to obtain technical assistance