diff --git a/asterisk.h b/asterisk.h index 6af34dcf3de36ecfd3ffc611a3788ed910370c80..eafb1597dc481bb479153edc805aa2e0b2382e71 100755 --- a/asterisk.h +++ b/asterisk.h @@ -18,6 +18,7 @@ #define AST_CONFIG_DIR "/etc/asterisk" #define AST_SOCKET "/var/run/asterisk.ctl" +#define AST_PID "/var/run/asterisk.pid" #define AST_MODULE_DIR "/usr/lib/asterisk/modules" #define AST_SPOOL_DIR "/var/spool/asterisk" #define AST_VAR_DIR "/var/lib/asterisk" diff --git a/contrib/scripts/safe_asterisk b/contrib/scripts/safe_asterisk index 584e854d286bed4ac2cac5c3029c5ef9ac8d4567..8b7affe1217a8dc6235f31774e7f63776484bdb0 100755 --- a/contrib/scripts/safe_asterisk +++ b/contrib/scripts/safe_asterisk @@ -5,7 +5,7 @@ NOTIFY= # Who to notify about crashes # # Don't fork when running "safely" # -ASTARGS="-f" +ASTARGS="" if [ "$TTY" != "" ]; then ASTARGS="${ASTARGS} -vvv" if [ "$CONSOLE" != "no" ]; then @@ -18,30 +18,39 @@ fi # ulimit -c unlimited -while :; do +launch_asterisk() +{ +} - 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 +run_asterisk() +{ + while :; do + + if [ "$TTY" != "" ]; then + stty sane < /dev/tty${TTY} + asterisk ${ASTARGS} >& /dev/tty${TTY} < /dev/tty${TTY} + else + asterisk ${ASTARGS} fi - else - echo "Asterisk died with code $EXITSTATUS. Aborting." - exit 0 - fi - echo "Automatically restarting Asterisk." -done + 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 +} + +run_asterisk & diff --git a/safe_asterisk b/safe_asterisk index 584e854d286bed4ac2cac5c3029c5ef9ac8d4567..8b7affe1217a8dc6235f31774e7f63776484bdb0 100755 --- a/safe_asterisk +++ b/safe_asterisk @@ -5,7 +5,7 @@ NOTIFY= # Who to notify about crashes # # Don't fork when running "safely" # -ASTARGS="-f" +ASTARGS="" if [ "$TTY" != "" ]; then ASTARGS="${ASTARGS} -vvv" if [ "$CONSOLE" != "no" ]; then @@ -18,30 +18,39 @@ fi # ulimit -c unlimited -while :; do +launch_asterisk() +{ +} - 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 +run_asterisk() +{ + while :; do + + if [ "$TTY" != "" ]; then + stty sane < /dev/tty${TTY} + asterisk ${ASTARGS} >& /dev/tty${TTY} < /dev/tty${TTY} + else + asterisk ${ASTARGS} fi - else - echo "Asterisk died with code $EXITSTATUS. Aborting." - exit 0 - fi - echo "Automatically restarting Asterisk." -done + 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 +} + +run_asterisk &