First of all, before plunging into the topic of SMPP, some topics had to be made clear regarding in which sense it is being used. SMPP stands for Short Messaging Peer-to-Peer protocol. The name Short Messaging implies that this is related to SMS. SMS is used to send/receive messages to/from SMSC (Short Messaging Service Center) and Mobile Stations. But what happens when we want to send/receive messages to/from an External Short Messaging Entity? For that purpose, it is essential that we make use of an SMSC protocol. These SMSC protocols are developed by SMSC vendors, which makes them proprietary. SMPP is one such protocol developed by Logica CMG.
A Definition for SMPP :
The Short Message Peer-to-Peer(SMPP) is an open, industry standard protocol designed to provide a flexible data communications interface for transfer of short message data between a Message Center.
The most recent version of SMPP is SMPP v5.0 which was initially developed by the SMS Forum, but afterwards handed over to Aldiscon to be owned, due to the disbandment of the Forum.
Typical Applications of the SMPP include,
- Mobile Commerce
- Mobile Banking
- E-Mail Gateway
- Information Service
- Notification/Security Application
- Cell Broadcast
- Directory Service
- Telemetry Application
- SMS Chat
- Polling Application
- Gaming quiz
An overview of the protocol could be presented as follows:
Short Message Peer-to-Peer(SMPP) is an open message-transfer protocol that enables Short Message Entities(SMEs) outside the mobile network to interface with an SMSC. Non-mobile entities that submit messages to or receives messages from an SMSC are known as External Short Message Entities (ESMEs).
The protocol is based on a request and an associated response model(except for some situations). It defines a set of operations and Protocol Data Units(PDUs) and Data.
PDUs are the TCP packets between the ESME and the SMSC. For example, Session Management PDU is responsible for Connection, Disconnecting and keeping the connection alive. SMPP PDUs have a mandatory PDU Header with command_length, command_id, command_status and a sequence_number. Some PDUs have no PDU Body and some do not have any Optional parameters.
There can be three Message exchange modes of ESME once the the connection is established with the SMSC using SMPP.
- Messages sent from the ESME (Transmitter) to the SMSC
- Messages sent from the SMSC to the ESME (Receiver)
- Messages sent from the ESME (Transceiver) to the SMSC and Messages sent from the SMSC to ESME (Transceiver)
Once a session is initiated by ESME there can be many states i.e. OPEN-Network connection established, BOUND_TX- ESME issuing a bind-transmitter PDU,BOUND_RX- ESME issuing a bind-receiver PDU, etc.
Error handling in SMPP can be explained as follows:
- Response should be received in a specified interval time(transaction time)
- Response have a Non-zero command_status
- If an error found on PDU Header generick_nack PDU should be sent
SMPP timers to monitor proper timings include,
- Session initiation timer
- Session timer(enquire link timer)
- Inactivity timer
- Transaction timer(response timer)
Wow, through the SMPP connectivity into your business, you can exchange thousands of text messages at once. SMPP supports high throughput will enable every business to send notifications, reminders and other alerts in seconds. SMPP SMSC SMS Server Provider
ReplyDelete