diff --git a/README.md b/README.md index 2c7fd8f1..4af8b1f1 100644 --- a/README.md +++ b/README.md @@ -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 Greenback. We love the service and think you would too. +Greenback + +More engineering. Less paperwork. Expenses made simple. + +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) diff --git a/src/main/java/com/cloudhopper/smpp/SmppConstants.java b/src/main/java/com/cloudhopper/smpp/SmppConstants.java index d29502cd..6cca140f 100644 --- a/src/main/java/com/cloudhopper/smpp/SmppConstants.java +++ b/src/main/java/com/cloudhopper/smpp/SmppConstants.java @@ -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 @@ -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");