SMPP stands for Short Message Peer to Peer. It is a communication protocol designed for transfer of short messages between short message centre and SMS application.

All the software presented here is distributed under Logica Open Source License Version 1.0 and is available from our download page.
In general, you can download the source code of the library and other applications as well and look how we've done what we've done. You can freely modify the source code and further distribute it with or without your application. You can tell us what you've changed and we will include your improvements to the future release. Please, read the detailed license.

28/11/2001   NEW    Version 1.3 of the Java SMPP Library, with bug fixes and few improvements. You can also download the Javadoc documentation as gzipped tar file so you can use the Javadoc locally from your computer after unpacking. See related sections.

The Java SMPP Library

The SMPP Library is set of classes for communication with SMSC using SMPP protocol. Our SMPP Java library implements version 3.4 of the SMPP protocol.

 NEW    The version 1.3 of the library was released on 28/11/2001. See the list of changes on the download page, from where you can also download the previous versions (not recommended :-).

The SMSC Simulator

The version 1.1 was released on 12/10/2001. See the list of changes on the download page.

The Simulator is an application for near-to-live testing of your SMPP applications without need of access to real SMSC. The application behaves as a real SMSC with SMPP interface, your application can bind to it, send messages, unbind etc., however nothing will get delivered anywhere as all the responses are only made-up by the Simulator. The Simulator also supports multiple connection; the authentication information is stored in user configuration file users.txt.
You can download the source code as well, so you can customize it as much as you need (and fix bugs :-) )

The SMSC Simulator is written in Java. To communicate with clients the version 1.1 of the Simulator uses version 1.2 of the SMPP Library.

Considering that smpp.jar and smscsim.jar files are in the current directory, you can run the Simulator by executing the following command:

   java -cp smpp.jar:smscsim.jar com.logica.smscsim.Simulator

Use proper pathnames if your jar file(s) are located somewhere else.
Please note that under Windows you have to use semicolon (;) to delimit pathnames in the -cp argument.

The Java test application

The version 1.1 was released on 12/10/2001. See the list of changes on the download page.

This application shows you how to use our Java SMPP library. It shows how to bind to SMSC, how to send different types of messages (PDUs) to the SMSC (submit, data, cancel etc.), receive a message from SMSC and finally unbind.

If you are new to SMPP it's wise to use this test application together with our SMSC Simulator so that you don't need to bind to the real SMSC. However, this test application will correctly communicate with the real SMSC as well.
You can use the SMSC Simulator as another example of use of the library.

Considering that smpp.jar and smpptest.jar fileas are in the current directory, you can run the test application by executing the following command:

   java -cp smpp.jar:smpptest.jar com.logica.smpp.test.SMPPTest

Use proper pathnames if your jar file(s) are located somewhere else.
Please note that under Windows you have to use semicolon (;) to delimit pathnames in the -cp argument.

For your convenience, most parameters and values sent with PDUs to the SMSC are configurable via text configuration file smpptest.cfg, which is included with the test application.

Next to come

  • SMS Server
    Similar to the SMSC Simulator, this application will have SMPP interface and it will allow bind, send messages, unbind etc. The difference is that the SMS Server will really perform the required commands using mobile device(s) connected to the COM port(s) of your PC.
    Ideally, the server will be able to handle multiple client connections on one side and multiple mobile phones from different vendors and with different operators on the other side.
  • XML interface
    Interface for sending and receiving SMS using SMPP DTD based XML documents. Single interface function for passing of the SMPP XML formatted documents will be provided plus callback for receiving responses from SMSC.
    Probably higher level of abstraction will be chosen rather than mimicking the SMPP commands/parameters using XML. XML interface will be a separate library sitting on top of the SMPP library and it will utilize one of the third party open source XML parsers.
    (Little delayed...)

If you have any comment or if you find a bug in any piece of code provided here or if you would like any improvement to be made, please contact us on OpenSmppSupport@logica.com.

This software was developed in Strategic Research & Development department of Logica Mobile Networks, Ireland.