This chapter will describe basic ways of using SMSD. It’s use is not limited to these, but they can give you overview of SMSD abilities.
The standard mode of operating SMSD. You simply configure backend service, and all received messages will end up in it and any message you put into outbox storage will be sent.
Creating of messages to send heavily depends on service backend you use. Most of them support gammu-smsd-inject, which can be used to construct the message, or you can just insert message manually to the backend storage.
Alternatively you can use SMSD_InjectSMS() (from C) or using gammu.smsd.SMSD.InjectSMS() (from Python).
Once SMSD receives message and stores it in backend service, it can invoke your own program to do any message processing, see RunOnReceive Directive.
You can use gammu-smsd-monitor to monitor status of SMSD. It uses shared memory segment to get current status of running SMSD.
Alternatively you can get the same functionality from libGammu using SMSD_GetStatus() or python-gammu using gammu.smsd.SMSD.GetStatus().
Please report bugs to <https://github.com/gammu/gammu/issues>.
Before reporting a bug, please enable verbose logging in SMSD configuration:
[smsd]
debuglevel = 255
logfile = smsd.log
and include this verbose log within bug report.