A delivery report, DELIVER_SM PDU, is generated for SMS messages that are sent using
Acoustic Campaign integration with SMPP. The SMSC delivery receipt is carried as the user data
payload in the SMPP deliver_sm
.
Table 1. Sample PDU
Field |
Value |
Destination TON |
00000001 International |
Destination NPI |
1 |
Source TON |
00000001 International |
Source NPI |
1 |
Source Address |
The source generating the delivery receipt, or the mobile generates the Originated message
|
Destination Address |
The destination mobile number or the source submits a message if it is delivery receipt
|
Protocol id |
NULL |
Schedule delivery |
NULL |
Validity period |
NULL |
Registered delivery |
NULL |
Replace if present flag |
NULL |
Sm default message id |
NULL |
Message Length |
The length of the message in bytes |
Short message |
The message content from the source or the delivery receipt |
Delivery Receipt Format – Deliver_sm
Karix provides for return of a delivery receipt via the deliver_sm
PDU, which
indicates the delivery status of the message. The informational content of an SMSC Delivery Receipt
is inserted into the short_message
parameter of the deliver_sm
operation.
Sample Delivery receipt – SMPP
A sample delivery receipt is displayed as
follows:
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . .
The fields in the receipt are explained in the following table:
Table 2. Fields in the delivery receipt
Field name |
Size octets |
Type |
Description |
Id |
10 |
C-Octet Length String (Decimal) |
The message ID (acknowledgement id) allocated to the message by the SMSC when Originally
submitted. |
Sub |
3 |
C-Octet Length String (Decimal) |
Number of short messages originally submitted. The value is padded with leading zeros if
necessary. |
Dlvrd |
3 |
C-Octet Fixed Length String (Decimal) |
Number of short messages delivered. The Value is padded with leading zeros if necessary.
|
Submit date |
10 |
C-Octet Fixed Length String |
The time and date at which the short message was submitted. The format is as follows:
YYMMDDhhmm where: YY = last two digits of the year (00-99) MM = month (01-12) DD = day (01-31) hh =
hour (00-23) mm = minute (00-59) |
Done date |
10 |
C-Octet Fixed Length String |
The time and date at which the short message reached its final state. The format is the same
as for the submit date. |
Stat |
7 |
C-Octet Fixed Length String |
The final status of the message. For settings for this field see Table "Delivery Receipt
message states". |
Err |
3 |
C-Octet Fixed Length String |
Where appropriate this may hold a Network specific error code or an SMSC error code for the
attempted delivery of the message. Refer to-SMSCv3.0 Error Codes document. |
Text |
20 |
Octet String |
The delivery status of Karix gateway. For settings for this field see Table "Delivery
Receipt message states". |
Table 3. Delivery receipt message states
FINAL MESSAGE STATES |
DESCRIPTION |
DELIVRD |
Message is delivered to destination. |
EXPIRED |
Message validity period has expired. |
DELETED |
Message has been deleted. |
UNDELIV |
Message is undeliverable. |
ACCEPTD |
Message is in accepted state. |
UNKNOWN |
Message is in invalid state. |
REJECTD |
Message is in a rejected state. |
Table 4. Custom TLV in SMPP
Tag |
Name |
Type |
Max character length |
Description |
Report Mapping (Offline & Online) |
0x148D |
Org_ID |
String |
100 |
Unique identifier of the WCA organization |
n/a |
0x148E |
Campaign_name |
String |
200 |
Name of the SMS campaign as specified by IBM client in WCA |
msgTag |
0x148F |
Send_metadata |
String |
200 |
Additional metadata from WCA that uniquely identifies the message |
Tag4 |
Note: Org_id
is used for mapping a Messaging account with interface by
Karix, and is not available in reports. TLV is not included in the SMPP delivery receipt.
Send_metadata format
The
send_metadata
TLV contains a pipe-separated list of key value pairs,
formatted as “key=value”. The available fields are as follows:
Table 5. Send_metadata format
Key |
Value type |
Required |
Max string length |
Description |
m |
Number |
No |
n/a |
WCA SMS MailingID |
r |
Number |
Yes |
n/a |
WCA Recipient ID |
n |
String |
No |
100 |
WCA SMS Name |
p |
String |
Yes |
40 |
WCA SMS Program ID |
As an example, the value for a typical
send_metadata
TLV would be as
follows:
m=123456|r=654321|n=my sms name|p=24557f01-bfd9-4def-a204-c9334677ae8d
Fields that are not required are omitted if a value is not provided. For example, if
SMS
Name
is not available, the
send_metadata
would look
like:
m=123456|r=654321|p=24557f01-bfd9-4def-a204-c9334677ae8d