SMPP protocol

Short message peer-to-peer protocol (SMPP) — protocol, which defines inter-operation between end client and SMS-server (SMSC).
It's used to transmit SMS and USSD messages, usually in systems with VAS.

SMPP was developed by Aldiscon company from Ireland, which later has been acquired by Logica.
In 1999 SMPP has moved under control of SMPP Developers Forum, later renamed to SMSForum.

Protocol is based on exchange of PDU (protocol data units) which are transmitted on 4 OSI level (TCP/IP sessions or X.25 SVC3).
PDU have binary representation to enhance transmitting efficiency.

Packet exchange can occur either synchronously (after sending message exchange is suspended until answer is received) or asynchronously (messages are sent without delays, responses handling occurs as soon as they arrive).
Smartswitch support asynchronous message exchange mode to support big amount of messages per second.

SMSForum publishes protocol specification.
Until recently the last published specification was SMPP 3.4, and specification SMPP 5.0 belonged to Logica for a long time.
However nowadays it's also available.
Smartswitch at this moment supports specification SMPP 3.4.

Each SMPP connection could be configured in one of following modes:

These modes map to Smartswitch dial-peers as follows:

Also for SMPP connection of a pair of nodes, you need to configure master and slave nodes:

Usually originator in Smartswitch is SMSC, and terminator is ESME.
However, similarly to SIP protocol with registration, various schemes are possible.

After successful message delivery to end user (or in case if it's impossible to deliver a message) terminator send to originator a Delivery receipt.
To accept a delivery receipt connection should be done in TRX mode.

Supported transport protocols:

SMPP technology allows to implement following business solutions:

See also:

Русский перевод