#!/bin/bash

ARGS=

if [ -f /SpliceCom/admin.conf ]; then
. /SpliceCom/admin.conf
fi

BASE=/SpliceCom
CMD="$BASE/bin/AdminModule -logcp -logagent -logcalls -logdrq -logusage $ARGS"
export LD_LIBRARY_PATH=$BASE/lib

echo $$ > $0.pid

while :
do
	# Create keys for Yealink SIP phone provisioning
	echo Some dummy data more than sixteen characters > /SpliceCom/Yealink/yealink.cfg
	/SpliceCom/Yealink/yealinkencrypt -f /SpliceCom/Yealink/yealink.cfg -p /SpliceCom/Yealink
	rm /SpliceCom/Yealink/yealink.cfg
	mv /SpliceCom/Web/prov/yealink_Security.enc /SpliceCom/Web/prov/yealink_Security.enc.old
	mv /SpliceCom/Yealink/yealink_Security.enc /SpliceCom/Web/prov

	# check for config restore etc
	if [ -f /SpliceCom/ftp/newdatabase.txt ]; then
		mv /SpliceCom/ftp/newdatabase.txt /SpliceCom/Database.txt
	fi

	# start process
	$CMD > /dev/null &
	pid=$!

	# catch signals
	trap "break" SIGINT SIGTERM

	# wait for process to exit
	wait $pid

	# process exited, wait then restart
	if [ -f /SpliceCom/logrestart ]; then /SpliceCom/logrestart $CMD; fi
	sleep 2

	# trigger Voicemail and Compressor to restart
	/etc/init.d/voicemail restart
	/etc/init.d/compressor restart
done

# signal occurred, so terminate the process
kill -9 $pid

rm -f $0.pid

