SMPP Global SMS
Receive a delivery receipt
The Delivery Receipt operation allows you to receive a delivery receipt from OpenMarket providing feedback about the status of a message. The operation supports the deliver_sm PDU header parameters and deliver_sm_resp PDU parameters operations. A request is composed of a header and parameters, as well as optional OpenMarket custom TLVs. A response echoes back the request header, message status, and the message identifier. OpenMarket sets a default limit on the number of unacknowledged MOs, which might prevent your system from processing efficiently. This limit can be changed as needed. For more information, see MO and Delivery Receipt flow control windowing.
In this topic:
- deliver_sm PDU header parameters
- deliver_sm PDU parameters
- deliver_sm optional PDU parameters
- deliver_sm OpenMarket custom TLVs
- deliver_sm_resp PDU parameters
deliver_sm PDU header parameters
Parameter |
Description |
---|---|
Command Length |
Length of the PDU in octets.
Size (octets): 4 Type: Integer Value: OpenMarket-supplied |
Command ID |
Indicates the type of message delivered in the request. This should be deliver_sm or deliver_sm_resp.
Size (octets): 4 Type: Integer Value: 0x05 |
Command Status |
Not applicable for deliver_sm
Size (octets): 4 Type: Integer Value: NULL |
Sequence Number |
The associated deliver_sm_resp PDU should echo this sequence number back. Size (octets): 4 Type: Integer Value: OpenMarket-supplied |
deliver_sm PDU parameters
Parameter |
Description |
---|---|
Service Type |
Identifies the command as an OpenMarket v4 SMPP operation. Size (octets): Maximum of 6 Type: C-Octet String Value: OMV4 |
Source Address TON |
The MT destination address TON referenced by the delivery receipt.
Size (octets): 1 Type: Integer Value: Only the following are supported:
If the source address is omitted, and the Automatic Originator Selection (AOS) used instead, the field should be 0x00 (NULL), indicating unknown. |
Source Address NPI |
The MT destination address numbering plan indicator referenced by the delivery receipt. This will always be 0x01. Size (octets): 1 Type: Integer Value: 0x01 |
Source Address |
The MT destination address referenced by the delivery receipt. Size (octets): Minimum - 1, maximum - 21 Type: C-Octet String Value: The value of the MT destination address referenced by the delivery receipt. |
Destination Address TON |
The MT source address TON referenced by the delivery receipt. Size (octets): 1 Type: Integer Value: The value of the MT source address TON referenced by the delivery receipt |
Destination Address NPI |
The source address numbering plan indicator referenced by the delivery receipt. Size (octets): 1 Type: Integer Value: The value of the MT source address. |
Destination Address |
The MT source address referenced by the delivery receipt. Size (octets): Variable, but with a maximum of 21 Type: C-Octet String Value: The value of the MT destination address. |
ESM Class |
Indication that the short message contains a delivery receipt. Size (octets): 1 Type: Integer Value: 0x04 |
Protocol ID |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: Integer Value: 0x00 |
Priority Flag |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: Integer Value: 0x00 |
Schedule Delivery Time |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: C-Octet String Value: 0x00 |
Validity Period |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: C-Octet String, 1 - 17 Value: 0x00 |
Registered Delivery |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: Integer Value: 0x00 |
Replace if Present Flag |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: Integer Value: 0x00 |
Data Coding |
Defines the encoding scheme of the delivery receipt short message. Size (octets): 1 Type: Integer Value: 0x00, which is the default character set on the account. |
SM Default Message ID |
This parameter is not used. Set to 0x00 (NULL). Size (octets): 1 Type: Integer Value: 0x00 |
SM Length |
The length of the short message in the delivery receipt. Size (octets): 1 Type: 0x00 Value: Variable, but with a maximum of 254. |
Short Message |
The submitted message. This information is returned in the delivery receipt details. Size (octets): Variable, 0 - 254 Type: Octet String Value:
err - See Delivery receipt status codes and message states.text - Not used in the OpenMarket implementation. This will always be blank.For example, id:0116U-10277-1148V-52U78 sub:000 dlvrd:000 submitdate:161027184810 donedate:161027184812 stat:DELIVRD err:4 text: id:2116U-10277-1148V-60M23 sub:000 dlvrd:000 submitdate:161027184815 donedate:161027184820 stat:REJECTD err:810 text: |
deliver_sm optional PDU parameters
These SMPP v3.4 parameters are always included in a delivery receipt.
Message State
The state of the message.
Tag |
Description |
---|---|
0x0427 |
Type: short Length: 2 Octets Value: One of the following:
|
Receipted Message ID
The OpenMarket message ID of a receipted message.
Tag |
Description |
---|---|
0x001E |
Type: C-Octet String Length: 2 Octets Value: The MT ticket ID. |
deliver_sm OpenMarket custom TLVs
These are custom OpenMarket TLV parameters. By default, the following TLVs are not returned in delivery receipts. They are only returned if your account has been configured to receive them. To enable custom TLVs returned in delivery receipts, contact OpenMarket Support.
Mobile Operator ID
The mobile operator identifier, returned in a delivery receipt only if your SMS account is configured to receive OpenMarket custom TLVs in a delivery receipt and if the mobile operator ID is known.
Tag |
Description |
---|---|
0x2150 |
Type: Short Length: 2 Octets Value: See Mobile Operator IDs. |
Note 1
Returned in the delivery receipt if it was sent in the MT.
Tag |
Description |
---|---|
0x2168 |
Type: Octet String Length: Variable, 1 - 200 Value: Customer-defined, using the default character set on your account. |
Note 2
Returned in the delivery receipt if it was sent in the MT.
Tag |
Description |
---|---|
0x3031 |
Type: Octet String Length: Variable, 1 - 200 Value: Customer-defined, using the default character set on your account. |
Status Code
The delivery receipt response code, returned in a delivery receipt only if your SMS account is configured to receive OpenMarket custom TLVs in a delivery receipt.
Tag |
Description |
---|---|
0x2153 |
Type: Short Length: 2 Value: See Delivery receipt status codes and message states. |
Status Code Description
The description associated with status code. This code is encoded using the default character set on your account.
Tag |
Description |
---|---|
0x2167 |
Type: Octet String Length: Variable, 1 - 200 Value: See Delivery receipt status codes and message states. |
deliver_sm_resp PDU parameters
Field Name |
Description |
---|---|
Command Length |
Length of the PDU in octets. Size (octets): 4 Type: Integer Value: Customer-supplied |
Command ID |
Identifies the type of message the PDU represents. For delivery receipts this will be deliver_sm. Size (octets): 4 Type: Integer Value: 0x80000005 |
Command Status |
The outcome of the deliver_sm request. Size (octets): 4 Type: Integer Value: OpenMarket-supplied |
Sequence Number |
The unique OpenMarket sequence number passed in the deliver_sm request. Size (octets): 4 Type: Integer Value: Customer-supplied |
Message ID |
Not used. Set to 0x00 (NULL). Size (octets): Variable, with a maximum of 65 Type: C-Octet String Value: 0x00 |