Skip to content

thivigit/smscsim_smpp_java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smscsim

Lightweight, zero-dependency and stupid SMSc simulator.

Usage

  1. Run as simple java (21) program
cd src
javac smscsim/*.java
java smscsim.Main
  1. or build and start with docker-compose
docker-compose up
  1. or use prebuild docker image (from hub.docker.com)
docker run -p 2775:2775 -p 12775:12775 ukarim/smscsim

then, just configure your smpp client to connect to localhost:2775

Features

Delivery reports (DLR)

If it was requested by submit_sm packet, delivery receipt will be returned after 2 sec with a message state always set to DELIVERED.

MO messages

Mobile originated messages (from smsc to smpp client) can be sent using special web page available at http://localhost:12775 . MO message will be delivered to the selected smpp session using a deliver_sm PDU.

Warning

  • simulator implements only a small subset of the SMPP3.4 specification and supports only the following PDUs:
    • bind_transmitter, bind_receiver, bind_transceiver
    • unbind
    • submit_sm
    • enquire_link
    • deliver_sm_resp
  • simulator does not perform PDU validation

Env variables

  • SMSC_PORT - override default smpp port
  • WEB_PORT - override default web port
  • FAILED_SUBMITS - if this is set to true, submit_sm requests will fail
    • for submit_sm with even sequence number smscsim will return submit_sm_resp with command_status set to 0x00000008 (System Error)
    • for submit_sm with odd sequence number smscsim will return DLR with UNDELIVERABLE message state

About

smpp smsc simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 98.1%
  • Dockerfile 1.9%