Ozeki SMS delivery message status values

Introduction

This document presents the SMS delivery status values that can be specified in the status column of the ozekimessageout database table, and explains what they mean. You can learn about how the status of the text message changes during the process of sending the SMS.

What is sms sequence diagram

The SMS sequence diagram depicts the interactions between the components involved in the process of sending and receiving SMS messages.

It shows how the user starts an SMS request, which is processed by the Ozeki SMS gateway, then sent to the SMSC, and finally, the SMS message reaches the recipient.

Components involved in sending the text message: SMS client, Ozeki SMS Gateway, SMSC and the receiving mobile phone.


Status Description
send

The message has been inserted into the database table (ozekimessageout), but not yet processed by Ozeki NG. This is the status to be specified when inserting a new message.

sending

The message has been processed by Ozeki NG, and inserted into the Database user's Outbox folder, where it is waiting to be sent out.

sent

The message has been sent out to the SMS Center of a specified service provider, which has accepted the message for delivery.

notsent

The message has not been sent out to the SMS Center of a specified service provider. Some error has caused the sending to fail.

delivered The specified service provider has reported that the message has been delivered to the recipient.
undelivered The specified service provider has reported that the delivery of the message to the recipient has failed.
Table 1 - The SMS delivery statuses of the message sending

SMS Status changing

The next time SMS sequence diagram presents how and when the status of an SMS message changes.

how and when the status of an sms message changes
Figure 1 - How and when the delivery status of an SMS message changes



#1: SQL insert: "insert into ozekimessageout (receiver,msgtype,msg,status) values ('+36441234567', 'SMS:TEXT', 'This is a message text.', 'send');". This query is executed when the message you have composed is inserted into the database to be sent out by Ozeki NG to the specified recipient.

#2: SQL select: "SELECT id,sender,receiver,msg,msgtype,operator FROM ozekimessageout WHERE status='send'". This query is executed when the message polling is due. The frequency of polling can be specified for Ozeki NG during the configuration of the Database user, in the SQL for sending tab. Picture help

#3: SQL update: "UPDATE ozekimessageout SET status='sending' WHERE id='$id'". This query is executed when the message has been polled and it has been inserted into the sender user's Outbox folder. The status of the message has to be set to 'sending' to stop it from being sent out again if a row of the table has already been read but not yet sent.

#4: SQL update: "UPDATE ozekimessageout SET status='sent', senttime='$senttime' WHERE id='$id'". This query is executed when the message has been accepted by the SMS center for delivery.

#5: SQL update: "UPDATE ozekimessageout SET status='delivered' WHERE id='$id'". This query is executed when the message has been delivered to the recipient.

#6: SQL update: "UPDATE ozekimessageout SET status='notsent' WHERE id='$id'". This query is executed when the message has failed to be sent out to the SMS Center. This may be due to several reasons, e.g. insufficient balance, incorrect settings etc.

#7: SQL update: "UPDATE ozekimessageout SET status='undelivered' WHERE id='$id'". This query is executed when the message has been accepted by the SMS Center, but it has failed to deliver it to the recipient, e.g. because they are never available (their phone is never switched on).
 

Note

The SQL statements above can be "freely" modified in the SQL for sending tab of the Database user's configuration form. Picture help

More information