This document presents the values that can be specified in the status
column of the ozekimessageout database table, and explains what they mean.
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.
Status changing
The next time sequence diagram presents 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