Giter VIP home page Giter VIP logo

cloudhopper-smpp's Introduction

Cloudhopper SMPP by Twitter Build Status

cloudhopper-smpp

Efficient, scalable, and flexible Java implementation of the Short Messaging Peer to Peer Protocol (SMPP). This library supports the following SMPP protocol versions:

  • 3.3
  • 3.4
  • most of 5.0

This library's implementation takes advantage of non-blocking (NIO) sockets to support thousands of binds using minimal resources. It can be used to implement either the server, client, or both sides of the SMPP protocol. We use it internally at Twitter for both. Both synchronous or asynchronous request modes can be supported on an SMPP session. Clients and servers can use TLS/SSL to provide communication transport security.

The library has been tested and certified with hundreds of mobile operators and suppliers around the world. It's effective at being flexible with SMPP specifications that aren't truly compliant.

SMPP is notorious for having slight differences depending on the vendor. This library attempts to ensure that the internal PDU parser never breaks regardless of vendor.

Background and Contributors

This library was originally developed by Cloudhopper, Inc. in 2008. Cloudhopper was acquired by Twitter in April 2010. The main author of this library, Joe Lauer, left Twitter in April 2013. While folks at Twitter still contribute and maintain this library, Joe is now with Mfizz, Inc. Mfizz actively sponsors this project in conjunction with Twitter. If you have any commercial questions/ideas pertaining to this library, feel free to reach out to Mfizz.

Installation

Library versions >= 5.0.0 are now published to the Maven Central Repository. Just add the following dependency to your project maven pom.xml:

<dependency>
  <groupId>com.cloudhopper</groupId>
  <artifactId>ch-smpp</artifactId>
  <version>[5.0.0,)</version>
</dependency>

Demo Code / Tutorials

There are numerous examples of how to use various parts of this library:

src/test/java/com/cloudhopper/commons/util/demo

To run some of the samples, there is a Makefile to simplify the syntax required by Maven:

make client
make server
make performance-client
make simulator
make rebind
make parser
make dlr
make ssl-client
make ssl-server

On Windows, the examples can run with nmake instead of make.

The easiest way to get started is to try out our server and client or ssl-server and ssl-client examples. Open up two shells. In the first shell, run:

make server

In the second shell, run:

make client

You'll see the client bind to the server and a few different type of requests exchanged back and forth.

License

Copyright (C) 2010-2013 Twitter, Inc.

This work is licensed under the Apache License, Version 2.0. See LICENSE for details.

cloudhopper-smpp's People

Contributors

jjlauer avatar williamd1618 avatar caniszczyk avatar chadselph avatar nurkiewicz avatar stela avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.