#!/bin/bash

CALLFILE=/var/spool/asterisk/tmp/asterisk-heartbeat.call

while :; do
	interval=$(cat /etc/cpbx/asterisk-heartbeat-interval | head -n 1)
	sleep $interval # Don't start right away
	rm -f /var/spool/asterisk/tmp/asterisk-heartbeat
	cat <<'EOF' > $CALLFILE
Channel: Local/test@asterisk-heartbeat
MaxRetries: 0
WaitTime: 30
Archive: No
Application: Echo
Setvar: CDR_PROP(disable)=1
EOF
	chown asterisk. $CALLFILE
	mv $CALLFILE /var/spool/asterisk/outgoing/
	sleep 10s # Give Asterisk 10 seconds to figure things out
	if [ ! -f /var/spool/asterisk/tmp/asterisk-heartbeat ]; then
		agentxtrap -M /usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf -m all xorcomCpbx5.10.1 xorcomCpbx5.100.1 s PBX_failure xorcomCpbx5.100.2 i 4
	fi
done
