How to read call logs
Call logs contain standard information provided by Nuance speech products. Several sources provide call-log events:
- Well-designed voice applications write custom events. See Application-defined logging events.
- The host platform running the application logs events such as start and end of call.
- Any Nuance speech product can write events.
Nuance offers the Nuance Insights for IVR tool to read call logs and generate reports and tuning recommendations. The tool is very useful, but is not required for reading the logs. Because the logs are text files, you can use any text editor or script to analyze the logged data.
Each line (record) of a call log file contains a series of token/value pairs that describe a single event. The lines are terminated by newline control sequences; the maximum size of a line is 10 kilobytes.
Within each record the format is:
- Event codes and tokens are separated by the "|" character.
- If there is a "|" character in data, it is quoted by inserting an additional "|" character to form the sequence "||".
- Tokens are always uppercase.
- Tokens are separated from their values by the "=" character, and a single token can have more than one "=" character.
The following is a sample log record:
TIME=20030315145902975|CHAN=1|EVNT=SWIacsv|AACC=noise.intmodels.stats.20030315145820|ADIR=c:/speechworks/baseline/acoustic_adapt|NMIN=1034|LANG=en-us|UCPU=0|SCPU=0
All time-related codes log times in millisecond units (unless specified otherwise), and are accurate to within 0.01 second.

The first entries in each log record are TIME, CHAN (CHANNEL), and EVNT; the last entries are UCPU and SCPU.
Token |
Description |
---|---|
TIME |
System time when the event occurred, in the following format (accurate to within 0.01 second): YYYYMMDDhhmmssmmm. |
CHAN |
A unique session identification name provided when the session is created. |
EVNT |
Prefix used for event codes (limited to 8 characters; longer names are truncated). Vocalizer uses the prefix "NVOC" |
UCPU |
The current running value of "user" CPU time consumed from the start of the recognition or synthesis. This value is reported in milliseconds, accurate to within 0.01 second. |
SCPU |
The current running value of "system" CPU time consumed from the start of the recognition or synthesis. This value is reported in milliseconds, accurate to within 0.01 second. |

The following list shows groups of standard Vocalizer event codes.
Event |
Description |
---|---|
NVOCapps—application session | Written when the application provides a session and step identifier using SSML <meta>. |
NVOCaudf—first audio | Indicates the first audio packet for a synthesis operation. |
NVOCaudn—next audio | Indicates an audio packet for a synthesis operation after the first audio packet. |
NVOCinpt—input text | Provides the input text for the speak request. |
NVOClise—license end | Triggered at the end of a synthesis operation and describes the count of licenses in use prior to freeing the license. |
NVOClisr—license refused | Indicates a synthesis operation failed because there was no license available. |
NVOCliss—license start | Triggered at the start of a synthesis operation and describes the count of licenses in use after incrementing for the new license. |
NVOClock—license lock | Logs the time when a license is checked out (locked) during Vocalizer initialization and shows which license features are used. |
NVOCunlo—license unlock |
Logs the time a license is released (unlocked). |
NVOCifst—internet fetch start | Indicates an Internet fetch has started. |
NVOCifnd—internet fetch end | Indicates an Internet fetch has ended. |
NVOCfrmt—file format | Indicates the file format for Vocalizer-written event log files. |
NVOCsynd—synthesis end | Logged at the end of synthesis. |
NVOCsyst—synthesis start | Logged at the beginning of synthesis. |
NVOCsysw—synthesis switch | Logged when a mid-synthesis voice switch occurs and reports the new voice. |

Applications can define and log additional events, and Nuance speech products can show them in the call log for an individual call. When generating an event entry:
- Each token in the log is a name/value pair separated by an equal sign character (=). For example:
APPSERV=127.0.0.1
- Each log entry must have an EVNT token that identifies the event. The event name can be any alphanumeric string except one of the Reserved events.
EVNT=SWIsvst
- Additional tokens separated by vertical bar characters (|), like this:
EVNT=SWIsvst|SVNM=MyApplicationName|APPSERV=127.0.0.1
These event names and prefixes are reserved and cannot be used for application-defined events.
ALT* | BROWSER_ID | NVOC* |
ANI | CALL_LOCAL_URL | SWI* |
DNIS | CALL_REMOTE_URL | TASK_BEGIN |
APP_INFO | ENTERING_FORM | TRANSFER_DURATION |
APP_JAVASCRIPT_LOG | ENTERING_FORM_ITEM | TRANSFER_STATUS |
APP_VOICEXML_LOG | EXECUTING_URL | TRANSITION |
BROWSER | NUAN* | — |