#sms #client-server #smsc #esme

bin+lib smpp

SMPP protocol support (client and server)

4 releases

0.1.2 Jul 12, 2021
0.1.1 May 27, 2021
0.1.0 May 27, 2021
0.0.1 Feb 19, 2021

#13 in #sms

MIT/Apache

38KB
889 lines

rust-smpp

An SMPP library for Rust.

In early development: a basic framework for an SMSC is done, but many features required for a robust service are missing. See Issues.

See also: API docs and crates.io entry

Server application (SMSC)

First, install Rust.

To launch an SMSC:

cargo run

To find parameters that you can provide on startup, run:

cargo run -- --help

-- is what separates cargo arguments and binary arguments, so to provide a different bind address, run:

cargo run -- -b 0.0.0.0:23432

You can also provide parameters as environment variables as described in help:

BIND_ADDRESS=0.0.0.0:23432 cargo run

To launch with detailed logging:

RUST_LOG=DEBUG cargo run

Publishing releases

cargo update
vim CHANGELOG.md   # Set the version number
vim Cargo.toml     # Set the version number
cargo publish
git tag $VERSION
git push --tags

Reference documentation

Development focusses on SMPP v3.4, since that is in wide use. Docs:

Code of conduct

We follow the Rust code of conduct.

Currently the moderation team consists of Andy Balaam only. We would welcome more members: if you would like to join the moderation team, please contact Andy Balaam.

Andy Balaam may be contacted by email on andybalaam at artificialworlds.net or on mastodon on @andybalaam@mastodon.social.

License

rust-smpp is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

This project is developed in both my work and personal time, and released under my personal copyright with the agreement of my employer.

Dependencies

~8–19MB
~235K SLoC