i use a hook in dialplan to send email in non-answer case:
[root@freepbx asterisk]# cat extensions_override_freepbx.conf
[sub-missedcallnotify]
exten => s,1,ExecIf($["${DB(AMPUSER/${ORIGEXTTOCALL}/missedcallnotify/status)}"=="enabled" & ["${DIALSTATUS}" == "CANCEL" | "${DIALSTATUS}" == "BUSY" | "${DIALSTATUS}" == "NOANSWER"] & "${OUTBOUND_GROUP}" == "" & "${DIAL_TRUNK}" == "" & "${RingGroupMethod}" == "none"]?System(echo "" , mail -s "MissedCall (${ORIGEXTTOCALL}) - ${CALLERID(name)} <${CALLERID(num)}>" [email protected] < /dev/null))
exten => s,n,ExecIf($["${DB_EXISTS(AMPGROUP/${NODEST}/email)}"=="1" & "${DIALSTATUS}" == "CANCEL" & "${OUTBOUND_GROUP}" == "" & "${DIAL_TRUNK}" == "" & "${RingGroupMethod}" != "none"]?System(echo "" , mail -s "MissedCallGroup (${NODEST}) - ${CALLERID(name)} <${CALLERID(num)}>" [email protected] < /dev/null))
;exten => s,1,ExecIf($["${DB(AMPUSER/${ORIGEXTTOCALL}/missedcallnotify/status)}"=="enabled" & ["${DIALSTATUS}" == "CANCEL" | "${DIALSTATUS}" == "BUSY" | "${DIALSTATUS}" == "NOANSWER"] & "${OUTBOUND_GROUP}" == "" & "${DIAL_TRUNK}" == "" & "${RingGroupMethod}" == "none"]?System(echo "" , mail -s "MissedCall (${ORIGEXTTOCALL}) - ${CALLERID(name)} <${CALLERID(num)}>" ${DB(AMPUSER/${ORIGEXTTOCALL}/missedcallnotify/email)} < /dev/null))
;exten => s,n,ExecIf($["${DB_EXISTS(AMPGROUP/${NODEST}/email)}"=="1" & "${DIALSTATUS}" == "CANCEL" & "${OUTBOUND_GROUP}" == "" & "${DIAL_TRUNK}" == "" & "${RingGroupMethod}" != "none"]?System(echo "" , mail -s "MissedCallGroup (${NODEST}) - ${CALLERID(name)} <${CALLERID(num)}>" ${DB(AMPGROUP/${NODEST}/email)} < /dev/null))
;--== end of [sub-missedcallnotify] ==--;
got a log, then call was missed:
-- Executing [s@sub-missedcallnotify:1] ExecIf("IAX2/201-864", "0?System(echo "" , mail -s "MissedCall (novm) - 201 <201>" [email protected] < /dev/null)") in new stack
-- Executing [s@sub-missedcallnotify:2] ExecIf("IAX2/201-864", "0?System(echo "" , mail -s "MissedCallGroup () - 201 <201>" [email protected] < /dev/null)") in new stack
but email does not send.
What is wrong?