#!/bin/bash # Change EMAIL= to be where you want the messages sent EMAIL=[YourEmail@here.tld] DATE=`date "+%m-%d-%Y %H:%M.%S"` HOST=`hostname` # initializing agi variables declare -a array while read -e ARG && [ "$ARG" ] ; do array=(` echo $ARG | sed -e 's/://'`) export ${array[0]}=${array[1]} done CID=$agi_callerid CIDNAME=$agi_calleridname EXTENSION=$agi_extension CHANNEL=$agi_channel DIALED=$agi_dnid TYPE=$agi_type uniqueID=$agi_uniqueid REPORT=$EXTENSION if [ "$EXTENSION" = "s-CHANUNAVAIL" ] then REPORT="Channel Unavailable" fi # Compile Message MSG=" $TYPE Call from: $CHANNEL --> $DIALED \n" MSG="$MSG With CID: [$CIDNAME - $CID] \n" MSG="$MSG has failed on host: $HOST \n" MSG="$MSG Date: $DATE \n" MSG="$MSG Error: $EXTENSION \n" MSG="$MSG Call UID = $uniqueID \n\n\n" # Write Log echo "" >> /var/log/asterisk/trunk.log echo "#### Start Trunk Failure Log ####" >> /var/log/asterisk/trunk.log echo "Date: $DATE" >> /var/log/asterisk/trunk.log echo "$TYPE Call: $CHANNEL --> $DIALED" >> /var/log/asterisk/trunk.log echo "With CID: [$CIDNAME - $CID]" >> /var/log/asterisk/trunk.log echo "Host: $HOST" >> /var/log/asterisk/trunk.log echo "Error: $EXTENSION" >> /var/log/asterisk/trunk.log echo "Call UID = $uniqueID" >> /var/log/asterisk/trunk.log echo "##### End Trunk Failure Log #####" >> /var/log/asterisk/trunk.log ## Send an email echo -e "$MSG" | mail -s "Trunk Failed on host [$HOST]" "$EMAIL"