Reference section - SMPP
deliver_sm
SMPP deliver_sm
4.3.1 deliver_sm Operation
The deliver_sm is issued by the MC to send a message to an ESME. Using this command, the MC may route a short message to the ESME for delivery.
4.3.1.1 deliver_sm Syntax
Field Name | Size octets | Type | Description | Ref. |
command_length | 4 | Integer | Set to overall length of PDU. | 4.7.4 |
command_id | 4 | Integer | 0x00000005 | 4.7.5 |
command_status | 4 | Integer | 0x00000000 | 4.7.6 |
sequence_number | 4 | Integer | Set to a Unique sequence number. The associated deliver_sm_resp PDU will echo this sequence number. | 4.7.24 |
service_type | Var. max 6 | C-Octet String | The service_type parameter can be used to indicate the SMS Application service associated with the message. Specifying the service_type allows the ESME to avail of enhanced messaging services such as “replace by service_type” or control the teleservice used on the air interface. Set to NULL if not known by MC | 4.7.25 |
source_addr_ton | 1 | Integer | Type of Number for source address. | 4.7.1 |
source_addr_npi | 1 | Integer | Numbering Plan Indicator for source address. | 4.7.2 |
source_addr | Var. max 21 | C-Octet String | Address of SME which originated this message. | 4.7.29 |
dest_addr_ton | 1 | Integer | Type of Number for destination | 4.7.1 |
dest_addr_npi | 1 | Integer | Numbering Plan Indicator for destination | 4.7.2 |
destination_addr | Var. max 21 | C-Octet String | Destination address of this short message For mobile terminated messages, this is the directory number of the recipient MS | 4.7.8 |
esm_class | 1 | Integer | Indicates Message Mode and Message Type | 4.7.12 |
protocol_id | 1 | Integer | Protocol Identifier. Network specific field. | 4.7.20 |
priority_flag | 1 | Integer | Designates the priority level of the message | 4.7.19 |
schedule_delivery_time | 1 or 17 | C-Octet String | The short message is to be scheduled by the receiving MC or ESME for delivery. This field is only applicable if the short message is being forwarded to another MC. In this case it is the time at which the receiving MC should schedule the short message. Set to NULL if not scheduled. | 4.7.23.1 |
validity_period | 1 or 17 | C-Octet String | The validity period of this message. This field is only applicable if this short message is being forwarded to another MC. In this case it specifies how long the receiving MC should retain the SM and continue trying to deliver it. Set to NULL if the current validity period is unavailable. | 4.7.23.2 |
registered_delivery | 1 | Integer | Indicator to signify if a MC delivery receipt or an SME acknowledgement is required. | 4.7.21 |
replace_if_present_flag | 1 | Integer | Flag indicating if delivered message should replace an existing message. | 4.7.22 |
data_coding | 1 | Integer | Defines the encoding scheme of the short message user data. | 4.7.7 |
sm_default_msg_id | 1 | Integer | Indicates the short message to send from a list of pre- defined (‘canned’) short messages stored on the receiving MC. This field is only applicable if this message is being forwarded to another MC. Set to NULL . If not known or applicable | 4.7.27 |
sm_length | 1 | Integer | Length in octets of the short_message user data. | 4.7.28 |
short_message | Var. 0-255 | Octet String | Up to 255 octets of short message user data. The exact physical limit for short_message size may vary according to the underlying network Note: this field is superceded by the message_payload TLV if specified. Ref. 4.8.4.36 Applications which need to send messages longer than 255 octets should use the message_payload TLV. In this case the sm_length field should be set to zero | 4.7.26 |
Message Delivery Request TLVs | Var. | TLV | 4.3.3 |
4.3.1.2 deliver_sm_resp Syntax
Field Name | Size octets | Type | Description | Ref. |
command_length | 4 | Integer | Set to overall length of PDU. | 4.7.4 |
command_id | 4 | Integer | 0x8000005 | 4.7.5 |
command_status | 4 | Integer | Indicates outcome of deliver_sm request. | 4.7.6 |
sequence_number | 4 | Integer | Set to sequence number of original deliver_sm PDU. | 4.7.24 |
message_id | Var. Max 65 | C-Octet String | This field is unused and should be set to NULL | 4.7.14 |
Message Delivery Response TLVs | Var. | TLV | 4.3.4 |
SMPP Analyser
The SMPP Analyser acts as an SMPP proxy, with the client application binding to the service and the service onward binding to the SMSC or SMS Gateway. Packet captures can be viewed in your browser or exported into Wireshark. Use the online SMPP Analyser >
SMSC Simulator
Looking to test your SMS application or SMS-enabled application before connecting to a live SMS gateway or SMSC? Our SMSC Simulator service allows you to test using the SMPP protocol v3.3, v3.4 and v5. Read more about SMSC Simulator >
SMPP Client
Test an SMPP account and service using the Melrose Labs SMPP Client . Use from your web browser. No software installation necessary.