fec62af983bf46361bc268335573642cbd4c2d37
[asterisk/asterisk.git] / contrib / init.d / rc.archlinux.asterisk
1 #!/bin/bash
2 #
3 # Start/stop/restart Asterisk PBX
4 #
5 # Version: 0.1 by Sherif Nagy AKA DarKnesS_WolF <sherif.nagy@gmail.com> BASED ON THE SLACKWARE INIT SCRIPT
6 #
7 # 10.10.2008 - Initial Version
8 #
9 . /etc/rc.conf
10 . /etc/rc.d/functions
11 DAEMON=__ASTERISK_SBIN_DIR__/asterisk
12 ASTVARRUNDIR=__ASTERISK_VARRUN_DIR__
13
14 case "$1" in
15   start)
16     stat_busy "Starting Asterisk..."
17         if [ ! -d $ASTVARRUNDIR ]; then
18                 mkdir -p $ASTVARRUNDIR
19         fi
20     if [ -x $DAEMON ]; then
21       # Check if Asterisk is already running.  If it is, then bug out, because
22       # starting safe_asterisk when Asterisk is running is very bad.
23       VERSION=`${DAEMON} -rx 'core show version'`
24       if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
25          echo "Asterisk is already running.  $0 will exit now."
26          exit 1
27       fi
28           ${DAEMON}
29       stat_done
30     fi
31     ;;
32   stop)
33     if [ -r ${ASTVARRUNDIR}/asterisk.pid ]; then
34       stat_busy "Stoping Asterisk..."
35       ${DAEMON} -rx "core stop now" > /dev/null 2&>1
36       if [ $? -gt 0 ]; then
37         stat_fail
38       else
39         stat_done
40       fi
41     fi
42     ;;
43   restart)
44     $0 stop
45     sleep 2
46     $0 start
47     ;;
48   *)
49     echo "usage $0 start|stop|restart" ;;
50 esac
51 exit 0