#!/bin/sh

TELEPHONY_PATH=/telephony
CONF_PATH=/etc/telephony

PNP=pnpipphones
PNPPATH=/bin
PNPALTPATH=/mnt/bbram/bin
SETSID=/usr/bin/setsid
KILLALL=/usr/bin/killall

# start PnP daemon 
do_start ()
{
	if [ -e $PNPALTPATH/$PNP ] ; then
	    PNPPATH=$PNPALTPATH
	fi

	$SETSID $PNPPATH/$PNP
	
	/bin/sleep 1	
	$KILLALL -0 $PNP > /dev/null 2>&1
	if [ $? != 0 ] ; then
	    $SETSID $PNPPATH/$PNP
	else
	    return 0
	fi
	/bin/sleep 1	
	$KILLALL -0 $PNP > /dev/null 2>&1
	if [ $? != 0 ] ; then
	    $SETSID $PNPPATH/$PNP
	else
	    return 0
	fi
	/bin/sleep 1	
	$KILLALL -0 $PNP > /dev/null 2>&1
	if [ $? != 0 ] ; then
	    $SETSID $PNPPATH/$PNP
	else
	    return 0
	fi
	/bin/sleep 1	
	$KILLALL -0 $PNP > /dev/null 2>&1
	if [ $? != 0 ] ; then
	    $SETSID $PNPPATH/$PNP
	else
	    return 0
	fi
	return 0
}

# stop PnP daemon 
do_stop ()
{
	$KILLALL $PNP > /dev/null 2>&1
	return 0
}

# Check status
do_status ()
{

	$KILLALL -0 $PNP > /dev/null 2>&1
	if [ $? != 0 ] ; then
		echo "$PNP is in an undefined state or is not running."
		return 2
	fi

	echo "$PNP is up and running."
	return 0
}


case "$1" in
	start)
		do_start
		;;
	stop)
		do_stop
		;;
	status) 
		do_status
		;;
	restart)
		do_stop
		do_start
		;;
	*)
		echo "Usage: $0 {start|stop|restart|status}"
		exit 1
esac

exit $?