Blog Post

SMS delivery report for iPhone!!!

Question 1: Do you have an iPhone?
Question 2: Did you have “devliery reports” for your SMS messages on your old phone?
Question 3: Do you miss the delivery reports on your iPhone?
Question 4: Would you like delivery reports on your iPhone?

If you answered YES to all of the above four questions, then you will probably LOVE the following “iPhoneDelivery” application for your iPhone! It is a very simple application that you can install on your iPhone, which will enable delivery reports that you have loved and missed!!

Settings page Flash delivery report Embedded delivery report

What is iPhoneDelivery?

iPhoneDelivery is an application written by Francois Guilleme for iPhone users around the world who are frustrated that Apple did not build delivery report functionality directly into the Apple iPhone’s operating system (OSX). Why Apple decided that we did not need delivery reports is beyond me, but they didn’t.

Basically once iPhoneDelivery is installed on your iPhone it “hooks” into the CommCenter service that is run by OSX and monitors when you send and when you receive an SMS message.

When you send an SMS message, iPhoneDelivery picks up on the AT+CMGS command used to send the SMS, and it replaces the bit 5 in the second byte of the SMS message to request from your service provider that it should send you a delivery report once the SMS message has been received by the recipient. (Regarding long SMS, since they are basically concateneted SMS, only the last one is patched. Orignaly the first fragment was patched but the delivery report was receive before the message itself. It was pretty disturbing for some.)

It does not change anything else in the SMS, only that one byte of information. Really just changes the “Request delivery report: No” to “Request delivery report: Yes“.

[ad name=”goldschmidt inline post”]

When you receive an SMS message, iPhoneDelivery determines if the SMS is a normal +CMT message (which it leaves), or if the SMS is a +CDS delivery report message. In the second instance iPhoneDelivery rewrites this +CDS message to a +CMT message, and then links the delivery report to a specific SMS message that you recently sent. It then uses sqlite3 to map the phone number to a name in your address book, and then accesses the SMS database.

The flash mode allows you to either get the delivery report as a normal message or get it as a full windows message.

A nice feature of iPhoneDelivery is the “tick mark” that is displayed in the SMS bubble in your conversation window once the SMS has been successfully delivered. When a message is sent iPhoneDelivery stores the reference returned by the SMSC (SM service center) in the sms database. When the report arrives this reference is included in the payload so iPhoneDelivery knows which message it relates to. iPhoneDelivery then updates the SMS text in the database and prepends a nice looking “tick” character to the SMS message which symolises that the message has been delivered to the intended recipient correctly.


You need to have jailbroken your iPhone.

Installation Method:

1) ADD the following source to Cydia:

2) Search Cydia for the “iPhoneDelivery” application, and install it.

3) Open up your “Settings” application, and go down to “Messages”.

4) You then have the option to enable “Delivery report” as well as “Flash DR”.

5) Click on your “home” button, and then test it out by sending a friend a test SMS.

Note: A big Thank You to fxit_man from the mybroadband forum for making this information available to the general iPhone South African users, and creating a little “how to” guide for installing it!

MyBroadBand Forummybroadband forum

iPhoneDelivery Homepage at Google Code

Cyide Source:

P.S. I have iPhoneDelivery working 100% on my jailbroken iPhone 3GS on the Vodacom network!