]> git.pld-linux.org Git - packages/asterisk.git/blame - asterisk.init
Release 2 (by relup.sh)
[packages/asterisk.git] / asterisk.init
CommitLineData
68da8345
PG
1#!/bin/sh
2#
3# asterix This shell script takes care of starting and stopping
4# Asterisk PBX
5#
2468a25f 6# chkconfig: 345 90 10
68da8345 7#
a9680595 8# description: Asterisk 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 \
68da8345 12# content through a web browser using CGI and a web server.
7c21f3c5 13#
2468a25f 14# pidfile: /var/run/asterisk/asterisk.pid
68da8345
PG
15# config: /etc/asterisk/asterisk.conf
16
68da8345
PG
17# Source function library
18. /etc/rc.d/init.d/functions
19
20# Get network config
21. /etc/sysconfig/network
22
2468a25f
ER
23# Specify the configuration file
24AST_CONFIG=/etc/asterisk/asterisk.conf
25
26# The user that Asterisk will run as.
27AST_USER="asterisk"
28
29# If a user is specified above, Asterisk will change the group it runs
30# as to the primary group of the user, as well as initialize the
31# supplementary groups. If you want to run Asterisk as a different
32# group, set AST_GROUP to the group that Asterisk should run as. Note
33# that this may break DAHDI devices as supplementary groups will not
34# be initialized.
35#AST_GROUP="asterisk"
36
68da8345
PG
37# Get service config
38[ -f /etc/sysconfig/asterisk ] && . /etc/sysconfig/asterisk
39
40# Check that networking is up.
fc0a4ecb 41if is_yes "${NETWORKING}"; then
6c12883e 42 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
cb0433cf 43 msg_network_down "Asterisk"
fc0a4ecb 44 exit 1
45 fi
46else
47 exit 0
68da8345
PG
48fi
49
2703c950 50start() {
68da8345 51 # Check if the service is already running?
cb0433cf
ER
52 if [ -f /var/lock/subsys/asterisk ]; then
53 msg_already_running "Asterisk"
54 return
68da8345 55 fi
cb0433cf
ER
56
57 msg_starting "Asterisk"
2468a25f
ER
58 if [ $AST_USER ] ; then
59 AST_ARGS="-U $AST_USER"
60 fi
61 if [ $AST_GROUP ] ; then
62 AST_ARGS="$AST_ARGS -G $AST_GROUP"
63 fi
64 if [ $AST_CONFIG ]; then
65 AST_ARGS="$AST_ARGS -C $AST_CONFIG"
66 fi
2d0bc72f 67 daemon /usr/sbin/asterisk -F $AST_ARGS $ASTERISK_OPTS
2468a25f 68
cb0433cf
ER
69 RETVAL=$?
70 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk
2703c950
ER
71}
72
73stop() {
68da8345 74 # Stop daemons.
cb0433cf
ER
75 if [ ! -f /var/lock/subsys/asterisk ]; then
76 msg_not_running "Asterisk"
77 return
68da8345 78 fi
cb0433cf
ER
79
80 msg_stopping "Asterisk"
81 killproc asterisk
82 rm -f /var/lock/subsys/asterisk >/dev/null 2>&1
2703c950
ER
83}
84
5768a4fa
ER
85condrestart() {
86 if [ ! -f /var/lock/subsys/asterisk ]; then
87 msg_not_running "Asterisk"
88 RETVAL=$1
89 return
90 fi
91
92 stop
93 start
94}
95
96reload() {
97 if [ ! -f /var/lock/subsys/asterisk ]; then
5768a4fa 98 msg_not_running "Asterisk"
7c6c5751 99 RETVAL=1
5768a4fa
ER
100 return
101 fi
102
103 msg_reloading "Asterisk"; busy
104 /usr/sbin/asterisk -rx reload > /dev/null 2>&1
105 RETVAL=$?
106 if [ $RETVAL -eq 0 ]; then
107 touch /var/lock/subsys/asterisk
108 ok
109 else
110 fail
111 fi
112}
113
1b3bd1cb
ER
114ael-reload() {
115 local res
116 res=$(aelparse -n -q | grep -F Error)
117 if [ "$res" ]; then
118 echo >&2 "$res"
119 RETVAL=1
120 return
121 fi
122
123 if [ ! -f /var/lock/subsys/asterisk ]; then
124 msg_not_running "Asterisk"
125 RETVAL=1
126 return
127 fi
128
129 /usr/sbin/asterisk -rx "ael reload"
130}
131
2703c950
ER
132RETVAL=0
133# See how we were called.
134case "$1" in
135 start)
1b3bd1cb 136 start
2703c950
ER
137 ;;
138 stop)
1b3bd1cb 139 stop
68da8345 140 ;;
5768a4fa 141 restart)
2703c950
ER
142 stop
143 start
68da8345 144 ;;
5768a4fa
ER
145 try-restart)
146 condrestart 0
147 ;;
148 reload|force-reload)
1b3bd1cb 149 reload
690701c9 150 ;;
2b8cb1e2
ER
151 dialplan-reload)
152 /usr/sbin/asterisk -rx "dialplan reload"
153 ;;
95eafd91 154 ael-reload)
1b3bd1cb 155 ael-reload
95eafd91 156 ;;
9fa55d52 157 logger-reload)
5768a4fa
ER
158 /usr/sbin/asterisk -rx "logger reload"
159 ;;
68da8345
PG
160 status)
161 status asterisk
162 exit $?
163 ;;
164 *)
95eafd91 165 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|dialplan-reload|ael-reload|logger-reload|status}"
fc0a4ecb 166 exit 3
68da8345
PG
167esac
168
169exit $RETVAL
This page took 0.138048 seconds and 4 git commands to generate.