While working on new Gammu documentation I came to need to include some graphs showing some workflows. Looking into Sphinx documentation (which is used for the documentation for Gammu), I've discovered nice integration with graphviz.
Fortunately it was pretty easy to learn the basics, though I've never used it before and here it comes - message processing workflows for SMSD.