• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3212
  • Last Modified:

Get SMS Delivery Report

I'm building a SMS server which send SMS throug handphone by PC.
I had succeded to send and receive SMS, but I still don't know how to get the delivery report.
I think, after send a SMS, SMSC will send back a "message" to my handphone, and I need to read it.
But the problem is, I don't know how.
Anybody how how to catch the delivery report?
1 Solution
You don't know how to receive SMS message from PC? What is your mobile phone model? What API are you using?
Things to consider......

1) Does your GSM Provider support message delivery reports?

2) Which mode are you using to send SMS? i.e Text mode or PDU mode?

3) Does your GSM Modem (Handphone) support PDU mode?

If you are using PDU mode and your GSM provider supports SMS delivery reports then you can very easily get the delivery reports.....

You will need TP-SRR (Status Report Request) to 1........ You can find information about it on the following links....


After this you will need to configure your Modem/handphone to receive delivery reports.... This can be done with the AT+CNMI command....You will specially be paying attention to the <ds> parameter.... It is SMS Status report and it is set to 0 by default......

Syntax: AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>
This command selects the procedure for message reception from the network.
<mode>: controls the processing of unsolicited result codes

Any other value for <mode> (0,1 or 3) is accepted (return code will be OK), but the processing of unsolicited
result codes will be the same as with <mode>=2.
0: Buffer unsolicited result codes in the TA. If TA result code buffer is full, indications can be buffered in some other place, or the oldest indications may be discarded and replaced with the new received indications
1: Discard indication and reject new received message unsolicited result codes when TA-TE link is reserved. Otherwise forward them directly to the TE
2: Buffer unsolicited result codes in the TA when TA-TE link is reserved and flush them to the TE after reservation. Otherwise forward them directly to the TE
3: Forward unsolicited result codes directly to the TE. TA-TE link specific inband used to embed result codes and data when TA is in on-line data mode

<mt>: sets the result code indication routing for SMS-DELIVERs. Default is 0.

0: No SMS-DELIVER indications are routed.
1: SMS-DELIVERs are routed using unsolicited code: +CMTI: “SM”,<index>
2: SMS-DELIVERs (except class 2 messages) are routed using unsolicited code: +CMT: [<alpha>,] <length> <CR> <LF> <pdu> (PDU mode) or +CMT: <oa>,[<alpha>,] <scts> [,<tooa>, <fo>, <pid>, <dcs>, <sca>, <tosca>, <length>] <CR><LF><data> (text mode)
3: Class 3 SMS-DELIVERs are routed directly using code in <mt>=2 ; Message of other classes result in indication <mt>=1

<bm>: set the rules for storing received CBMs (Cell Broadcast Message) types depend on its coding scheme, the setting of Select CBM Types (+CSCB command) and <bm>. Default is 0.

0: No CBM indications are routed to the TE. The CBMs are stored.
1: The CBM is stored and an indication of the memory location is routed to the customer application using unsolicited result code: +CBMI: “BM”, <index>
2: New CBMs are routed directly to the TE using unsolicited result code. +CBM: <length><CR><LF><pdu> (PDU mode) or +CBM:<sn>,<mid>,<dcs>,<page>,<pages>(Text mode) <CR><LF> <data>
3: Class 3 CBMs: as <bm>=2. Other classes CBMs: as <bm>=1.

<ds> for SMS-STATUS-REPORTs. Default is 0.

0: No SMS-STATUS-REPORTs are routed.
1: SMS-STATUS-REPORTs are routed using unsolicited code: +CDS: <length> <CR> <LF> <pdu> (PDU mode) or +CDS: <fo>,<mr>, [<ra>] , [<tora>], <scts>,<dt>,<st> (Text mode)
2: SMS-STATUS-REPORTs are stored and routed using the unsolicited result code: +CDSI: “SR”,<index>

<bfr> Default is 0.

0: TA buffer of unsolicited result codes defined within this command is flushed to the TE when <mode> 1…3
is entered (OK response shall be given before flushing the codes)
1: TA buffer of unsolicited result codes defined within this command is cleared when <mode> 1…3


Featured Post

Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

Tackle projects and never again get stuck behind a technical roadblock.
Join Now