SMPP

SMPP is the binary protocol applications use to submit SMS to a message center and receive receipts on a transceiver or a receiver bind.

Definitions only — a term explained here is not a service we sell.

Short Message Peer-to-Peer (SMPP) is a binary protocol for submitting SMS to a message center and receiving receipts on the same TCP session when it is bound as a transceiver, or on a separate receiver bind. A bind opens the session, and a window limits outstanding messages.

A bind declares transmitter, receiver or transceiver, and keep-alive exchanges hold the session open. How to connect is covered in What is SMPP.

Submit, then wait for the receipt

The client submits with submit_sm and gets submit_sm_resp with a message ID; the receipt arrives later as a deliver_sm. A window caps outstanding submits, so throughput follows window size and round-trip time.

Bind, submit, receipt

  1. Application (ESME)
  2. bind_transceiver Open the session
  3. SMSC
  4. submit_sm_resp Accepted for delivery
  5. Delivery receipt
The session opens once; the receipt arrives later.
Text description

The application binds to the message center as a transceiver. The center accepts the submit with submit_sm_resp, and the delivery receipt arrives later on the same session.

FAQ

Is SMPP a web API?

No. It is binary over a persistent TCP connection, not an HTTP request-and-response API.

Which bind type should a client use?

A transceiver to send and receive on one session; separate binds when the architecture or the provider requires them.

What limits throughput?

The provider's TPS allowance, the window size and the round-trip time.

Learn more

Sources

  1. 3GPP TS 23.040: technical realization of the Short Message Service
  2. 3GPP TS 23.038: alphabets and language-specific information for SMS
  3. SMPP v3.4 specification: bind modes and deliver_sm