Reference section - SMPP
Message Delivery TLVs
SMPP Message Delivery TLVs
SMPP (Short Message Peer-to-Peer) is an open, industry standard protocol designed to provide a flexible data communications interface for the transfer of short message data between External Short Message Entities (ESME), Routing Entities (RE) and Message Centres (MC). The SMPP protocol is a means by which applications can send SMS messages to mobile devices and receive SMS from mobile devices.
Message Delivery Request TLVs
The following table lists TLVs appropriate for message delivery using deliver_sm or data_sm operations.
TLV Name | Description | Ref. |
callback_num | A call-back number associated with the short message. This parameter can be included a number of times for multiple call-back addresses. | 4.8.4.15 |
callback_num_atag | Associates a displayable alphanumeric tag with the call-back number. If this parameter is present and there are multiple instances of the callback_num parameter then this parameter must occur an equal number of instances and the order of occurrence determines the particular callback_num_atag which corresponds to a particular callback_num. | 4.8.4.16 |
callback_num_pres_ind | Defines the call-back number presentation and screening. If this parameter is present and there are multiple instances of the callback_num parameter then this parameter must occur an equal number of instances and the order of occurrence determines the particular callback_num_pres_ind which corresponds to a particular callback_num. | 4.8.4.17 |
dest_addr_np_country | E.164 information to the operator country code. | 4.8.4.20 |
dest_addr_np_information | Number portability information for the destination address. | 4.8.4.21 |
dest_addr_np_resolution | Number portability query indicator. | 4.8.4.22 |
dest_addr_subunit | The subcomponent in the destination device for which the user data is intended. | 4.8.4.23 |
dest_network_id | Identification of destination network. | 4.8.4.25 |
dest_node_id | Identification of destination node. | 4.8.4.27 |
dest_subaddress | The sub-address of the message destination. | 4.8.4.28 |
dest_port | Indicates the application port number associated with the destination address of the message. This parameter should be present for WAP applications. | 4.8.4.30 |
dpf_result | Indicates whether the Delivery Pending Flag was set. | 4.8.4.32 |
its_reply_type | The MS user’s reply method to an SMS delivery message received from the network, is indicated and controlled by this parameter. | 4.8.4.33 |
its_session_info | Session control information for Interactive Teleservice. | 4.8.4.34 |
language_indicator | Indicates the language of an alphanumeric text message. | 4.8.4.35 |
message_payload | Contains the extended short message user data. Up to 64K octets can be transmitted. Note: The short message data should be inserted in either the short_message or message_payload fields. Both fields should not be used simultaneously. The sm_length field should be set to zero if using the message_payload parameter. Note: In the case of data_sm, the message_payload TLV is the only means of specifying text. | 4.8.4.36 |
message_state | Should be present for MC Delivery Receipts and Intermedia Notifications. | 4.8.4.37 |
network_error_code | Error code specific to a wireless network. | 4.8.4.42 |
payload_type | Defines the type of payload (e.g. WDP, WCMP, etc.). | 4.8.4.44 |
privacy_indicator | Indicates the level of privacy associated with the message. | 4.8.4.45 |
receipted_message_id | MC message ID of message being receipted. Should be present for MC Delivery Receipts and Intermediate Notifications. | 4.8.4.47 |
sar_msg_ref_num | The reference number for a particular concatenated short message. | 4.8.4.46 |
sar_segment_seqnum | Indicates the sequence number of a particular short message fragment within the concatenated short message. | 4.8.4.49 |
sar_total_segments | Indicates the total number of short message segments within the concatenated short message. | 4.8.4.50 |
source_addr_subunit | The subcomponent in the destination device, which created the user data. | 4.8.4.54 |
source_network_id | Identification of source network. | 4.8.4.56 |
source_node_id | Identification of source node. | 4.8.4.58 |
source_port | Indicates the application port number associated with the source address of the message. This parameter should be present for WAP applications. | 4.8.4.59 |
source_subaddress | The sub-address of the message originator. | 4.8.4.60 |
user_message_reference | ESME assigned message reference number. | 4.8.4.62 |
user_response_code | A user response code. The actual response codes are implementation specific. | 4.8.4.63 |
ussd_service_op | This parameter is used to identify the required USSD Service type when interfacing to a USSD system. | 4.8.4.64 |
Message Delivery Response TLVs
The following table contains TLVs that can be returned in a deliver_sm_resp or data_sm_resp PDU.
TLV Name | Description | Ref. |
additional_status_info_text | ASCII text giving a description of the meaning of the response. | 4.8.4.1 |
delivery_failure_reason | Include to indicate reason for delivery failure. | 4.8.4.19 |
network_error_code | Error code specific to a wireless network. | 4.8.4.42 |
SMPP Platforms, Tools and Services
SMPP SMS Gateway
Global cloud SMS gateway platform with advanced routing, reliability and capacity.
SMPP Load Balancer
SMPP load balancer for high availability, reliability and capacity.
SMPP Router
High-performance SMPP SMS routing engine.
SMPP-HTTP Bridge
Interoperate between SMPP and HTTP SMS infrastructures.
SMPP Testing
Test application or platform performance and SMPP conformance (e.g. rate of SMS processing, submit latency, etc).
SMSC Simulator
Test your application's ability to send and receive SMS when using SMPP.
SMS Load Test
Load test an SMS platform with 100s or 1000s of SMS/sec using one or more SMPP binds.
Tyr SMS Gateway
Use SMPP to send and receive SMS messages worldwide with over 1000 mobile networks.
SMPP Clients
Range of SMPP clients for use with SMS gateways and SMSCs.
SMPP Analyser
Analyse SMPP packets as they pass between the client application and provider.
SMS Code Bench
SMS messaging code sample and development playground. Collection of editable and runnable code samples in a variety of languages for different SMS interactions.
SMS Code Bench >
Send SMS programmatically with SMPP
Send SMS programmatically with SMPP using Python, Java, Go, Perl, C++, C#, Node.js, Ruby and PHP.