Metadata-Version: 2.1
Name: smpp_gateway
Version: 1.2.2
Summary: SMPP gateway for RapidSMS projects; based on python-smpplib.
Home-page: https://github.com/caktus/rapidsms-smpp-gateway
Author: Caktus Group
Author-email: team@caktusgroup.com
License: MIT
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.2
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
License-File: LICENSE
Requires-Dist: RapidSMS>=2.0
Requires-Dist: smpplib>=2.2
Requires-Dist: psycopg2>=2.8
Requires-Dist: django<5.0,>=3.2

# rapidsms-smpp-gateway

A [RapidSMS](https://rapidsms.readthedocs.io/en/latest/) SMPP gateway.

## Management commands

### `smpp_client`

Start an SMPP client instance:

```shell
python manage.py smpp_client smppsim
```

Example configuration using environment variables:

```shell
export PGDATABASE=libya_elections
export DATABASE_URL=postgresql://localhost/$PGDATABASE
export SMPPLIB_HOST=localhost
export SMPPLIB_PORT=2775
export SMPPLIB_SYSTEM_ID=smppclient1
export SMPPLIB_PASSWORD=password
export SMPPLIB_SUBMIT_SM_PARAMS='{"foo": "bar"}'
```

#### healthchecks.io support

An integration with healthchecks.io can be enabled by passing the `--hc-uuid` option or setting the `HEALTHCHECKS_IO_UUID` environment variables, for example:

```shell
export HEALTHCHECKS_IO_UUID=c0c6...
```

If enabled, the `smpp_client` management command will send a success ping to healthchecks.io for the configured check at most every minute from the main listen loop.

This functionality requires the [healthchecks-io](https://github.com/andrewthetechie/py-healthchecks.io) Python package.

### `listen_mo_messages`

Listen for mobile-originated (MO) messages:

```shell
python manage.py listen_mo_messages --channel new_mo_msg
```

## Publish

1. Update `setup.py` with the version number
2. Update `CHANGES.md` with release notes
3. Create a new release and tag on GitHub. A `publish` Github Actions workflow is configured to run on tag creation.
