Table of Contents

Sending Commands and Getting Responses

SMPP is based on the exchange of request and response protocol data units (PDUs) between the SMPP-client (ESME) and the SMPP-server (SMSC) over an underlying TCP/IP network connection.

The SMPP protocol defines:

  • a set of operations and associated Protocol Data Units (PDUs) for the exchange of short messages between an SMPP-client and an SMPP-server
  • the data that an SMPP-client application can exchange with an SMPP-server during SMPP operations

Sending Commands

The SMPP-client is ready to exchange commands with SMPP-server right after establishing connection and successful bind (authentication).

All commands and responses are transmitted as PDUs. The command name is specified in the PDU header.

For example, the command SubmitSm serves for sending messages from SMPP-client to an SMPP-server and DeliverSm command serves for sending messages from SMPP-server to SMPP-client. There are commands for authentication, binary data transmission and many more described in the SMPP protocol specification.

When you call a method, the Inetlab.SMPP library automatically forms PDUs with respective SMPP-commands and other data inside. If needed, devlopers can form any PDU manually.

Getting Responses

Command responses contain important information. By analyzing responses you can figure out if SMPP-server accepted the message for delivery, is there a connection active, was authentication successful and other.

Please note: Every SMPP operation must consist of a request PDU and associated response PDU. The receiving entity must return the associated SMPP response to an SMPP PDU request.