What a call detail record contains
A call detail record (CDR) is one row per call attempt. The exact fields vary by system, but most contain the following.
- Who. The calling number, the called number and the account or trunk the call came in on.
- When. The start time, the answer time and the end time, ideally all in UTC.
- How it ended. A disposition (answered, busy, no answer, failed) and a SIP or release cause code.
- Where it went. The outgoing trunk or carrier, the destination prefix and the route used.
- How long. The duration in seconds and the billed duration after rounding.
- How much. The cost and the price, and the rate plan that produced them.
The numbers everyone asks for
| Measure | What it tells you | How it is worked out |
|---|---|---|
| ASR (answer-seizure ratio) | How many call attempts were answered | Answered calls divided by call attempts, as a percentage |
| NER (network effectiveness ratio) | How well the network delivered calls, ignoring the user's choices | Calls that were answered, or ended for reasons that are not a network fault such as busy or no answer, divided by attempts |
| ACD (average call duration) | How long answered calls last | Total talk time divided by the number of answered calls |
| PDD (post-dial delay) | How long a caller waits before ringing starts | Time from the call request to the first ringing signal |
| Margin | What you earn | Price minus cost, per call, per prefix, per customer |
Why CDR viewers fail at scale
A busy platform writes millions of records a day. A viewer that scans one big table will time out on a single day of traffic. Good CDR analysis needs a store built for large volumes, filters that use indexes, and pre-built summaries for the questions you ask every day.
Four jobs CDRs do
- Month-end billing and close. Rated records become invoices, and summary reports replace spreadsheet work.
- Carrier disputes. Trace a disputed invoice line back to the original calls and signalling.
- Fraud forensics. Find when a burst started, which source sent it and where it went.
- Capacity and quality planning. Watch ASR and ACD by route to decide where to add or remove capacity.
Good practice
- Keep one time standard (UTC) across every system.
- Name trunks and customers consistently, so reports group correctly.
- Reconcile your CDRs with carrier invoices every cycle. Missing and unrated calls are lost revenue.
- Link each CDR to its SIP trace, so a quality problem can be explained and not just counted.
- Set a retention period that matches your contracts and the rules where you operate.
How SSONE works with CDRs
SSONE Billing Analytics is built on a CDR engine for very large volumes. It ingests records per SBC cluster, with health and lag monitoring, and offers a CDR viewer that filters on anything and exports to CSV or Excel. Technical and billing reports cover ASR, NER and ACD, revenue and margin by customer and carrier. Summary reports roll up daily, weekly and monthly, and can be delivered on a schedule by email or SFTP. An AI assistant explains anomalies in plain English.