MessageStatus Event
This event is fired upon receipt of a message.
Syntax
virtual int FireMessageStatus(SMPPMessageStatusEventParams *e);
typedef struct {
char* MessageId;
int MessageState;
int MessageError;
char* FinalDate;
int reserved;
} SMPPMessageStatusEventParams;
Remarks
When a CheckMessageStatus is called, the SMPP class will fetch the status of the message represented by MessageId from the server, parse the response and fire MessageStatus.
MessageState represents the last known state the message was left in on the SMPPServer. This code is version specific. For v3.4:
1 | ENROUTE, the message is in enroute state. |
2 | DELIVERED, the message is delivered. |
3 | EXPIRED, the message validity period expired. |
4 | DELETED, the message has been deleted. |
5 | UNDELIVERABLE, the message is undeliverable. |
6 | ACCEPTED, the message has been read on behalf of subscriber by customer service. |
7 | UNKNOWN, the message is in invalid state. |
8 | REJECTED, the message is in a rejected state. |
0 | SCHEDULED, the message is in scheduled for delivery, but has not yet been delivered. |
1 | ENROUTE, the message is in enroute state. |
2 | DELIVERED, the message is delivered. |
3 | EXPIRED, the message validity period expired. |
4 | DELETED, the message has been deleted. |
5 | UNDELIVERABLE, the message is undeliverable. |
6 | ACCEPTED, the message has been read on behalf of subscriber by customer service. |
7 | UNKNOWN, the message is in invalid state. |
8 | REJECTED, the message is in a rejected state. |
9 | SKIPPED, the message was accepted by not delivered. |
MessageError will contain an error code representing any failure encountered during message delivery. This code may be vendor-specific.
FinalDate contains a human-readable string representing the date on which the message was delivered. If the message was not delivered, this parameter will be empty.