summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/asterisk/files/1.2.0/asterisk.rc6')
-rwxr-xr-xnet-misc/asterisk/files/1.2.0/asterisk.rc6235
1 files changed, 0 insertions, 235 deletions
diff --git a/net-misc/asterisk/files/1.2.0/asterisk.rc6 b/net-misc/asterisk/files/1.2.0/asterisk.rc6
deleted file mode 100755
index a520c6a..0000000
--- a/net-misc/asterisk/files/1.2.0/asterisk.rc6
+++ /dev/null
@@ -1,235 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/files/1.0.0/asterisk.rc6.sec,v 1.4 2005/08/24 21:13:56 dragonheart Exp $
-
-opts="${opts} forcestop reload"
-
-depend() {
- need net
- use zaptel mysql postgresql slapd capi
-}
-
-is_running() {
- if [[ -z "$(pidof asterisk)" ]]; then
- return 1
- else
- PID="$(cat /var/run/asterisk/asterisk.pid)"
- for x in $(pidof asterisk); do
- if [[ "${x}" = "${PID}" ]]; then
- return 0
- fi
- done
- fi
-
- return 1
-}
-
-asterisk_run_loop() {
- local OPTS ARGS MSG NICE=""
- local result=0 signal=0
-
- # default options
- OPTS="-f" # don't fork / detach breaks wrapper script...
-
- # filter (redundant) arguments
- ARGS="$(echo "${@}" | sed -e "s:-c\|-f::g")"
-
- # mangle yes/no options
- ASTERISK_CONSOLE="$(echo ${ASTERISK_CONSOLE} | tr [:lower:] [:upper:])"
-
- if [[ -n "${ASTERISK_CORE_SIZE}" ]] &&
- [[ "${ASTERISK_CORE_SIZE}" != "0" ]]; then
- ulimit -c ${ASTERISK_CORE_SIZE}
-
- if [[ -n "${ASTERISK_CORE_DIR}" ]] && \
- [[ ! -d "${ASTERISK_CORE_DIR}" ]]
- then
- mkdir -m750 -p "${ASTERISK_CORE_DIR}"
-
- if [[ -n "${ASTERISK_USER}" ]]; then
- chown -R "${ASTERISK_USER}" "${ASTERISK_CORE_DIR}"
- fi
- fi
- ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
-
- cd "${ASTERISK_CORE_DIR}"
- echo " Core dump size : ${ASTERISK_CORE_SIZE}"
- echo " Core dump location : ${ASTERISK_CORE_DIR}"
- fi
-
- if [[ -n "${ASTERISK_MAX_FD}" ]]; then
- ulimit -n ${ASTERISK_MAX_FD}
- echo " Max open filedescriptors : ${ASTERISK_MAX_FD}"
- fi
-
- if [[ -n "${ASTERISK_NICE}" ]]; then
- echo " Nice level : ${ASTERISK_NICE}"
- NICE="/bin/nice -n ${ASTERISK_NICE} --"
- fi
-
- if [[ -n "${ASTERISK_NOTIFY_EMAIL}" ]]; then
- if [[ -x /usr/sbin/sendmail ]]; then
- echo " Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
- else
- echo " Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
- unset ASTERISK_NOTIFY_EMAIL
- fi
- fi
-
- if [[ -n "${ASTERISK_TTY}" ]]; then
- for x in ${ASTERISK_TTY} \
- /dev/tty${ASTERISK_TTY} \
- /dev/vc/${ASTERISK_TTY}
- do
- if [[ -c "${x}" ]]; then
- TTY="${x}"
- fi
- done
- [[ -n "${TTY}" ]] && \
- echo " Messages are sent to : ${TTY}"
- fi
-
- if [[ "${ASTERISK_CONSOLE}" = "YES" ]] && [[ -n "${TTY}" ]]; then
- echo " Starting Asterisk console : ${ASTERISK_CONSOLE}"
- OPTS="${OPTS} -c"
- fi
-
- OPTS="${OPTS} ${ARGS}"
-
- while :; do
-
- if [[ -n "${TTY}" ]]; then
- /usr/bin/stty -F ${TTY} sane
- ${NICE} /usr/sbin/asterisk ${OPTS} >${TTY} 2>&1 <${TTY}
- result=$?
- else
- ${NICE} /usr/sbin/asterisk ${OPTS} &>/dev/null
- result=$?
- fi
-
- if [[ $result -eq 0 ]]; then
- echo "Asterisk terminated normally"
- break
- else
- if [[ $result -gt 128 ]]; then
- signal=$((result - 128))
- MSG="Asterisk terminated with Signal: $signal"
-
- CORE_TARGET="core-$(date "+%Y%m%d-%h%M%s")"
-
- local CORE_DUMPED=0
- if [[ -f "${ASTERISK_CORE_DIR}/core" ]]; then
- mv "${ASTERISK_CORE_DIR}/core" \
- "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- CORE_DUMPED=1
-
- elif [[ -f "${ASTERISK_CORE_DIR}/core.${PID}" ]]; then
- mv "${ASTERISK_CORE_DIR}/core.${PID}" \
- "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- CORE_DUMPED=1
-
- fi
-
- [[ $CORE_DUMPED -eq 1 ]] && \
- MSG="${MSG}\n\rCore dumped: ${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- else
- MSG="Asterisk terminated with return code: $result"
- fi
-
- # kill left-over tasks
- for X in ${ASTERISK_CLEANUP_ON_CRASH}; do
- kill -9 $(pidof ${X});
- done
- fi
-
- [[ -n "${TTY}" ]] \
- && echo "${MSG}" >${TTY} \
- || echo "${MSG}"
-
-
- if [[ -n "${ASTERISK_NOTIFY_EMAIL}" ]] && \
- [[ -x /usr/sbin/sendmail ]]; then
- echo -e -n "Subject: Asterisk crashed\n\r${MSG}\n\r" |\
- /usr/sbin/sendmail "${ASTERISK_NOTIFY_EMAIL}"
- fi
- sleep 5
- echo "Restarting Asterisk..."
- done
- return 0
-}
-
-start() {
- local OPTS USER GROUP PID
- local tmp x
-
- if [[ -n "${ASTERISK_NICE}" ]]; then
- if [[ ${ASTERISK_NICE} -ge -20 ]] && \
- [[ ${ASTERISK_NICE} -le 19 ]]; then
- OPTS="--nicelevel ${ASTERISK_NICE}"
- else
- eerror "Nice value must be between -20 and 19"
- return 1
- fi
- fi
-
- if [[ -n "${ASTERISK_USER}" ]]; then
- USER=${ASTERISK_USER/:*/}
- GROUP=$(echo $ASTERISK_USER | awk -F: '/.*:.*/ { print $2 }')
- if [[ -n "${USER}" ]]; then
- ASTERISK_OPTS="${ASTERISK_OPTS} -U ${USER}"
- fi
- if [[ -n "${GROUP}" ]]; then
- ASTERISK_OPTS="${ASTERISK_OPTS} -G ${GROUP}"
- GROUP=":${GROUP}" # make it look nice...
- fi
- ebegin "Starting asterisk PBX (as ${USER}${GROUP})"
- else
- ebegin "Starting asterisk PBX (as root)"
- fi
-
- if [[ "$(echo ${ASTERISK_WRAPPER} | tr [:upper:] [:lower:])" != "yes" ]]; then
- start-stop-daemon --start --exec /usr/sbin/asterisk \
- ${OPTS} -- ${ASTERISK_OPTS}
- else
- asterisk_run_loop ${ASTERISK_OPTS} 2>/dev/null &
- fi
-
- if [[ $result -eq 0 ]]; then
- # 2 seconds should be enough for asterisk to start
- sleep 2
-
- result=$(is_running)
- fi
-
- eend $result
-}
-
-forcestop() {
- ebegin "Stopping asterisk PBX"
- start-stop-daemon --stop --pidfile /var/run/asterisk/asterisk.pid
- eend $?
-}
-
-stop() {
-
- if is_running; then
- ebegin "Stopping asterisk PBX gracefully"
- /usr/sbin/asterisk -r -x "stop gracefully" &>/dev/null
- [[ $? -eq 0 ]] && svc_stop
- eend
- else
-
- eerror "Asterisk is not running!"
- fi
-}
-
-reload() {
- if is_running; then
- ebegin "Forcing asterisk to reload configuration"
- /usr/sbin/asterisk -r -x "reload" &>/dev/null
- eend $?
- else
- eerror "Asterisk is not running!"
- fi
-}