--- /dev/null
+#!/bin/sh
+TTY=9 # TTY (if you want one) for Asterisk to run on
+CONSOLE=yes # Whether or not you want a console
+NOTIFY= # Who to notify about crashes
+#
+# Don't fork when running "safely"
+#
+ASTARGS="-f"
+if [ "$TTY" != "" ]; then
+ ASTARGS="${ASTARGS} -vvv"
+ if [ "$CONSOLE" != "no" ]; then
+ ASTARGS="${ASTARGS} -c"
+ fi
+fi
+
+#
+# Let Asterisk dump core
+#
+ulimit -c unlimited
+
+while :; do
+
+ if [ "$TTY" != "" ]; then
+ stty sane < /dev/tty${TTY}
+ asterisk ${ASTARGS} >& /dev/tty${TTY} < /dev/tty${TTY}
+ else
+ asterisk ${ASTARGS}
+ fi
+ EXITSTATUS=$?
+ #echo "Asterisk ended with exit status $EXITSTATUS"
+ if [ "$EXITSTATUS" = "0" ]; then
+ # Properly shutdown....
+ echo "Asterisk shutdown normally."
+ exit 0
+ elif [ $EXITSTATUS -gt 128 ]; then
+ let EXITSIGNAL=EXITSTATUS-128
+ echo "Asterisk exited on signal $EXITSIGNAL."
+ if [ "$NOTIFY" != "" ]; then
+ echo "Asterisk exited on signal $EXITSIGNAL. Might want to take a peek." | \
+ mail -s "Asterisk Died" $NOTIFY
+ fi
+ else
+ echo "Asterisk died with code $EXITSTATUS. Aborting."
+ exit 0
+ fi
+ echo "Automatically restarting Asterisk."
+done
# Asterisk
#
%attr(0755,root,root) /usr/sbin/asterisk
+%attr(0755,root,root) /usr/sbin/safe_asterisk
+%attr(0755,root,root) /usr/sbin/astgenkey
#
# Sound files
%attr(0644,root,root) /var/lib/asterisk/sounds/digits/*.gsm
%attr(0755,root,root) %dir /var/lib/asterisk/images
%attr(0644,root,root) /var/lib/asterisk/images/*
+%attr(0755,root,root) %dir /var/lib/asterisk/keys
+%attr(0644,root,root) /var/lib/asterisk/keys/*
+%attr(0755,root,root) %dir /var/lib/asterisk/agi-bin
+%attr(0755,root,root) %dir /var/lib/asterisk/agi-bin/*
#
# Example voicemail files
--- /dev/null
+#!/bin/sh
+TTY=9 # TTY (if you want one) for Asterisk to run on
+CONSOLE=yes # Whether or not you want a console
+NOTIFY= # Who to notify about crashes
+#
+# Don't fork when running "safely"
+#
+ASTARGS="-f"
+if [ "$TTY" != "" ]; then
+ ASTARGS="${ASTARGS} -vvv"
+ if [ "$CONSOLE" != "no" ]; then
+ ASTARGS="${ASTARGS} -c"
+ fi
+fi
+
+#
+# Let Asterisk dump core
+#
+ulimit -c unlimited
+
+while :; do
+
+ if [ "$TTY" != "" ]; then
+ stty sane < /dev/tty${TTY}
+ asterisk ${ASTARGS} >& /dev/tty${TTY} < /dev/tty${TTY}
+ else
+ asterisk ${ASTARGS}
+ fi
+ EXITSTATUS=$?
+ #echo "Asterisk ended with exit status $EXITSTATUS"
+ if [ "$EXITSTATUS" = "0" ]; then
+ # Properly shutdown....
+ echo "Asterisk shutdown normally."
+ exit 0
+ elif [ $EXITSTATUS -gt 128 ]; then
+ let EXITSIGNAL=EXITSTATUS-128
+ echo "Asterisk exited on signal $EXITSIGNAL."
+ if [ "$NOTIFY" != "" ]; then
+ echo "Asterisk exited on signal $EXITSIGNAL. Might want to take a peek." | \
+ mail -s "Asterisk Died" $NOTIFY
+ fi
+ else
+ echo "Asterisk died with code $EXITSTATUS. Aborting."
+ exit 0
+ fi
+ echo "Automatically restarting Asterisk."
+done