]> git.pld-linux.org Git - packages/asterisk.git/blob - asterisk.init
Version: 15.4.1
[packages/asterisk.git] / asterisk.init
1 #!/bin/sh
2 #
3 # asterix       This shell script takes care of starting and stopping
4 #               Asterisk PBX
5 #
6 # chkconfig:    345 90 10
7 #
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 \
12 #               content through a web browser using CGI and a web server.
13 #
14 # pidfile:      /var/run/asterisk/asterisk.pid
15 # config:       /etc/asterisk/asterisk.conf
16
17 # Source function library
18 . /etc/rc.d/init.d/functions
19
20 # Get network config
21 . /etc/sysconfig/network
22
23 # Specify the configuration file
24 AST_CONFIG=/etc/asterisk/asterisk.conf
25
26 # The user that Asterisk will run as.
27 AST_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
37 # Get service config
38 [ -f /etc/sysconfig/asterisk ] && . /etc/sysconfig/asterisk
39
40 # Check that networking is up.
41 if is_yes "${NETWORKING}"; then
42         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
43                 msg_network_down "Asterisk"
44                 exit 1
45         fi
46 else
47         exit 0
48 fi
49
50 start() {
51         # Check if the service is already running?
52         if [ -f /var/lock/subsys/asterisk ]; then
53                 msg_already_running "Asterisk"
54                 return
55         fi
56
57         msg_starting "Asterisk"
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
67         daemon /usr/sbin/asterisk -F $AST_ARGS $ASTERISK_OPTS
68
69         RETVAL=$?
70         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk
71 }
72
73 stop() {
74         # Stop daemons.
75         if [ ! -f /var/lock/subsys/asterisk ]; then
76                 msg_not_running "Asterisk"
77                 return
78         fi
79
80         msg_stopping "Asterisk"
81         killproc asterisk
82         rm -f /var/lock/subsys/asterisk >/dev/null 2>&1
83 }
84
85 condrestart() {
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
96 reload() {
97         if [ ! -f /var/lock/subsys/asterisk ]; then
98                 msg_not_running "Asterisk"
99                 RETVAL=1
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
114 ael-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
132 RETVAL=0
133 # See how we were called.
134 case "$1" in
135   start)
136         start
137         ;;
138   stop)
139         stop
140         ;;
141   restart)
142         stop
143         start
144         ;;
145   try-restart)
146         condrestart 0
147         ;;
148   reload|force-reload)
149         reload
150         ;;
151   dialplan-reload)
152         /usr/sbin/asterisk -rx "dialplan reload"
153         ;;
154   ael-reload)
155         ael-reload
156         ;;
157   logger-reload)
158         /usr/sbin/asterisk -rx "logger reload"
159         ;;
160   status)
161         status asterisk
162         exit $?
163         ;;
164   *)
165         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|dialplan-reload|ael-reload|logger-reload|status}"
166         exit 3
167 esac
168
169 exit $RETVAL
This page took 0.075326 seconds and 3 git commands to generate.