Technical information
11
Cisco Unified CallManager 4.2(3) Call Detail Record Definition
OL-10659-01
Working with CDRs
Working with CDRs
Users can access the Microsoft SQL Server 2000 Service Pack 2 database via ODBC. The install
configures an ODBC system DSN that is called CiscoCallManager. Users have read-only access to all
tables in the database and have read/write access to the CDR and CMR tables.
When working with CDRs, you may want to read other tables in the database to obtain information about
the type of device in each CDR. Because this correlation between devices in the Device table and the IP
address that is listed in the CDR is not straightforward, it appears as a known issue in the “Known Issues”
section.
Writing Records
The Cisco Unified CallManager writes CDRs to the SQL database, as calls are made, in a manner
consistent with the configuration of each individual Cisco Unified CallManager. You can configure the
Cisco Unified CallManager by accessing Service Parameters Configuration in Cisco Unified
CallManager Administration.
When CDR records are enabled, Call Control generates one or more CDR records for each call. These
records get sent to EnvProcessCdr, where they are written to the flat files. The number of records that
are written varies by the type of call and significant changes that occur to the call, such as ending a call,
transferring the call, redirecting the call, splitting, or joining a call.
When the Call Diagnostics service parameter is set to true, processStationCdpc generates up to two CMR
records for each call. Each type of call, such as conference calls, call transfers, forwarded calls, and calls
through gateways, produce a set of records that get written to the database at the end of the call. Only
completed calls and failed calls generate records.
Note The Cisco CDR Insert service will not insert a record if the CDRFormat enterprise
parameter has a value of Flat. If the service is disabled on the local Cisco Unified
CallManager, the CDR files generate but do not get moved and deleted.
Reading Records
The easiest way to read data from the SQL database may be to use ODBC. The connection string looks
like one of the following examples, depending on whether you need to get to the configuration data or
CDRs:
For SQL authentication:
DRIVER={SQL
Server};SERVER=machineX;DATABASE=CCM0300;UID=CiscoCCMUser;PWD=password
DRIVER={SQL
Server};SERVER=machineX;DATABASE=CDR;UID=CiscoCCMCDR;PWD=password
For Windows NT authentication:
DSN=CiscoCallManager;SERVER=X;DATABASE=CCM0300;Trusted_Connection=yes
or
DSN=CiscoCallManager;SERVER=X;DATABASE=CDR;Trusted_Connection=yes
Use the correct database name. The tables reside in the CDR database.