CDR Logging

Call Detail Records (CDRs) give you a per-session audit trail of every MRCP exchange the Media Server handles. Each completed session is summarized as a single row capturing who connected, when, for how long, which protocol and ports were used, and which ASR or TTS licenses it consumed — the data you need for capacity planning, license reconciliation, and troubleshooting individual calls.

CDR logging is always on. While the Media Server is running, it appends a summary of each completed MRCP session to:

mrcp-api/docker/logs/client/mrcp_cdr.txt

The file is written as comma-separated values (CSV), so you can import it directly into a spreadsheet or database for analysis. The example below includes a header row identifying each column; note that this header row does not appear in the actual log file.

Sample CDR log showing the Session-End, Type, Call-Index, Session-ID, Session-Start, and Duration columns

Sample CDR log showing the Server-IP, Client-IP, ServerRTP-Port, ClientRTP-Port, MRCP-Port, Logging-Tag, and License-Info columns

As the sample shows, formatting differs subtly between MRCPv1 and MRCPv2 sessions, and between sessions that use ASR versus TTS resources.

Each column describes one characteristic of the session:

ColumnDescription
Session EndEnd time of the session
TypeType of session (SIP or RTSP)
Call IndexInternal numerical index of the session
Session IDCall-ID or session identifier string
Session StartStart time of the session
DurationDuration of the session (milliseconds)
Server IPMedia Server’s IP address
Client IPClient’s IP address
ServerRTP_PortServer end of the audio (RTP port)
ClientRTP_PortClient end of the audio (RTP port)
MRCP_PortMRCP port being used (or the ephemeral port used when Type is RTSP)
Logging-TagsSession Logging-Tags set for ASR / TTS (if any are present at the end of the session)
License InfoSummary of ASR / TTS licenses used during the session, separated by semicolons

OPTIONS and DESCRIBE sessions

You will sometimes see short-lived sessions in the CDR log that consume no ASR or TTS resources. This is expected. They are typically OPTIONS or DESCRIBE requests the client sends to confirm service connectivity or to discover which resources are available, rather than full recognition or synthesis sessions.

A larger sample

The excerpt below shows a fuller sample of raw log output across several sessions:

A larger sample of raw Media Server session log output spanning multiple sessions

Related articles


Was this article helpful?