1. some modems (like my Ericsson E3507g) require a modem init off command just like modem init startup. For example I send "AT+CFUN=1" to turn it on and "AT+CFUN=4" to turn it off. So, I'd like to have the option to set init command to turn modem off as well.
What do you mean with require
, I think that switching a modem off is not mandatory. If a modem, when smsd is not running, is still registered to the network and SIM is still active, the modem will receive messages until the SIM is filled up. After this, no more messages are accepted from the network until smsd is started again and messages are read from the SIM.
However, it's not very difficult to implement "turn on" and "turn off" functionality to the smsd code. With some modems (Wavecom) the existing init string cannot be used with AT+CFUN=1 because the modem will re-register even if it was already registered. With Telit this does not cause problems.
In the next version I can include the following settings:start = command(s) to send to the modem when the devicespooler is starting
start_delay = number of seconds to wait after start commands are sent
stop = command(s) to send to the modem when the devicespooler is stopping
If you can compile smsd from the sources and need very much this kind of functionality, I can publish a temporary patch for version 3.1.5.
2. On windows, demanding reports work just fine. However, I could not manage to retrieve any reports so far, even the necessary option was in place. I am willing to test ideas for this.
You mean sms-deliver messages which are routed directly to the TE using the unsolicited result code +CMT, right? In some cases those messages are detected and handled by the smsd, but it is possible that routed messages cause troubles and are lost. Because of this, all messages should be saved into the memory (SIM or ME).
3. I am running this as a previliged user on a gentoo machine and the sendsms script did not work at all due to permission problems. Instead of trying to change the ownership of the msg file as it is in this script, I put
chgrp sms $TMPFILE
chmod g+rw $TMPFILE
where sms is the primary group of the running user smsd.
The current script sendsms only works when it's run by the root. All other usage needs some changes which are depended on the system. However, in the next version I may change it to use a group based handling of ownership like you have done.