BroadNet
Operations BroadNet answer

EDR vs CDR — what's the difference?

Last reviewed 2 min readReviewed by BroadNet engineering
Quick answer

CDR (Call Detail Record) is the operator's billing record for a single chargeable event — a call, an SMS, a data session — typically generated at the network element that mediated the event (MSC, SMSC, GGSN, OCS). EDR (Event Detail Record) is the broader analytics-and-application-layer record that captures everything happening around an event: not just the billed call, but the platform-level metadata that surrounds it. CDRs are what get billed; EDRs are what get analysed.

Plain-language definitionVendor-neutralReviewed July 25, 2026
The long answer

Everything worth knowing, nothing that isn't.

§01

What each one captures

A CDR is structured per operator-defined billing schema: subscriber identity (IMSI/MSISDN), called party, duration or message count, start/end timestamps, network element, charging classification. CDRs are the source-of-truth for revenue. An EDR is application-defined: it captures the full lifecycle of an event from the platform's perspective — for an SMS, things like submit time, validity, sender-ID, content classification, template ID, queue dwell time per hop, DLR receipt time, retry count, final delivery status, and error code. EDRs are the source-of-truth for operational analytics and customer-facing dashboards.

§02

Why the distinction matters commercially

Operators pay billing systems for CDR processing; they need analytics platforms for EDR processing. Confusing the two leads to bad decisions: trying to do operational troubleshooting from billing CDRs is painfully limited (the CDR doesn't know why the message failed, only that it did). Trying to drive revenue from raw EDRs misses the billing reconciliation that CDRs anchor. BroadNet's ESME CDR Intelligence Suite (/platforms/esme-cdr) correlates EDR feeds from the messaging platform with CDR feeds from the operator's billing to reconcile billed-vs-delivered counts.

§03

Latency, scale, and compliance angle

CDRs are typically batched and delivered to billing/mediation on a 5-15 minute cycle; EDRs are usually streamed continuously into a time-series store. Scale: a tier-1 operator generates billions of CDRs/month, often tens of times more EDRs (because the platform creates EDRs for every submit, every retry, every DLR, every state change). Compliance: CDR retention is regulator-mandated (5-7 years for tax/wholesale; longer in some markets); EDR retention is operationally chosen, typically 12-24 months.

§04

Privacy and compliance considerations

Both CDRs and EDRs are personal data once tied to an MSISDN. Mature platforms keep the raw records in encrypted, access-controlled storage with audit logging, and serve aggregated dashboards from a separate pseudonymised store. Cross-border export of CDR/EDR is in scope for KSA PDPL, UAE Federal Data Protection Law, EU GDPR Schrems II; data-residency is typically enforced at the storage layer.

CDR vs EDR at a glance

CDR (Call Detail Record)EDR (Event Detail Record)
Primary purposeBilling / revenue source-of-truthOperational analytics source-of-truth
SchemaOperator billing schemaApplication-defined event lifecycle
Generated byNetwork element (MSC / SMSC / OCS)The messaging platform
CapturesThe chargeable event factsFull lifecycle + platform metadata
DeliveryBatched (5–15 min cycle)Streamed continuously
RetentionRegulator-mandated (5–7 yrs)Operationally chosen (12–24 mo)
BNWritten by the BroadNet engineering team·Operating carrier-grade messaging since 2003, headquartered in Dubai·Editorial standards
FAQ

Frequently asked questions

What is the core difference between a CDR and an EDR?
CDRs are what get billed; EDRs are what get analysed. A CDR is the operator's billing record for a chargeable event; an EDR is the platform's richer, application-level record of the whole event lifecycle.
Can I troubleshoot delivery problems from CDRs?
Only crudely. A CDR records that an event was billed, not why a message failed — it lacks the submit time, queue dwell, retry count, DLR timing, and error codes an EDR carries. Operational diagnosis needs EDRs.
Are CDRs and EDRs personal data?
Yes, once tied to an MSISDN or IMSI both are personal data and fall under PDPL (KSA/UAE) and GDPR. Keep raw records encrypted and access-controlled, and serve dashboards from a separate pseudonymised store.
How do operators reconcile billed vs delivered counts?
By correlating the two feeds: EDRs from the messaging platform (what was submitted and delivered) against CDRs from billing (what was charged). BroadNet's ESME CDR Intelligence Suite automates exactly this reconciliation.
Build with this

Need help wiring this up?

The pages below are the products and integration guides that put this concept on the wire. If you'd rather walk through it live, our engineering team takes calls same-day during MENA working hours.

Talk to our engineering team
Feedback

Was this answer helpful?

Your vote helps us prioritise which answers to expand with examples, diagrams, and code snippets.

Was this answer helpful?
Thanks — noted. We'll keep this answer maintained.
Got it. Tell us what was missing — send a quick note.

How we write and review content

Still need help?

Talk to a real engineer about your build.

We reply within one business day, and production accounts get 24/7 support. Our solutions engineers ship code, not scripts.

$ curl -X POST https://api.broadnet.me/sms/sendSms
Response SLA
Test-access requestsReply within 1 business day
Production24 / 7 · < 15 min
Operator NOC24 / 7 · pager