One voice call, as the switch writes it, then the six stages it passes through.
Voice CDR, mobile originated call, as emitted
recordType MOC
servingElement MSC-BLR-04
callingNumber 919845012345 A party MSISDN
calledNumber 912266778899 B party
imsi 404450123456789 identifies who is charged
imei 35-209900-176148-1 which handset
startTime 2026-07-14T09:41:07+05:30
duration 137 seconds
cellId 404-45-1201-8843 where the A party was
bearer voice
causeForTermination normal
recordSequence MSC-BLR-04:0000918273
Journey
1 COLLECTION files pulled from the element, or streamed; checked for
gaps in the sequence, because a missing file is missing
revenue and nothing else will report it
2 DECODE vendor format to a canonical record
3 VALIDATE drop zero-duration and malformed records, quarantine
rather than discard so they can be reprocessed
4 DEDUPLICATE on recordSequence, because re-sent files are routine
5 CORRELATE join partial records: a long call rolls over into
several records, a handover produces one per element
6 ENRICH + RATE IMSI to subscriber to account, then apply the tariff
effective on 14 July, producing a rated event
7 BILL accumulate rated events into the open bill period,
then invoice at cycle close
The two identifiers do different work. The IMSI decides who pays, because it is
the subscription; the MSISDN is what appears on the itemised bill because it is
what the customer recognises. Keying on the MSISDN instead breaks the moment a
number is ported or recycled.
Stages three and four are where revenue assurance lives. A dropped file is
silent — no error, no alarm, simply less revenue — so sequence-gap detection and
a reconciliation count between what the element emitted and what rating received
is not optional instrumentation, it is the control.
Correlation is the stage candidates omit and the one that produces wrong bills.
A single ninety-minute call can generate several partial records, and a naive
pipeline rates each as a separate call, applying a per-call connection charge
several times. Session identifiers exist precisely to reassemble them, and any
correlation window has to tolerate records arriving out of order and hours late.