# SMPP explained

- Canonical URL: https://www.broadnet.me/explained/smpp
- Language: en
- Publisher: BroadNet (https://www.broadnet.me)
- Markdown version of the page above, generated from the rendered page.

SMPP Topic hub

Definition

SMPP (Short Message Peer-to-Peer) is the open TCP protocol that carries A2P SMS between an application — the ESME — and a mobile operator's SMSC. The ESME opens a persistent bind, submits messages as binary submit_sm PDUs and receives delivery receipts back over the same socket.

Summarised from [How does the SMPP protocol work?](https://www.broadnet.me/answers/smpp-protocol)

Last updated October 1, 2026 9 key terms

On this page

1. 01Definition
2. 02How it works
3. 03Key terms
4. 04Guides and further reading
5. 05Related products
6. 06Frequently asked questions

[All topics explained](https://www.broadnet.me/explained) [Browse all answers](https://www.broadnet.me/answers)

## How it works

1. 1 Bind The ESME opens a TCP connection (ideally TLS) and sends bind_transceiver with a system_id and password. It can bind as Transmitter, Receiver or Transceiver; a Transceiver bind over SMPP 3.4 is the modern default. [Read the full answer](https://www.broadnet.me/answers/smpp-protocol)
2. 2 Submit Each message goes out as a submit_sm PDU, and the SMSC acknowledges with a submit_sm_resp carrying a message_id. The window — how many PDUs may be in flight unacknowledged — is what most often caps real throughput. [Read the full answer](https://www.broadnet.me/answers/what-is-smpp-window-size)
3. 3 Receive delivery receipts Delivery receipts arrive asynchronously as deliver_sm PDUs on the same socket and are matched back to the original message by message_id. [Read the full answer](https://www.broadnet.me/answers/smpp-protocol)
4. 4 Keep the session alive An enquire_link heartbeat every 30 seconds keeps the bind up, the client reconnects with exponential backoff, and unbind closes the session cleanly. A failed submit returns a numeric command_status to decode. [Read the full answer](https://www.broadnet.me/answers/smpp-protocol)

## Key terms

Each term has its own answer page with the full explanation.

- [What is SMPP? SMPP (Short Message Peer-to-Peer) is the open-protocol standard for exchanging SMS between SMSCs, ESMEs (External Short Message Entities), and aggregators.](https://www.broadnet.me/answers/what-is-smpp)
- [How does the SMPP protocol work? SMPP (Short Message Peer-to-Peer) is the open TCP protocol that carries A2P SMS between an application — the ESME — and a mobile operator's SMSC.](https://www.broadnet.me/answers/smpp-protocol)
- [What is an ESME? ESME (External Short Messaging Entity) is the SMPP term for any application outside the SMSC that submits or receives SMS.](https://www.broadnet.me/answers/what-is-esme)
- [What is an SMSC? An SMSC (Short Message Service Center) is the core infrastructure component of a mobile network that stores, forwards, and delivers SMS messages between mobile devices and external applications.](https://www.broadnet.me/answers/what-is-smsc)
- [What is SMPP window size? The window is the number of SMPP PDUs an ESME may have in flight — submitted but not yet acknowledged — on a single bind at any moment.](https://www.broadnet.me/answers/what-is-smpp-window-size)
- [SMPP 3.4 vs SMPP 5.0 — what changed and what to use SMPP 3.4 (1999) is still the SMS interconnect protocol that runs almost every A2P bind in production today.](https://www.broadnet.me/answers/smpp-3-4-vs-5-0)
- [What is a DLR (Delivery Receipt)? A DLR is the asynchronous confirmation that an SMS has been delivered (or failed to deliver) at the handset.](https://www.broadnet.me/answers/what-is-dlr)
- [What is TPS (Transactions Per Second)? TPS (transactions per second) — also called MPS or send rate — is the throughput ceiling of a messaging bind or account: how many SMS submit_sm PDUs the SMSC accepts per second before it returns throttling errors.](https://www.broadnet.me/answers/what-is-tps)
- [TLS 1.3 in messaging — what changed and why it matters for SMPP TLS 1.3 (RFC 8446, 2018) replaced TLS 1.2 with a faster handshake, removed every algorithm that had been broken in the previous decade, and made forward secrecy mandatory.](https://www.broadnet.me/answers/tls-1-3-in-messaging)

## Guides and further reading

- [Reference SMPP protocol overview](https://www.broadnet.me/reference/smpp-protocol-overview)
- [Reference SMPP bind operations and session states](https://www.broadnet.me/reference/smpp-bind-operations)
- [Reference SMPP submit_sm: every mandatory field](https://www.broadnet.me/reference/smpp-submit-sm)
- [Reference SMPP command_status error codes](https://www.broadnet.me/reference/smpp-command-status-errors)
- [Guide SMPP Integration Checklist](https://www.broadnet.me/guides/smpp-integration-checklist)
- [Article The operating cost of an SMS integration: binds, webhooks and failure modes](https://www.broadnet.me/blog/smpp-vs-http-api-decision-guide)
- [Article SMS throughput and TPS planning: sizing SMPP binds for high-volume campaigns](https://www.broadnet.me/blog/sms-throughput-tps-smpp-bind-sizing)
- [Comparison SMS API vs SMPP](https://www.broadnet.me/compare/sms-api-vs-smpp)
- [Developer docs SMPP integration](https://www.broadnet.me/developers/smpp)
- [Tool SMPP Error Code Lookup](https://www.broadnet.me/tools/smpp-error-codes)

Related products

- [SMS API](https://www.broadnet.me/products/sms-api)
- [SMPP integration](https://www.broadnet.me/developers/smpp)
- [SMSC gateway](https://www.broadnet.me/operators/smsc-gateway)

## Frequently asked questions

### When should you choose SMPP over REST?

Choose SMPP when you sustain several hundred messages per second or need persistent binds (capacity per bind is agreed with your account team), run latency-critical OTP where every millisecond counts, or integrate into an operator/aggregator ecosystem that already speaks SMPP everywhere. Otherwise a REST SMS API (no fixed per-account rate limit at BroadNet) is simpler to run and delivers over the identical routes.

[Read the full answer](https://www.broadnet.me/answers/smpp-protocol)

### Should I use SMPP 5.0 for a new integration?

Almost never. Bind SMPP 3.4 over TLS unless a specific counterparty requires 5.0. The install base, tooling, and operator support all sit on 3.4, and 5.0 offers no deliverability advantage on commercial A2P routes.

[Read the full answer](https://www.broadnet.me/answers/smpp-3-4-vs-5-0)

### Does SMPP 5.0 deliver messages better than 3.4?

No. Deliverability is a function of the operator route, not the SMPP version. The things 5.0 improved (Unicode headers, billing TLVs) are typically handled at the application layer on top of 3.4.

[Read the full answer](https://www.broadnet.me/answers/smpp-3-4-vs-5-0)

### How do I send Arabic or emoji over SMPP 3.4?

Set data_coding to UCS-2 (0x08), or carry the body in a message_payload TLV. 3.4 handles Unicode content fine; you do not need 5.0 for it.

[Read the full answer](https://www.broadnet.me/answers/smpp-3-4-vs-5-0)

### What bind type and port should I use?

A transceiver bind over TLS is the standard for A2P — it sends submit_sm and receives DLRs on one socket. BroadNet offers SMPP 3.4 binds; the host, port and credentials are provided with your test access.

[Read the full answer](https://www.broadnet.me/answers/smpp-3-4-vs-5-0)

## More topics explained

- [A2P SMS explained](https://www.broadnet.me/explained/a2p-sms)
- [Sender ID explained](https://www.broadnet.me/explained/sender-id)
- [OTP verification explained](https://www.broadnet.me/explained/otp-verification)
- [SMS firewall explained](https://www.broadnet.me/explained/sms-firewall)
- [WhatsApp Business API explained](https://www.broadnet.me/explained/whatsapp-business-api)
