SMPP Under the Microscope

February 26, 2010

How does routing work with messaging protocols like SMPP? What happens when you send a message and how does it get delivered?

Let’s kick off with a quick introduction to SMPP…

It’s short for Short Message Peer-to-Peer and refers to a protocol used to send Short Message Service messages (SMS messages) from an ESME (External Short Message Entity) to a mobile device or even another ESME. The latter refers to any fixed network SMS clients such as your server, a WAP proxy server, a voicemail server, etc.

So why should you use SMPP? If you’ve done a bit of homework you’ll realise that there exist a number of other protocols you can use to send SMS messages. These are accessible in the form of Application Programming Interfaces (API’s) that include HTTP/S, FTP, SOAP, XML, SMTP and COM objects.

But SMPP is more often than not favoured above (or used in conjunction with) these protocols due to its high-volume messaging capabilities and the fact that it isn’t subject to translation between the SMS gateway and the SMSC. However that’s just about the extent of the benefits as all protocols (or API’s) support reliable messaging.

Sending Messages with SMPP

So what happens when you send messages using SMPP? Let’s take a look:

  1. Using a TCP or X.25 connection, an SMPP session is established between your network and the SMS gateway.
  2. Now this connection can refer to either one or two virtual sessions: SMPP v3.3 requires a separate connection to send and receive. However, using the BIND_TRANSCEIVER field, it is possible to both send and receive using a single TCP or X.25 session.
  3. As soon as the connections are established, transmission commences in either synchronous or asynchronous mode. Here’s how they differ:
    1. Synchronous: Each peer has to wait for a response for each transmitted PDU (Protocol Data Unit)
    2. Asynchronous: The transmission of PDU’s and their corresponding responses occur in different threads.
  4. Now, once your message reaches the SMS gateway, it is translated into the correct protocol for further transmission. SMPP is seen as one of the de facto protocols for pre-SMSC message delivery, which means your messages are forwarded directly to the SMSC and are then translated into the correct format. However, if you’re using SMTP, then those messages are translated into SMPP before being forwarded to the SMSC.
  5. So now your messages are with the SMSC and are ready to be forwarded to the appropriate destination handset. Or, almost.

First it has to be determined where the destination handset is. This can either be done with a prefix lookup, or with an HLR (Home Location Register) lookup. This is done using the IMSI  and the MSISDN stored in the SIM of the destination mobile.

Seems pretty simple, doesn’t it? And it is, if you care to not look under the surface. In addition to the above, there are a host of other carrier-specific protocols that come into play. But that’s another blog for another time.

If you’re interested in learning more or signing up for this powerhouse protocol, simply follow the link to our SMPP page.

Related posts:

  1. FAQ: What Do You Need to Get SMPP Enabled? What do you need to implement SMPP as a messaging...
  2. SMPP for Quick and Reliable Message Delivery SMPP, or Short Message Peer-to-Peer, is an open message transfer...
  3. Festive SMPP Application As we enter the festive season, SMPP can play a...
  4. SMPP for the Economy Using SMPP to send out bulk SMS messages not only...
  5. Sniffing Out SMPP Responses Setting up SMPP to handle your messaging is all good...

Related posts brought to you by Yet Another Related Posts Plugin.

Tags: , , , ,

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

No Comments Yet

Join the Discussion