SMS Delivery Reports (FT-1011.004)
About this document
Scope
This document provides background information as well as a functional description of the FT-1011.004 SMS Delivery Reports advanced feature. The described feature is supported from the release version 5.1 onwards.
Note
SMS Delivery Reports is an advanced feature and requires a special license. Ensure that you have agreed with Mavoco about the usage of this feature before taking it into use.
This feature is part of the Account Self-Administration functionality with number FN-2001.
Feature Availability
Feature Version | Available from | Summary of changes |
---|---|---|
v1 | CMP Release 5.1 | Initial release |
Feature overview
Goals
The aim of the SMS Delivery Reports feature is to support the request, retrieval, and presentation of Delivery Reports for SMS sent via CMP.
Additionally, the feature enables the processing of SMS EDRs in order to provide a list of SMS sent and received by the subscriber and an indication of the status of the sent SMS based on the Ro interface. Additionally, the feature provides a configurable set of status indicators per CSP depending on the SMS services allowed by the CSP.
Out of scope
Retrieval of SMS Delivery Reports via RestAPI
The solution will not show whether an SMS has actually been delivered
Collection and processing of SMS delivery report from the SMSC
Collection and processing of SMSC log files or similar to record and display all SMSs sent and received by the subscriber
Preconditions & Assumption
The feature requires SMPP integration into the operator SMSC
Functionality of the feature
SMS Delivery Reports
A CMP license feature determines whether or not SMS Delivery Reports can be displayed in CMP. If the feature is enabled on the CMP instance, the SMS Details tab on the SIM Grid in the Enterprise Portal is also enabled. A Portal Access Right determines whether the User has access to the SMS Management tab in Enterprise Portal (ACL).
When using the Send SMS feature CMP provides an option to request an SMS Delivery Report both via the GUI and API.
Each CMP instance is configured (SMS-STORAGE) to automatically remove SMS Delivery Reports after a predefined number of days (usually 30), and also if there are more than 100 SMS and SMS Delivery Reports stored in CMP per SIM (MAX-SMS-ITEMS).
CMP implements two daily housekeeping processes to manage the number of stored SMS Delivery Reports:
Every day, all SMS Delivery Reports older than the number of days specified in the SMS-STORAGE configuration item are deleted.
Every day, check to see if there are more SMS Delivery Reports than the value specified in the MAX-SMS-ITEMS configuration item. If there are more items, SMS Delivery Reports are deleted in chronological order, beginning with the oldest and progressing until the MAX-SMS-ITEMS value is reached.
External system users can retrieve SMS Delivery Reports from CMP via Rest API. The API can be used to retrieve all SMS Delivery Reports for the user context (e.g., Account or set of Accounts) and for individual SIM Cards (ICCID, IMSI, MSISDN, or SIM ID must be specified). Filtering by date and time, Account or transaction ID is available.
For each SMS Delivery Report received for a SIM, CMP generates a Kafka notification.
SMS Delivery Status
The SMS Delivery Status solution is based on the message flow for delivering SMS, as shown on the diagram below.

CMP generates EDRs as a result of CCR-I and CCR-T Ro messages. Note that long concatenated SMS are treated as separate SMS and separate Ro requests are made for each component SMS, furthermore each Ro transaction will be displayed separately.
The following mapping table is used to determine the indicative SMS delivery status, based on these messages.
SMS Derived Delivery Status
Ro Message | ID (API) | Success/Failed | within local core network SMS | outside of local core network SMS |
---|---|---|---|---|
CCA-I | 1 | Success (CCA-I Success sent) | Pending | Pending |
CCA-I | 2 | Fail (CCA-I Fail sent) | Rejected | Rejected |
CCA-I | 3 | TimeOut (no CCR-T in grant duration time) | Expired(*) | Failed |
CCA-T | 4 | Success (Unit Used =1) | Delivered | Delivered/Relayed |
CCA-T | 5 | Fail (Unit Used =0) | Rejected | Failed |
CCA-T | 6 | Not Delivered (Unit Used =0) | Not Delivered | Not Delivered |