Question

Has anyone dealt with the SMPP binary SMS protocol? I know this technology is still fairly widely used by the messaging aggregators and carriers, but it seems like the SMPP spec is not being updated, and support for SMPP libraries is slowly fading away. The "SMS Forum" (http://www.smsforum.net) was shut down in 2007.

To me, it feels like the protocol is dying in favor of web-service interfaces, but I was curious what other people think.

Was it helpful?

Solution

Since SMPP is used mainly by wireless operators, the answer to your question will depend a lot on what market/region/country you are dealing with.

I have experience with Latin American wireless companies, and can tell you that although more and more companies are hiding their SMPP servers behing HTTP webservices (that provide them more flexibility) the SMPP protocol is still a requirement to connect to a lot of Wireless companies, so it's definitely not dead.

And if you look inside those Wireless companies, the smpp protocol is very much alive in their internal networks and in the inter-connections with other carriers.

It's true that the SMPP spec hasn't changed in a long time, but that's not a bad thing actually. The protocol has matured, and there seems to be no interest from the carriers in expanding it to include new functionality, specially because they have found the flexibility they need in custom HTTP APIs

And regarding library implementations of SMPP, Kannel is in active development, although I wouldn't recommend it's use. Unfortunately most of the successful long-term implementations that I have seen of SMPP clients have been home grown implementations

OTHER TIPS

SMPP is a good protocol for simple message sending. I hope it doesn't die in favour of any HTTP-based protocols. I agree that the HTTP protocols would provide flexibility, however, it would likely mean a fat payload based on some variant of XML or some other text protocol, which would affect greatly performance/power-usage.

As long as SMPP is guided by the specs, it should be great to use.

We are still using it, unfortunately.

We also still use it but we are repacing it with HTTP protocol for new projects!

Ricardo Reyes' answer covered (https://stackoverflow.com/a/545651/467545) this question almost completely. Just adding my own experience in this matter.

Comment on binary messages

I work for a company that runs SMPP hub. We do handle business logic that handles binary SMS. The percentage is low, but they exist. Smartphones (iPhone, for example) can create binary SMS for long messages. We are seeing some use-cases.

Comment on SMPP spec

It is has been quite a few years that the SMPP spec has been updated. I have not seen any major carrier in the US to support SMPP 5.0 spec. Almost everywhere, it's SMPP v3.4. For me, the reasons are:

  • SMPP v3.4 meets most requirement. Companies have found their ways around the limitations.
  • The growth trend for SMS is flattening. It may not make sense to spend resources on this area. Even though SMPP v5.0 did not get much traction, no alternative is being developed.
  • Smart phone apps can use data plan to send SMS (not over SMPP) and bypass carriers' SMS communication channel. iPhone's iMessage is the biggest trend changer here.

Despite the declining growth trend, SMS over SMPP, being a core communication protocol, will probably continue live in the carrier space for few more decade. That's strictly my personal observation.

Comment on usages of SMPP

SMPP requires specific knowledge about the protocol, and it takes time and patience to acquire that knowledge. It probably influenced the rise of other alternatives.

I have seen that developers are leaning more and more towards HTTP based communication. The implementation is custom. I have seen:

  • HTTP communication using GET parameters. If synchronous acknowledgement is required, the call becomes a blocking, else a callback is used to report acknowledgement.
  • HTTP with using POST parameters. XML is being used to describe the SMS.
  • Web service

Some rarely used alternatives are:

  • SMTP. For sending from an entity.
  • IMAP. For receiving.

Although many SMS agregattors have HTTP APIs. I think SMPP is very useful when you want to do massive sendings, because it is a connected protocol.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top