Operating system : Ubuntu 12.04.5 LTS
Smsd version: v3.1.14
Smsd installed from: package repository
Name and model of a modem / phone: Wavecom
Interface: serial

I have a bank of 32 cheap modems that often have problems and need resetting from time to time. Sometimes the problem shows itself as a failure to register and I get messages such as the following in the log:

The problem is that there is a retry after 1 second, and this continues for ever, with each retry taking up smsd resources. What I need is:
- a longer interval between retries, and
- a maximum number of retries after which the modem is declared dead and ignored.

A slightly simplified version of my smsd.conf is:
devices = GSM1, GSM2, GSM3

logfile  = /var/log/smstools/smsd.log
loglevel = 5
smart_logging = yes

stats    = /var/spool/sms/stats
outgoing = /var/spool/sms/outgoing
checked  = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
infofile = /var/run/smstools/smsd.working
pidfile  = /var/run/smstools/smsd.pid
failed   = /var/spool/sms/failed
sent     = /var/spool/sms/sent

# error handling
errorsleeptime = 10
blockafter = 7
blocktime = 60

eventhandler = /home/smsd/sms_in.sh
regular_run = /home/smsd/sms_rr.sh
regular_run_interval = 300
user = smsd
group = dialout

regular_run_interval = 300
socket_connection_retries = 20
socket_connection_errorsleeptime = 20
socket_connection_alarm_after = 10

device = @

device = @

device = @
'smsdconf' Syntax Highlight powered by GeSHi

I would have thought that errorsleeptime = 10 would slow down the retries, but this is not happening. I have clearly misunderstood the configuration and the use of errorsleeptime. Is it because the messages I am getting (MODEM IS NOT REGISTERED) is not actually an error?

Also, should blockafter = 7 and blocktime = 60 have any impact in this situation? This is the type of functionality that I need, but they are having no effect if the problem is a registration failure.