#!/bin/sh SPK_CONF="/etc/speaker.conf" SPHONE_CONF="/tmp/accounts" case "$1" in start ) # config file abnormal [ ! -f "${SPK_CONF}" ] && printf "Configration file not exist.\n" && exit 0 # prepare sip account conf /etc/scripts/sipconf [ ! -f "${SPHONE_CONF}" ] && printf "Configration file not exist.\n" && exit 0 #clear redis database redis-cli FLUSHALL # start baresip if [ -n "`baresip -4 -d|egrep 'Illegal instruction|segment fault' 2>/dev/null`" ];then /sbin/reboot exit; fi # start baresip service bareservice > /dev/null 2>&1 & ;; stop ) redis-cli lpush control-channel '{"cmd":"quit","data":""}' killall baresip > /dev/null 2>&1 killall bareservice > /dev/null 2>&1 #clear redis database redis-cli FLUSHALL ;; restart | reload ) /etc/scripts/sipphone.sh stop; sleep 1 ; /etc/scripts/sipphone.sh start esac