Coder Social home page Coder Social logo

smpp-test's Introduction

SMPP Test Tools
===============

1. Introduction
---------------

SMPP stands for Short Message Peer-to-peer Protocol. 

This repository contains the Java source for a pair of simple test
tools, designed to allow the sending and receiving of SMPP PDUs. These
tools are based on the OpenSMPP API.

One tool is GUI based and allows the entry of PDU data via a series of
data entry screens. The other is a batch tool that sends a scripted
sequence of PDUs, as specified in an XML file.


2. Licensing
------------

This software is released under the GNU General Public License version
2.0 (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html) or later
(https://www.gnu.org/licenses/licenses.html).


3. Requirements
---------------

These tools require Java6, gradle, OpenSMPP
(https://www.gnu.org/licenses/licenses.html) and JDOM
(http://www.jdom.org/).


4. Building
-----------

gradle jar


5. The GUI test tool
--------------------

Usage: java -cp "$HOME/.m2/repository/org/opensmpp/opensmpp-core/3.0.1-SNAPSHOT/opensmpp-core-3.0.1-SNAPSHOT.jar:$HOME/.m2/repository/org/jdom/jdom/1.1.3/jdom-1.1.3.jar:build/libs/SMPP-Test.jar" uk.org.youngman.smpp.test.gui.TestClient

This launches a simple window. Clicking the "Connect" button launches
the connect dialog. Filling in the server details and clicking the
"Confirm" button connects to the SMSC. Once connected the "Send PDU"
and "Disconnect" buttons are activated.

The GUI tool can read default connection and login (bind) details from
file Test.properties, if that is on the class path.

The "Send PDU" button launches a PDU composition dialog. After
selecting a PDU type the fields can be filled in as required. Sequence
numbers increment automatically, but can be altered if required.

On the main window there are 2 checkboxes that control whether
ENQUIRE_LINK and DELIVER_SM PDUs are automatically acknowledged. While
these checkboxes are selected those PDUs will be acknowledged with the
status ESME_ROK.

All PDUs sent and received are logged in the log pane in the centre of
the main window. Double clicking on a PDU entry opens up a read only
PDU dialog to display the Contents of the PDU as sent or received.


6. The Batch test tool
----------------------

Usage: java -cp "$HOME/.m2/repository/org/opensmpp/opensmpp-core/3.0.1-SNAPSHOT/opensmpp-core-3.0.1-SNAPSHOT.jar:$HOME/.m2/repository/org/jdom/jdom/1.1.3/jdom-1.1.3.jar:build/libs/SMPP-Test.jar" uk.org.youngman.smpp.test.batch.BatchClient batch_example.xml batch.log

The batch test tool supports scripted SMPP testing. It reads an XML
file with instructions on where to connect, what PDUs to send, whether
or not to automatically acknowledge ENQUIRE_LINK and DELIVER_SM PDUs
and pauses. It writes details of all PDUs sent and received to a log
file.

If it detects any errors while parsing the XML, it will not try to
continue. The XML is not validated against a schema, so not all
errors will be detected.

A simple batch example is provided, which will need to be edited to
your requirements. It is not documented, but I hope it is resonably
self explanatory, given a basic familiarity with SMPP.


7. Limitations
--------------

These tools do not currently provide any way to change the character
sets used from the OpenSMPP defaults without code changes.

There is no way to alter automated responses where these are used or
to make the response conditional on the contents of the received
PDU. Automated responses are currently only available for ENQUIRE_LINK
and DELIVER_SM PDUs.


Neil Youngman, 20th January 2011.

[email protected]

smpp-test's People

Contributors

rofrol avatar smpptest avatar

Watchers

 avatar  avatar  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.