1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2015 villy@sft.ru
7 PROG=/usr/bin/gammu-smsd
13 local conffile="$CONFPFX-$conf.conf"
15 config_get_bool item "$conf" enabled 0
16 [ $item = 0 ] && return
18 echo -e "; don't edit. instead look into /etc/config/gammu\n[gammu]\n" > $conffile
20 config_get item "$conf" device
21 [ -z "$item" ] && return
22 echo "device = $item" >> $conffile
24 config_get item "$conf" connection
25 [ -z "$item" ] && return
26 echo "connection = $item" >> $conffile
28 config_get item "$conf" logfile
29 [ -z "$item" ] && item=syslog
30 echo "logfile = $item" >> $conffile
32 echo -e "\n[smsd]\nphoneid = $conf\nservice = files\nlogfile = $item" >> $conffile
33 echo -e "checkbattery = 0\nhangupcalls = 1" >> $conffile
35 config_get item "$conf" pin
36 [ -n "$item" ] && echo "pin = $item" >> $conffile
38 config_get item "$conf" phonecode
39 [ -n "$item" ] && echo "phonecode = $item" >> $conffile
41 config_get item "$conf" send
42 [ -n "$item" ] && echo "send = $item" >> $conffile
44 config_get item "$conf" receive
45 [ -n "$item" ] && echo "receive = $item" >> $conffile
47 config_get item "$conf" timeout
48 [ -n "$item" ] && echo "commtimeout = $item" >> $conffile
50 config_get item "$conf" sleep
51 [ -n "$item" ] && echo "loopsleep = $item" >> $conffile
53 config_get item "$conf" report
54 [ -n "$item" ] && echo "deliveryreport = $item" >> $conffile
56 config_get item "$conf" onreceive
57 [ -n "$item" ] && echo "runonreceive = $item" >> $conffile
59 config_get item "$conf" onerror
60 [ -n "$item" ] && echo "runonfailure = $item" >> $conffile
62 config_get item "$conf" spool
63 [ -z "$item" ] && item=/var/sms
71 echo -e "inboxpath = $item/inbox/\noutboxpath = $item/outbox/" >> $conffile
72 echo -e "sentsmspath = $item/sent/\nerrorsmspath = $item/error/" >> $conffile
74 config_get item "$conf" allow
77 local allowfile=$CONFPFX-$conf.allow
78 for data in $item ; do
79 echo $data >> $allowfile
82 echo "includenumbersfile = $allowfile" >> $conffile
85 config_get item "$conf" deny
88 local denyfile=$CONFPFX-$conf.deny
89 for data in $item ; do
90 echo $data >> $denyfile
93 echo "excludenumbersfile = $denyfile" >> $conffile
98 config_get_bool item "$conf" respawn 0
99 [ $item != 0 ] && procd_set_param respawn
101 procd_set_param command $PROG --config=$conffile
103 config_get item "$conf" pidfile
104 [ -n "$item" ] && procd_append_param command --pid=$item
111 config_foreach start_instance daemon
115 procd_add_reload_trigger "gammu"