Skip to main content

SMSWithoutBorders Gateway clients

Gateway Client is a linux SMS management Gateway. It can both receive and send out SMS messages using the Linux ModemManager utilities. It is aimed at being a complete toolset of everything SMS linux. It functions best with USB 2G/3G Modems

What you'll learn
  • How to setup and use Gateway Clients

The most recent version of this guide can be found in the github reposistory

Installation and Configuration

Installation

Installing required Dependencies

  • python3

Dependencies

Ubuntu

sudo apt install build-essential libpython3-dev libdbus-1-dev

sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0

sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev python3-venv

Arch

sudo pacman -S python-gobject gtk3

sudo pacman -S python cairo pkgconf gobject-introspection gtk3

Build and install

Clone the repository

git clone https://github.com/smswithoutborders/SMSWithoutBorders-Gateway-Client.git
cd SMSWithoutBorders-Gateway-Client

Create your config files

make

Install more dependencies

make install

Configuration

Your clusters require a server to communicate with, and you will need to point to this in your configuration files.

[OPENAPI]
API_ID=<insert your server username here (same as an Afkanerd developer Auth ID)>
API_KEY=<insert your server password here (same as an Afkanerd develper Auth Key)>
CONNECTION_URL=developers.smswithoutborders.com

Running as system service

Linux
make start
  • To auto start on bootup
make enable
To view all running logs
tail -f src/services/logs/service.log

Running manually

Linux
  • To run the outgoing (send out SMS messages)
    • Plug in your USB modem
    • Activate your virtual environment
    source venv/bin/activate
    • For outgoing OpenAPI messages:
    python3 src/main.py --log=DEBUG --module=outbound
    • To run the incoming (receive and process incoming messages)
    python3 src/main.py --log=DEBUG --module=inbound
Logs -

systemd

Inbound
journalctl -af -u swob_inbound.service
Outbound
journalctl -af -u swob_outbound.service

Sending out SMS messages Using OpenAPI

With OpenAPI, you can send out single and bulk SMS messages through the Gateway Client. After the gateway client as a system service or manually, you are good to start sending out SMS messages.

Setting up on Raspberry pi (tested on 4B)

Ubuntu Server

Refs

https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#4-boot-ubuntu-server
https://itsfoss.com/connect-wifi-terminal-ubuntu/