Delivery report for WCA integration with SMPP

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