Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java SMPP library comparison

Tags:

We're about to begin a project which requires the use of SMPP as the primary integration exchange channel. Now since SMS isn't necessarily core to our business, I'd like to use an SMPP library for Java that will be the least hassle. Aside from riding on the actual protocol, its unlikely we'll need fancier abilities or to ever tweak under the hood.

To that end, I've shortlisted some of the possible options that we have:

  • Logica's Open SMPP
  • Apache's Camel
  • JSMPP
  • Twitter's Cloudhopper

Can someone who's more experienced in their uses throw some of their experiences my way ?

EDIT: Just to give scope to the use cases, we'll be both sending and receiving SMS'es so the library should hopefully make life easy with both client action and also server listener implementation.

like image 774
Michael Avatar asked Jan 16 '13 21:01

Michael


2 Answers

I have used both jSMPP and cloudhopper-smpp for separate projects which involved sending and receiving SMS's over smpp in circumstances which involved:

  • Receiving medium-high number of MOs.
  • Sending high number of MTs (up to 70/second).

Both the libraries fared well, and IMO jSMPP is more user-friendly to jump in and start coding right away. But I had came across a few bugs while using the latest version from GitHub, which still remain unfixed.

After having used cloudhopper, I reckon it is well worth the learning curve, which is a wee bit steep compared to jSMPP (subjective).

like image 118
Farhan Avatar answered Sep 16 '22 17:09

Farhan


Just an updated to what I finally decided (and how libraries reviewed):

  1. Logica: Seems promising but I was concerned about the lack of updates/activeness of the community in general. The last meaningful build was yonks ago so not really an investment I wanted to make.

  2. Apache Camel: We started off using this but there were some limitations to their library (we needed to insert custom heads to our SMPP packets). To be fair they were fairly prompt in responding to issues on their forums but their build cycles took a little too long for my sprints, so we scratched this.

  3. JSMPP: This is the one we ended up using. Was pretty straightforward overall tho it did feel like it expected you to already have a fairly good idea of SMPP in general. Things are in staging so I can't tell you how it performs under production load. Will update when it goes live.

  4. Cloudhopper: To be honest this was the one I was keen to use but more because like any geek I wanted to jump on the shiniest newest toy available. I didn't really get adequate responses to any queries we made from the off so was apprehensive to get on board. No reason to adopt a library that will require me to wade thru their codes when other more documented options were available.

like image 36
Michael Avatar answered Sep 19 '22 17:09

Michael