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 Tools and Services
Services from Melrose Labs (e.g. Tyr SMS Gateway and SMPP SMS Gateway ) support SMPP v5 and the earlier versions, v3.3 and v3.4.
SMSC Simulator
Looking to test your SMS application or SMS-enabled application before connecting to a live SMS gateway or SMSC? SMSC Simulator enables you to test using SMPP v3.3, v3.4 and v5.
Read more about SMSC Simulator >
SMPP Clients
Send and receive SMS using an SMPP account and browser-based SMPP client.
- SMPP Client * - send/receive SMS and perform other SMPP operations
- SMPP Sender * - basic send SMS client
- SMPP Multi-Sender * - send SMS to multiple numbers from a CSV or spreadsheet
- SMPP Chat * - one or more two-way conversations using SMS and SMPP
- Message Broadcast - text messaging portal for use with any SMPP-capable messaging provider
* SMPP session between web browser 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.
SMPP Load Test
Perform an SMS load test using SMPP from your web browser and view the results in realtime. SMPP Load Test tool submits SMS messages using SMPP at the specified rate. Messages are sent to one or more mobile numbers in a range from a single source address or range of source addresses.
Use the online SMPP Load Test tool >
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 >
Message Hub
Message routing between applications (uses SMPP protocol). For use in IoT, chat applications, asyncronous notification in web applications, and other applications.
Message Hub documentation >