Merged revisions 337840 via svnmerge from
[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
10 ### BEGIN INIT INFO
11 # Provides:             asterisk
12 # Required-Start:    $network $syslog $named $local_fs $remote_fs
13 # Required-Stop:     $network $syslog $named $local_fs $remote_fs
14 # Should-Start:      dahdi misdn lcr wanrouter mysql postgresql
15 # Should-Stop:       dahdi misdn lcr wanrouter mysql postgresql
16 # Default-Start:        2 3 4 5
17 # Default-Stop:         0 1 6
18 # Short-Description:    Asterisk PBX
19 # Description:          the Asterisk Open Source PBX
20 ### END INIT INFO
21
22 . /etc/rc.conf
23 . /etc/rc.d/functions
24 DAEMON=__ASTERISK_SBIN_DIR__/asterisk
25 ASTVARRUNDIR=__ASTERISK_VARRUN_DIR__
26
27 case "$1" in
28   start)
29     stat_busy "Starting Asterisk..."
30         if [ ! -d $ASTVARRUNDIR ]; then
31                 mkdir -p $ASTVARRUNDIR
32         fi
33     if [ -x $DAEMON ]; then
34       # Check if Asterisk is already running.  If it is, then bug out, because
35       # starting safe_asterisk when Asterisk is running is very bad.
36       VERSION=`${DAEMON} -rx 'core show version'`
37       if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
38          echo "Asterisk is already running.  $0 will exit now."
39          exit 1
40       fi
41           ${DAEMON}
42       stat_done
43     fi
44     ;;
45   stop)
46     if [ -r ${ASTVARRUNDIR}/asterisk.pid ]; then
47       stat_busy "Stoping Asterisk..."
48       ${DAEMON} -rx "core stop now" > /dev/null 2&>1
49       if [ $? -gt 0 ]; then
50         stat_fail
51       else
52         stat_done
53       fi
54     fi
55     ;;
56   restart)
57     $0 stop
58     sleep 2
59     $0 start
60     ;;
61   *)
62     echo "usage $0 start|stop|restart" ;;
63 esac
64 exit 0