Gammu SMS Daemon is a program that periodically scans GSM modem for received messages, stores them in defined storage and also sends messages enqueued in this storage.
The interactions of SMS Daemon and related components can be seen on following picture.
digraph smsdinteractions { "gammu-smsd-inject" [shape=box]; "gammu-smsd" [shape=box]; "Run on receive" [shape=box, style=dotted]; "GSM modem" [shape=box, style=dashed]; "gammu-smsd-monitor" [shape=box]; "Service\nstorage" [shape=doublecircle]; "Kalkun" [shape=box, style=dotted]; "gammu-smsd" -> "GSM modem" [label="Outgoing"]; "GSM modem" -> "gammu-smsd" [label="Incoming"]; "gammu-smsd" -> "Service\nstorage" [label="Save"]; "Service\nstorage" -> "gammu-smsd" [label="Read"]; "gammu-smsd" -> "Run on receive" [label="Execute"]; "Service\nstorage" -> "Run on receive" [label="Read"]; "Kalkun" -> "Service\nstorage" [label="Inject"]; "Service\nstorage" -> "Kalkun" [label="Read"]; "gammu-smsd-inject" -> "Service\nstorage" [label="Inject"]; "gammu-smsd" -> "gammu-smsd-monitor" [label="Monitor"]; }
The SMSD operation consist of several steps.
Process command line options.
Configure backend service.
Backend service is freed.