]> git.pld-linux.org Git - packages/callweaver.git/blame - callweaver.init
- Release 1
[packages/callweaver.git] / callweaver.init
CommitLineData
ae236ccc
AM
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
ef25bfb1
AM
24
25CALLWEAVER_REALTIME=yes
26CALLWEAVER_SAFE=no
27
28
ae236ccc
AM
29# Get service config
30[ -f /etc/sysconfig/callweaver ] && . /etc/sysconfig/callweaver
31
32# Check that networking is up.
33if 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
38else
39 exit 0
40fi
41
ef25bfb1
AM
42REALDAEMON=/usr/sbin/callweaver
43if is_yes "$CALLWEAVER_SAFE"; then
44 DAEMON=/usr/sbin/safe_callweaver
45else
46 DAEMON=/usr/sbin/callweaver
47fi
48
49if ! is_yes "$CALLWEAVER_REALTIME"; then
50 CALLWEAVER_OPT="$CALLWEAVER_OPT -p"
51fi
52
53RETVAL=0
54# See how we were called.
41a119b5 55start() {
ae236ccc
AM
56 # Check if the service is already running?
57 if [ ! -f /var/lock/subsys/callweaver ]; then
58 msg_starting callweaver
ef25bfb1 59 daemon $DAEMON -U callweaver -G callweaver $CALLWEAVER_OPT
ae236ccc
AM
60 RETVAL=$?
61 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/callweaver
62 else
63 msg_already_running callweaver
64 fi
41a119b5
ER
65}
66
67stop() {
ae236ccc
AM
68 # Stop daemons.
69 if [ -f /var/lock/subsys/callweaver ]; then
70 msg_stopping callweaver
9f410b75 71 daemon $REALDAEMON -rx 'stop now'
ef25bfb1
AM
72 sleep 2
73 # make sure it's dead
9f410b75 74 killproc callweaver -KILL > /dev/null 2>&1
ae236ccc
AM
75 rm -f /var/lock/subsys/callweaver >/dev/null 2>&1
76 else
77 msg_not_running callweaver
78 fi
41a119b5
ER
79}
80
81RETVAL=0
82# See how we were called.
83case "$1" in
84 start)
85 start
86 ;;
87 stop)
88 stop
ae236ccc
AM
89 ;;
90 restart|force-reload)
41a119b5
ER
91 stop
92 start
ae236ccc
AM
93 ;;
94 reload)
95 if [ -f /var/lock/subsys/callweaver ]; then
ef25bfb1
AM
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'
ae236ccc
AM
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 ;;
2cbafbca
AM
111 logger-reload)
112 $DAEMON -rx 'logger reload'
113 ;;
ae236ccc
AM
114 status)
115 status callweaver
116 exit $?
117 ;;
118 *)
119 msg_usage "$0 {start|stop|restart|force-reload|status}"
120 exit 3
121esac
122
123exit $RETVAL
This page took 0.137329 seconds and 4 git commands to generate.