#! /bin/sh 
#
# This is an init script for openembedded
# Copy it to /etc/init.d/callweaver and type
# > update-rc.d asterisk defaults 60
#
asterisk=/usr/sbin/asterisk
pidfile=/var/run/asterisk/asterisk.pid
asterisk_args="-npqT -U asterisk -G asterisk"

test -x "$asterisk" || exit 0

case "$1" in
  start)
    echo -n "Starting Asterisk"
    start-stop-daemon --start --quiet --exec $asterisk -- $asterisk_args
    echo "."
    ;;
  stop)
    echo -n "Stopping Asterisk"
    $asterisk -rx "stop gracefully"
    sleep 4
    if [ -f $pidfile ]; then
      start-stop-daemon --stop --quiet --pidfile $pidfile
    fi
    echo "."
    ;;
  force-stop)
    echo -n "Stopping Asterisk"
    $asterisk -rx "stop now"
    sleep 2
    if [ -f $pidfile ]; then
      start-stop-daemon --stop --quiet --pidfile $pidfile
    fi
    echo "."
    ;;
  restart)
    echo -n "Restarting Asterisk"
    if [ -f $pidfile ]; then
      $asterisk -rx "restart gracefully"
      sleep 2
    else
      start-stop-daemon --start --quiet --exec $asterisk -- $asterisk_args
    fi
    echo "."
    ;;
  force-restart)
    echo -n "Forcibly Restarting Asterisk"
    if [ -f $pidfile ]; then
      $asterisk -rx "restart now"
      sleep 2
    else
      start-stop-daemon --start --quiet --exec $asterisk -- $asterisk_args
    fi
    echo "."
    ;;
  reload)
    echo -n "Reloading Asterisk Configuration"
    if [ -f $pidfile ]; then
      $asterisk -rx "reload"
    else
      start-stop-daemon --start --quiet --exec $asterisk -- $asterisk_args
    fi
    echo "."
    ;;
  logger-reload)
    if [ -f $pidfile ]; then
      $asterisk -rx "logger reload"
    fi
    ;;
  *)
    echo "Usage: /etc/init.d/asterisk {start|stop|force-stop|restart|force-restart|reload|logger-reload}"
    exit 1
esac

exit 0