#!/bin/bash

IPE_ADDR_FILE=/tmp/ipe_inet_addr

if [ ! -r /var/run/interfaces ]; then
	echo "ipeaddrchange: /var/run/interfaces is not readable"
	exit 1
fi
. /var/run/interfaces

. /etc/sysconfig/rc.conf
. /etc/sysconfig/network.conf
if [ "x$START_PBX_ONLY_MODE" = "xtrue" ]; then
	NEW_IP_ADDR=`/bin/addr -i $VIRT_WAN`
else
	. /etc/sysconfig/network-scripts/ifcfg-internal
	NEW_IP_ADDR=$IPADDR
fi

OLD_IP_ADDR=""
if [ -r $IPE_ADDR_FILE ]; then
	OLD_IP_ADDR=`cat $IPE_ADDR_FILE`
fi

if [ "x$OLD_IP_ADDR" != "x$NEW_IP_ADDR" ] ; then
	(
	/bin/ipeconfgen generate
	/bin/phrebooter -s &
	PID=$!
	if [ -e /var/run/system_is_ready ] ; then
		if [ "$START_PNPIPPHONES" = "true" ] ; then
			/etc/init.d/pnpipphonesd restart
		fi
		kill -SIGUSR1 $PID
	fi
	)&
fi

echo $NEW_IP_ADDR > $IPE_ADDR_FILE
