notify-send.agi (Source)

#!/bin/bash
# Send a call desktop notification to sparrow and ehelpwpg. The notify-send job
# is run in the background to speed processing of this script.
source $AST_AGI_DIR/bashagi.sh

#--- Prepare some variables and launch a background process
if [ "$1" != '--background' ]
then
    AGI_read_vars
    AGI_GET_VARIABLE 'SUPERFECTA_OLD' SF_OLD
    AGI_GET_VARIABLE 'SUPERFECTA_NEW' SF_NEW
    AGI_GET_VARIABLE 'WHITELIST_RESULT' WHITELIST_RESULT
    export SF_OLD SF_NEW WHITELIST_RESULT
    AGI_background
    exit
fi

#--- Background portion of the script
AGI_VERBOSE_FN=${AGI_VERBOSE_FN:=/dev/stderr}
CNUM="$AGI_CALLERID"
CNAM="$AGI_CALLERIDNAME"
[ "$AGI_DNID" = '12044783561' -o "$AGI_DNID" == '3561' ] && LINE='Personal line' || LINE='E-Help Wpg'

# Testing
#[ "$CNUM" ] || CNUM='2045550198' CNAM='B BOFFENRIDGE' WHITELIST_RESULT='success'

# Normalise the phone number
[ "${CNUM:0:1}" == 1 ] && ONE_DASH='1-' CNUM=${CNUM:1}
CNUM="${ONE_DASH}${CNUM:0:3}-${CNUM:3:3}-${CNUM:6}"

if [ "$SF_OLD" ]
then
    [ "${SF_OLD:0:13}" == 'LOOKUP_FAILED' ] && SF_OLD="${SF_OLD:14}"
    [ "${SF_NEW:0:13}" == 'LOOKUP_FAILED' ] && SF_NEW="${SF_NEW:14}"
    CNAM="$SF_OLD"
    [ "$SF_NEW" -a "$SF_OLD" != "$SF_NEW" ] && SF_TEXT="$SF_NEW<br>"
fi

BODY="${SF_TEXT}Number is $CNUM<br><i>Whitelist result <b>$WHITELIST_RESULT</b></i>"
V_BODY="$(echo "$BODY" | sed 's:</\?[ib]>::g;s:<br>:; :g')"
AGI_VERBOSE "PBX $LINE: Call from $CNAM; $V_BODY"

TIMEOUT=60
ICON="/usr/share/icons/Adwaita/48x48/legacy/call-start.png"
for HOST in sparrow ehelpwpg; do
    ping -c1 $HOST &>/dev/null && ssh brian@$HOST "export DISPLAY=:0.0
        notify-send --app-name='PBX $LINE' --icon $ICON --expire-time $((TIMEOUT*1000)) \
        'Call from $CNAM' '$BODY'"
done

# vim: tabstop=4