]> git.pld-linux.org Git - packages/callweaver.git/blob - callweaver.init
- release 15 (by relup.sh)
[packages/callweaver.git] / callweaver.init
1 #!/bin/sh
2 #
3 # asterix       This shell script takes care of starting and stopping
4 #               callweaver PBX
5 #
6 # chkconfig:    345 90 25
7 #
8 # description:  callweaver is an Open Source PBX and telephony development platform that \ \
9 #               can both replace a conventional PBX and act as a platform for \
10 #               developing custom telephony applications for delivering dynamic \
11 #               content over a telephone similarly to how one can deliver dynamic \
12 #               content through a web browser using CGI and a web server.
13 #
14 # pidfile:      /var/run/callweaver.pid
15 # config:       /etc/callweaver/callweaver.conf
16
17
18 # Source function library
19 . /etc/rc.d/init.d/functions
20
21 # Get network config
22 . /etc/sysconfig/network
23
24
25 CALLWEAVER_REALTIME=yes
26 CALLWEAVER_SAFE=no
27
28
29 # Get service config
30 [ -f /etc/sysconfig/callweaver ] && . /etc/sysconfig/callweaver
31
32 # Check that networking is up.
33 if is_yes "${NETWORKING}"; then
34         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
35                 msg_network_down callweaver
36                 exit 1
37         fi
38 else
39         exit 0
40 fi
41
42 REALDAEMON=/usr/sbin/callweaver
43 if is_yes "$CALLWEAVER_SAFE"; then
44         DAEMON=/usr/sbin/safe_callweaver
45 else
46         DAEMON=/usr/sbin/callweaver
47 fi
48
49 if ! is_yes "$CALLWEAVER_REALTIME"; then
50         CALLWEAVER_OPT="$CALLWEAVER_OPT -p"
51 fi
52
53 RETVAL=0
54 # See how we were called.
55 start() {
56         # Check if the service is already running?
57         if [ ! -f /var/lock/subsys/callweaver ]; then
58                 msg_starting callweaver
59                 daemon $DAEMON -U callweaver -G callweaver $CALLWEAVER_OPT
60                 RETVAL=$?
61                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/callweaver
62         else
63                 msg_already_running callweaver
64         fi
65 }
66
67 stop() {
68         # Stop daemons.
69         if [ -f /var/lock/subsys/callweaver ]; then
70                 msg_stopping callweaver
71                 daemon $REALDAEMON -rx 'stop now'
72                 sleep 2
73                 # make sure it's dead
74                 killproc callweaver -KILL > /dev/null 2>&1
75                 rm -f /var/lock/subsys/callweaver >/dev/null 2>&1
76         else
77                 msg_not_running callweaver
78         fi
79 }
80
81 RETVAL=0
82 # See how we were called.
83 case "$1" in
84   start)
85         start
86         ;;
87   stop)
88         stop
89         ;;
90   restart|force-reload)
91         stop
92         start
93         ;;
94   reload)
95         if [ -f /var/lock/subsys/callweaver ]; then
96                 msg_reloading "callweaver configuration"
97                 daemon $DAEMON -rx 'reload'
98                 # these AFAIK are also reloaded by -rx reload
99                 # msg_reloading "callweaver logger"
100                 # daemon $DAEMON -rx 'logger reload'
101                 # msg_reloading "callweaver extensions"
102                 # daemon $DAEMON -rx 'extensions reload'
103                 RETVAL=$?
104                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/callweaver
105                 ok
106         else
107                 msg_not_running callweaver
108                 exit 1
109         fi
110         ;;
111   logger-reload)
112         $DAEMON -rx 'logger reload'
113         ;;
114   status)
115         status callweaver
116         exit $?
117         ;;
118   *)
119         msg_usage "$0 {start|stop|restart|force-reload|status}"
120         exit 3
121 esac
122
123 exit $RETVAL
This page took 0.103055 seconds and 3 git commands to generate.