CDRs
CDRs for mobile terminated and mobile originated SMS
CDRs can be downloaded for messages submitted to the platform by customers and for messages submitted to suppliers by the platform. The date/time range, customer, supplier or customer-supplier combination can be specified for the CDRs produced.
CDRs are generated for database records that are updated within 15 seconds of message submission or message state being updated.
Download CDRs from Reports > CDRs or Reports > CDRs > Advanced. Aggregated traffic reports are documented in Reports.
Download CDRs
Use Reports > CDRs > Advanced for faster downloads and for Full CDRs. The Reports > CDRs section will be upgraded for faster performance; until then the portal recommends Advanced.
| Reports > CDRs | Reports > CDRs > Advanced | |
|---|---|---|
| Range | Date range | Date and time range |
| Customer CDRs | Yes (completed, all, pending, failed) | Yes (completed, all, pending, failed) |
| Supplier CDRs | Yes | Yes |
| Full CDRs | No | Yes |
Steps
- Open Reports > CDRs > Advanced (or Reports > CDRs).
- Set the date (or date/time) range and time zone.
- Choose the Customer, Supplier or Full tab.
- Select a customer and SMPP account, a supplier and SMSC, or both (Full).
- Click Check. The record count is shown (customer downloads also show pending and failed counts).
- Click the download button for the CDR type you want. The file is a CSV named
report-cdr-<timestamp>.csv.
Download is disabled when there are no matching records, or when the count is greater than 850,000. Narrow the range or filter and click Check again.
CSV files include a UTF-8 BOM so message text displays correctly in Microsoft Excel.
Customer CDRs
Download CDRs based on the customer who submitted the messages. Filter by customer and SMPP account.
The following types of CDR can be produced:
| Type | Description | Period used |
|---|---|---|
| Completed messages | Only messages that have reached a final state (delivered or undeliverable). | ts_completion |
| All messages | All messages regardless of state. | ts_esme_submit |
| Pending messages | Only messages that have not yet reached a final state. | ts_esme_submit |
| Failed messages | Only messages that have reached a failed final state (status greater than 2). | ts_esme_submit |
Completed downloads therefore include messages that finished in the selected range, even if they were submitted earlier. All, pending and failed downloads include messages submitted in the selected range.
CDR format:
ts_completion, svc_node, esme_msg_id, customer, system_id, ts_esme_submit, srcton, srcnpi, srcaddr, msisdn, country, network, status, error, ts_dlr_ack, revenue_val, revenue_cur, registered_delivery, data_coding, esm_class, type, short_message, short_message_raw
status, data_coding and short_message are written in human-readable form.
Supplier CDRs
Download CDRs based on the supplier to where messages were submitted. Filter by supplier and SMSC. There is a single Download button (all matching attempts in the range).
The period is the time the platform submitted the message to the supplier (ts_submit).
CDR format:
ts_submit, svc_node, esme_msg_id, smsc, system_id, ts_completion, msgid, submit_error, cost_val, cost_cur, network, status, error
Full CDRs
Available in Reports > CDRs > Advanced only.
CDRs based on the customer who submitted messages and the suppliers to where messages were onward submitted by the platform. Filter by customer, SMPP account, supplier and SMSC. There is a single Download button.
CDR format:
ts_completion, svc_node, esme_msg_id, customer, system_id, ts_esme_submit, srcton, srcnpi, srcaddr, msisdn, country, network, status, error, ts_dlr_ack, revenue_val, revenue_cur, registered_delivery, data_coding, esm_class, type, short_message, short_message_raw, ts_submit, smsc, smsc_system_id, msgid, submit_error, cost_val, cost_cur
CDR fields
| Field | Description |
|---|---|
| ts_completion | Timestamp for when the message reached a final state (delivered or undeliverable) |
| svc_node | SSG node to where the message was submitted by the customer |
| esme_msg_id | ID of the message on the SSG node (<node hex>-<message hex>) |
| customer | Customer name |
| system_id | SMPP system ID used by the customer to submit the message |
| ts_esme_submit | Timestamp for when the customer submitted the message to the platform |
| srcton | Source address TON |
| srcnpi | Source address NPI |
| srcaddr | Source address |
| msisdn | Destination address |
| country | Country of the destination address |
| network | Network of the destination address |
| status | Delivery status (see below) |
| error | Delivery error (normally as returned by the supplier SMSC) |
| ts_dlr_ack | Timestamp for when the customer acknowledged the DLR |
| revenue_val | Price value of the message from the pricing plan |
| revenue_cur | Price currency of the message from the pricing plan |
| registered_delivery | Registered delivery value as set by the customer when the message was submitted |
| data_coding | Data coding (see below) |
| esm_class | ESM class value as set by the customer when the message was submitted |
| type | MT (outbound) or MO (inbound) |
| short_message | Short message in text form (UDH skipped; UCS2 decoded to UTF-8) |
| short_message_raw | Original short-message field (hex) |
| ts_submit | Timestamp for when the platform submitted the message to the supplier |
| smsc | Identifier for the supplier SMSC to where the message was submitted |
| smsc_system_id | SMPP system ID used with the supplier SMSC |
| msgid | Message ID returned by the supplier SMSC |
| submit_error | SMPP command status returned by the supplier SMSC in submit_sm_resp |
| cost_val | Cost value of the message from supplier costs |
| cost_cur | Cost currency of the message from supplier costs |
Status values
status is exported as SMPP-style text:
| Value | Meaning |
|---|---|
| ENROUTE | Pending (scheduled or enroute) |
| DELIVRD | Delivered |
| EXPIRED | Expired |
| DELETED | Cancelled |
| UNDELIV | Undeliverable |
| ACCEPTD | Accepted |
| UNKNOWN | Unknown |
| REJECTD | Rejected |
| SKIPPED | Skipped |
Data coding values
| Value | Meaning |
|---|---|
| MC Default | DCS 0 |
| IA5/ASCII | DCS 1 |
| Octet (8-bit) | DCS 2 or 4 |
| Latin 1 (ISO-8859-1) | DCS 3 |
| JIS | DCS 5 |
| Cyrillic (ISO-8859-5) | DCS 6 |
| Latin/Hebrew (ISO-8859-8) | DCS 7 |
| UCS2 | DCS 8 |
Limits and API
Individual message records used for CDRs are retained for the last 3 months by default. See Data retention.
A portal download is limited to 850,000 records. For larger volumes, or to retrieve CDRs automatically, use the Management API:
- Daily CDRs — previous day, paged (up to 200,000 records per request)
- Last 5–10 minutes — recent CDRs
Updated 5 days ago
