Буду благодарен любым ответам..
exten => NOANSWER,1,System(/opt/fax/status2mail --email ${CALLERID(RDNIS}@mydomen.ru --from ${CALLERID(num)})
скрипт satus2mail нужно написать и использовать там лубой мейлер, ну или сам мейлер вызывать без скрипта
_________________
нанотехнолигии в области Asterisk
вот такой скриптик - кто чего думает?
| Цитата: |
| #$1 email address #$2 callerid num #$3 callerid name #$4 dial status #$5 vm status #Store command line args in nice variables EMAIL=$1 CALLERIDNUM=$2 CALLERIDNAME=$3 DIALSTATUS=$4 VMSTATUS=$5 LOGFILE="/var/log/processCallEmail.log" MAILCMD="mailx -s" SUBJECT="call" SENDMAIL=1 #Set to 1 if you want it to email the alert. 0 is useful for debugging. DEBUG=0 #Set to 0 for standard operation. 1 will log inputs and mail commands for debugging. #log mail command if [ $DEBUG -eq 1 ]; then echo $1 $2 \"${3}\" $4 $5 >> $LOGFILE fi #Check we have an email address if not quit if [ "$EMAIL" == "" ]; then exit 0 fi #check for call canceled. ex. 1 ring then hangup if [ $DIALSTATUS == "CANCEL" ]; then BODY="${CALLERIDNAME} (${CALLERIDNUM}) hung up quickly." fi #check for answered call. ex. someone picks up if [ $DIALSTATUS == "ANSWER" ]; then # BODY="$CALLERIDNAME ($CALLERIDNUM) was answered by $PEERNAME." # Use the above line if you want alerts about answered calls. # At work this is not useful but at home it is. exit 0 fi #check for unanswered call. ex. phone rang and no one picked up if [ $DIALSTATUS == "NOANSWER" ]; then BODY="${CALLERIDNAME} (${CALLERIDNUM}) hung up." #check for hangup in vm menu. ex call went to vm and user hung up if [ $VMSTATUS == "USEREXIT" ]; then BODY="$CALLERIDNAME ($CALLERIDNUM) hung up on vm." fi #check for hangup in vm menu. ex call went to vm and user hung up if [ $VMSTATUS == "FAILED" ]; then BODY="$CALLERIDNAME ($CALLERIDNUM) hung up on vm." fi #if they left a vm we already would get an email. Don't need a 2nd if [ $VMSTATUS == "SUCCESS" ]; then exit 0 fi fi #log mail command if [ $DEBUG -eq 1 ]; then echo $BODY $MAILCMD $SUBJECT $EMAIL >> $LOGFILE fi #send email if [ $SENDMAIL -eq 1 ]; then `echo $BODY | $MAILCMD $SUBJECT $EMAIL` fi exit 0 |
exten => s,1,Set(CALLERID(num)
exten => s,2,Set(num={EXTEN})
exten => s-BUSY,1,System(/opt/status/dialstatus ${CALLEID(num) ${num})
Создал скрипт(dialstatus):
#!/bin/sh
file=/opt/status/email
number=$1
from=$2
subject=Call
message=Пропустили вызов
email=`cat $file | grep $number |awk '{print $3}'`
echo $email
/usr/local/bin/sendEmail -t $email -u $subject -m $message $from
где файл email содержит:
внутрений номер => email@domain.com
но получает уведомление человек который набирал абонента. Где я не прав?
скрипт на данный момент:
#!/bin/sh
file=/opt/status/email
DATE=`date +%d.%m.%Y-%H:%M:%S`
callerid=$1
dest=$2
email=`cat $file | grep $dest |awk '{print $3}'`
/usr/local/bin/sendEmail -f (от кого) -t $email -u (тема ссобщения) $callerid -m (тело письма)
и очень прекрасно работает.
также проверять статусы на jabber типа (ушел умер закопан) и говрить это абоненту
_________________
нанотехнолигии в области Asterisk
| Cache писал(а): |
| вообще прекрасно поднять jabber-сервер и на него слать статусы )) также проверять статусы на jabber типа (ушел умер закопан) и говрить это абоненту :D |
А как такое можно сделать? Как раз о статусах думаю.