This glossary explains common SMPP terms and those specific to the SMPP API. Understanding these will help you with the SMPP API integration process.
Term | Description |
---|---|
SMPP | The Short Message Peer-to-Peer (SMPP) protocol is an open, industry standard protocol designed to provide a flexible data communications interface for the transfer of short message data. It comprises a limited set of commands to support mobile terminated (MT) messages, mobile originated (MO) messages, and delivery receipts (DLR). |
SMSC | The Short Message Service Center (SMSC) refers to Twilio's SMPP 'server' entity, to which an SMPP 'client', called an External Short Message Entity (ESME), can connect. |
ESME | External Short Message Entity (ESME) serves as the customer's SMPP client, allowing connectivity to Twilio's SMPP server. |
MO | Mobile originated messages (MO) are messages sent from a mobile device to a Twilio customer. |
MT | Mobile terminated messages (MT) are messages sent from a Twilio customer to a mobile device. |
DLR | Delivery receipts (DLR) are notifications provided by Twilio to customers, detailing the final delivery status of a mobile terminated (MT) message. |
TLS | Transport Layer Security (TLS) is a cryptographic protocol that encrypts data to secure communications over computer networks, such as the internet. All connections with Twilio must use TLS version 1.2 or higher. |
command | SMPP commands are a defined set of actions that allow ESMEs and SMSCs to establish, maintain, or terminate connections, as well as send and receive short messages and delivery receipts. |
command_status | The command_status field in an SMPP command response indicates whether an SMPP command request has succeeded or failed. |
smpp credential | SMPP credentials consist of the system_id , which identifies the ESME (client) to the SMSC (server), and the password used by the SMSC (server) to authenticate the ESME (client). These credentials are used during the binding process. |
system_id | The system_id is used to identify the customer's ESME to the Twilio SMSC during the binding process. It works similarly to a username within the SMPP credentials. The number of allowed binds are controlled at Twilio at the system_id level. |
bind | A bind is the persistent connection between the customer's ESME and Twilio's SMSC over which mobile terminated (MT) messages, mobile originated (MO) messages, and delivery receipts (DLR) are exchanged. |
TX | A Transmitter (TX) bind is authorised to send short messages to the SMSC and to receive the corresponding SMPP responses from the SMSC. Transmitter binds aren't able to receive mobile originated messages or delivery receipts. A transmitter bind is established when an ESME issues a bind_transmitter command request and an SMSC returns a command_status of 0 ESME_ROK in the corresponding bind_transmitter_resp command response. |
TRX | A Transceiver (TRX) bind is authorised to send short messages to the SMSC and receive mobile originated messages or delivery receipts from the SMSC. Transciever binds must send and receive the corresponding SMPP responses to and from the SMSC. A transciever bind is established when an ESME issues a bind_transciever command request and an SMSC returns a command_status of 0 ESME_ROK in the corresponding bind_transciever_resp command response. |
RX | A Receiver (RX) bind is authorised to receive short messages and delivery receipts sent from the SMSC and is required to send the corresponding SMPP responses back to the SMSC. Receiver binds can't send mobile terminated messages. A receiver bind is established when an ESME issues a bind_receiver command request and an SMSC returns a command_status of 0 ESME_ROK in the corresponding bind_receiver_resp command response. |
submit_sm | This command allows a customer ESME to submit a mobile terminated message to Twilio's SMSC for delivery to a mobile device. The corresponding command response is the submit_sm_resp which will contain the command_status that provides the information on the outcome of the request to the customer. |
deliver_sm | This is used by the Twilio SMSC to submit either a mobile originated message or a delivery receipt to a customer ESME. The corresponding command response is the deliver_sm_resp . |
enquire_sm | This command request is used by a customer ESME or by Twilio's SMSC to validate that a bind is still active. The corresponding command response is the enquire_sm_resp . |
unbind | A command issued by either the Twilio SMSC server or customer ESME client to terminate the SMPP session. |
Encoding | Encoding is the process of converting data into a format required for transmission. Twilio supports the following encoding formats: GSM7, UCS2, Latin 1, and (IA5/Latin 9/ASCII). |
segmentSID | Twilio-spefic message ID. Each segment sent by the customer's ESME and received at Twilio's SMSC will be assigned a unique segmentSID in the submit_sm_resp . Twilio segmentSIDs are 34-character alphanumeric strings that begin with 'YV'. |
Now that you are familiar with some of the Twilio SMPP API terms, you can either explore the key concepts of the SMPP API or learn how to connect your application with SMPP API.