CLI Client


Built on the same SMPP protocol stack as the JSLEE SMPP service, the SMPP client is a command line interface for sending SMS messages over SMPP. The client provides also a simple load testing system.

The SMPP CLI client is not distributed by default with the JSLEE system, but may be provided by N-Squared Support as required.


To execute:

java -jar /path/to/smpp_client.jar <options>

The available options are:

Field Type Required? Default Description
String No The IP address or hostname of the SMPP server to connect to.
Integer No 4001 The TCP port to connect to the SMPP server on.
String No - The SMPP system_id to use when connecting to the SMPP server.
String No - The SMPP password to use when connecting to the SMPP server.
String No 12345 The SMPP source_addr to use when sending SMS.
String No 67890 The SMPP “To” address - i.e. the phone number the SMS is being sent to.
String No Hello world Ḽơᶉëᶆ ȋṕšᶙṁ The SMPP message to send.
Integer No 8 The data coding value to send in SMPP messages created. Will be interpreted by the far end in order to decode the message text.
String No ucs2 The SMPP encoding scheme to use to encode the message (and decode any returned text).
Flag No Not set If set, SMPP messages created will be much larger in size.
String No 0 If set to a value other than 0, this is the number of seconds to run for to find the maximum load. New messages will only be sent if the backlog is not full.
Integer No 1000 The maximum amount of outstanding messages allowable when running under load. Once reached, no new messages will be sent until responses are received.
Flag No Not set If set, the client will remain open after sending messages until all responses have been received.
Flag No Not set Show usage information and exit.


Like the JSLEE server process, the command line client responds to logback configuration files for logging. A simple logback configuration file for debugging output might be:


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <pattern>%highlight(%d{HH:mm:ss.SSS} [%-25thread] %-5level %-30logger{0} - %msg%n)</pattern>

    <root level="DEBUG">
        <appender-ref ref="STDOUT" />

Changing DEBUG to INFO will stop debugging messages from being printed. To pass the logback configuration file location through to the process, use the following syntax:

java -Dlogback.configurationFile=/path/to/logback.xml -jar smp_client.jar ...