Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 64 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,73 @@

[Try Restcomm Cloud NOW for FREE!](https://www.restcomm.com/sign-up/) Zero download and install required.
=======
Cloudhopper SMPP by Fizzed (forked from Twitter)
================================================

[![Build Status](https://secure.travis-ci.org/fizzed/cloudhopper-smpp.png?branch=master)](http://travis-ci.org/fizzed/cloudhopper-smpp)

All Restcomm [docs](https://www.restcomm.com/docs/) and [downloads](https://www.restcomm.com/downloads/) are now available at [Restcomm.com](https://www.restcomm.com).
Sponsored by
------------

Cloudhopper-SMPP is proudly sponsored by <a href="https://www.greenback.com">Greenback</a>. We love the service and think you would too.

<a href="https://www.greenback.com?utm_source=github.com&utm_medium=sponsorship&utm_campaign=fizzed-cloudhopper-smpp" title="Greenback - Expenses made simple"><img src="https://www.greenback.com/assets/images/logo-greenback.png" height="48" width="166" alt="Greenback"></a>

<a href="https://www.greenback.com?utm_source=github.com&utm_medium=sponsorship&utm_campaign=fizzed-cloudhopper-smpp" title="Greenback - Expenses made simple">More engineering. Less paperwork. Expenses made simple.</a>

Overview
------------------------

Efficient, scalable, rock-solid, and flexible Java implementation of the Short
Messaging Peer to Peer Protocol (SMPP).

Twitter exclusively relies on this library for its global SMS infrastructure.

* Real-world used library by Twitter across nearly every SMSC vendor and
mobile operator around the world. We've seen almost every variance in the
SMPP protocol and this library handles it flawlessly.
* Rigorous unit testing
* Support for SMPP protocol:
* Version 3.3
* Version 3.4
* Most of version 5.0
* Uses non-blocking (NIO) sockets (via underlying Netty dependency, one thread
can support 1 or more SMPP sessions)
* Can support thousands of binds/connections using minimal resources and threads
* Supports both client and server modes of the SMPP protocol (yes you can
write your own SMPP server using this library as well as be a client to one)
* Supports synchronous request mode (send request and block until response
received)
* Supports asynchronous request mode (send request, get a future response,
and then decide when you'd like to wait/get a response)
* Advanced support for SMPP "windowing":
* Configurable window size per session
* Waiting for a window slot to open up
* Get a list of unacknowledged/in-flight PDUs if session disconnects
* SSL/TLS support for clients and servers
* Configurable support for expiry of unacknowledged PDUs
* Configurable counter metrics per client-session, server-session, or server.
* Support for sniffing/logging/discarding of PDUs before normal processing

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.

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 to found Fizzed, Inc. As of Nov 2015,
[Fizzed, Inc](http://fizzed.com) is the official maintainer of the library.
If you're looking for commercial support, please contact [Fizzed](http://fizzed.com).

- Joe Lauer (Twitter: [@jjlauer](http://twitter.com/jjlauer))

Installation
------------

Library is available via maven central. For netty-3 and a stable version:

Cloudhopper SMPP by Fizzed (forked from Twitter)
================================================

[![Build Status](https://travis-ci.org/RestComm/cloudhopper-smpp.svg?branch=master)](https://travis-ci.org/RestComm/cloudhopper-smpp)

Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/cloudhopper/smpp/SmppConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ public class SmppConstants {
public static final short TAG_DEST_SUBADDRESS = 0x0203;
public static final short TAG_CALLBACK_NUM = 0x0381;
public static final short TAG_MESSAGE_PAYLOAD = 0x0424;
public static final short TAG_IMSI = 0x057B;
public static final short TAG_NNN_DIGITS = 0x57C;
public static final short TAG_NNN_TON = 0x57D;
public static final short TAG_NNN_NPI = 0x57E;
// SC Interface Version
public static final short TAG_SC_INTERFACE_VERSION = 0x0210;
// Display Time
Expand Down Expand Up @@ -600,6 +604,10 @@ public class SmppConstants {
TAG_NAME_MAP.put(TAG_DEST_SUBADDRESS, "dest_subaddr");
TAG_NAME_MAP.put(TAG_CALLBACK_NUM, "callback_num");
TAG_NAME_MAP.put(TAG_MESSAGE_PAYLOAD, "message_payload");
TAG_NAME_MAP.put(TAG_IMSI, "imsi");
TAG_NAME_MAP.put(TAG_NNN_DIGITS, "nnn_digits");
TAG_NAME_MAP.put(TAG_NNN_TON, "nnn_ton");
TAG_NAME_MAP.put(TAG_NNN_NPI,"nnn_npi");
TAG_NAME_MAP.put(TAG_SC_INTERFACE_VERSION, "sc_interface_version");
TAG_NAME_MAP.put(TAG_DISPLAY_TIME, "display_time");
TAG_NAME_MAP.put(TAG_MS_VALIDITY, "ms_validity");
Expand Down