Operating system name and version: Ubuntu 16.04.6
Version of smsd: 3.1.15
Smsd installed from: package repository
Name and model of a modem / phone: MultiTech MTC-H5
Interface: USB

The MTC-H5 creates /dev/ttyACM{0-5} where only ACM0 and ACM3 responds to AT-commands.

Here's my simple smsd.conf:

devices = GSM1
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
logfile = /var/log/smstools/smsd.log
infofile = /var/run/smstools/smsd.working
pidfile = /var/run/smstools/smsd.pid
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent
stats = /var/log/smstools/smsd_stats
loglevel = 7
receive_before_send = no
autosplit = 3

device = /dev/ttyACM0
incoming = no
phonecalls = no
hangup_incoming_call = yes
baudrate = 115200
'smsdconf' Syntax Highlight powered by GeSHi

After a few hours of good working operation, /dev/ttyACM0 disappears!

I found that I can still use /dev/ttyACM3.
If I run AT+CFUN=0 then ATCFUN=1 on /dev/ttyACM3, sometimes I get /dev/ttyACM0 back.
At other times, /dev/ttyACM{1..6} gets created where ACM1 and ACM4 responds to AT-commands.

Has anyone encountered this before?
Is this normal modem behavior where I need some "init" settings and external scripts to manage?
I'd appreciate if someone can share their settings on this or similar modem.