asterisk: use return in init script
[feed/telephony.git] / net / asterisk / files / asterisk.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2014 OpenWrt.org
3
4 START=99
5
6 USE_PROCD=1
7
8 #PROCD_DEBUG=1
9
10 NAME=asterisk
11 COMMAND=/usr/sbin/$NAME
12
13 LOGGER="/usr/bin/logger -p daemon.err -s -t $NAME --"
14
15 start_service() {
16
17 dbdir=/var/lib/asterisk/astdb
18 logdir=/var/log/asterisk
19 cdrcsvdir=$logdir/cdr-csv
20 rundir=/var/run/asterisk
21 spooldir=/var/spool/asterisk
22 varlibdir=/var/lib/asterisk
23
24 config_load $NAME
25
26 config_get_bool enabled general enabled 0
27 if [ $enabled -eq 0 ]; then
28 $LOGGER service not enabled in /etc/config/$NAME
29 return 1
30 fi
31
32 config_get_bool log_stderr general log_stderr 1
33 config_get_bool log_stdout general log_stdout 0
34
35 config_get options general options
36
37 for i in \
38 "$logdir" \
39 "$cdrcsvdir" \
40 "$rundir" \
41 "$spooldir" \
42 "$varlibdir" \
43 "$dbdir"
44 do
45 if ! [ -e "$i" ]; then
46 mkdir -m 0750 -p "$i"
47 [ -d "$i" ] && chown $NAME:$NAME "$i"
48 fi
49 done
50
51 procd_open_instance
52 procd_set_param command $COMMAND
53 procd_append_param command \
54 -U "$NAME" \
55 $options \
56 -f
57 # forward stderr to logd
58 procd_set_param stderr $log_stderr
59 # same for stdout
60 procd_set_param stdout $log_stdout
61 procd_close_instance
62
63 }
64
65 reload_service() {
66 procd_send_signal $NAME
67 }