Emailbenachrichtigung bei Anruf in Abwesenheit

Der Fehler liegt in den Prioritäten. Du verwendest 2x die Priorität 1.

Machs mal so:

Code:
exten => 3005,1,Dial(SIP/user) 
exten => 3005,2,System(echo "${DATETIME}: ${CALLERID} wollte was von dir." | mail -s Anrufbenachrichtigung [email][email protected][/email] )
exten => 3005,3,Voicemail(u3005)

Gruß,
 
ok danke ... na da hätte ich selber drauf kommen müssen LOL... danke nochmals werde das gleich mal testen.
 
also habs mal rein gebaut nur das problem ist das er erst mails verschickt wenn der anschluss abgemeldet ist.
Wenn ich einen Anschluss anrufe der Online ist, aber keiner abnimmt, da soll er auch ne mail verschicken.
Geht das damit auch ? Wenn ja was hab ich nun wieder falsch gemacht :D
 
du musst halt die klingelzeit noch einstellen.
z.B.
exten => 3005,1,Dial(SIP/user,22)

Jetzt klinelt es maximal 22sec bei dem User.
 
Hallo zusammen!

Ich habe für mein System auch mal soein Script gebaut, was das alles ein bisschen komfortabler abhandelt!

Script:

Code:
#!/bin/bash

# Benutzerdaten des Mailservers
MAILUSER="asterisk@domain"
MAILPASSWORD="asteriskpbx"
MAILSERVER="127.0.0.1:25"

MAILTO="$1"
MAILFROM="Asterisk PBX <asterisk@domain>"	# Es muss mindestens eine Adresse einer gültigen Domain sein!
DATETIME="$2"
CALLERID="$3 $4 $5 $6 $7 $8"
SUBJECT="Jemand hat Angerufen!"

/bin/echo "Hallo!" > /tmp/asteriskmail
/bin/echo -e "" >> /tmp/asteriskmail
/bin/echo -e "Um $DATETIME hat dich $CALLERID angerufen!" >> /tmp/asteriskmail
/bin/echo -e "" >> /tmp/asteriskmail
/bin/echo -e "" >> /tmp/asteriskmail
/bin/echo -e "MfG" >> /tmp/asteriskmail
/bin/echo -e "" >> /tmp/asteriskmail
/bin/echo -e "$MAILFROM" >> /tmp/asteriskmail

/usr/local/bin/sendEmail 	-s $MAILSERVER -xu $MAILUSER -xp $MAILPASSWORD -f "$MAILFROM" -t "$MAILTO" -u "$SUBJECT" -o message-file=/tmp/asteriskmail -l /tmp/asterisk-sendmail-log
/bin/rm -rf /tmp/asteriskmail

und das ganze kann man mit folgendem Befehl in Asterisk abrufen!

Code:
exten => XX,1,System(asterisksendmail "Empfängeremailadresse" "${DATETIME}" "${CALLERID}")

Vorraussetzung für das script ist, dass http://caspian.dotconf.net/menu/Software/SendEmail/ in /usr/local/bin installiert ist! (Für alle, die kein sendmail haben (wollen)!)

Für sendmail und andere MTA ist das script sicher nur leicht anzupassen!

MfG Michael!

P.S. Wichtig sind die Anführungszeichen in der extension... da meckern viele Mailserver!
 
:D
Hallo Leute der Thread ist echt gut!

Nur den String: wollte was von dir
musste ich auf Wunsch meiner Freundin anpassen..

Gruss Reto
 
Ich wärme mal einen alten Beitrag wieder auf, da ich ein ähnliches Problem habe. Woher weiß Asterisk, dass er eine Mail versenden soll oder nicht? Stellt man den System() vor Dial(), bekommt man bei jedem Anruf eine Mail. Stellt man es dahinter und der Anrufer legt vor dem definierten Timeout auf, wird der Ruf nicht erfasst.

Vielleicht kann mir jemand einen Tipp geben, wie man das lösen kann.

Danke,

appleactive
 
Ich glaube die Lösung ist die h-Extension. Sollte ich etwas gehbrauchbares in diesem Zusammenhang herausfinden, werde ich es hier posten.
 
Dann werde ich das Thema nochmal aufwärmen... :)

Ich bekomme es auch nicht hin. Weder mit h noch mit s


Gruß Sebbl
 
Hallo Sebbl,

"bekomme es nicht hin" ist keine ausreichende Problembeschreibung. Was hast Du schon probiert oder wo genau kommst Du nicht weiter?

Rentier
 
Ja... Hast ja Recht :)

Das Problem ist das ich nicht über "Dial" hinweg komme. Ich möchte das die Email versendet wird wenn der anrufer auflegt bevor ich drangehe

Hab mehrere Möglichkeiten Probiert

exten => 700,n,Dial(SCCP/91,,g)
exten => h-ANSWER,1,....

und:
exten => 700,n,Dial(SCCP/91,,g)
exten => h,1,Goto(s-${DIALSTATUS},1)

exten => s-CANCEL,1,...

und:
exten => 2195375,n,DIAL(SCCP/90,,g)
exten => 2195375,n,Goto,r-${DIALSTATUS},1

exten => r-CANCEL,1,
 
Ich hätte jetzt mal behauptet
Code:
exten=>700,1,Dial(SCCP/91)
exten=>h,1,ExecIf($["${DIALSTATUS}"="ANSWERED"]?:System(bla blub))
sollte klappen, habs aber nicht ausprobiert.

Rentier
 
Die obigen Scripte sind für Asterisk 1.2, hier die Variante für die 1.4er:

exten => 493069201833,1,NoOp(Ankommender Call von ${CALLERID(num)})
exten => 493069201833,n,set(CallTime=${STRFTIME(${EPOCH},GMT+3,%d.%m.%G %H:%M)})
exten => 493069201833,n,System(echo -e "Anrufzeit: ${CallTime} \\r Anrufer ${CALLERID(num)} wollte was von dir." | mail -s Anrufbenachrichtigung [email protected])
 
Zunächst mal solltest Du Deine Telefonnummer aus-x-en, sofern das Deine echte Nummer ist.

Von Deiner Variante kann man die zweite und dritte Zeile nehmen und in die h-extension legen.
Wenn man's so wie Du direkt in den ankommenden Context schreibt, dann kommt die Email ja wieder für jeden Anruf, und nicht nur für unbeantwortete.

Rentier
 
Moin..

Die Nummer ist nur für solche spielchen gedacht, die kann ruhig jeder haben, dann passiert wenigstens mal was im Asterisk. :)

Was irgendwie noch nicht passt ist die Uhrzeit, da haut die Stunde irgendwie nicht hin.

Hat jemand eine Idee?
 
Klappt noch nicht ganz...


exten=> 700,1,Dial(SCCP/91,,g)
;exten=> h,1,ExecIf($["${DIALSTATUS}"="NOANSWER"]?,System(echo...
exten=> h,1,ExecIf($["${DIALSTATUS}"="ANSWERED"]?,System(echo...

Schickt mir keine mail.
,,g kann ich mir auch sparen ändert nichts
 
Gerade getestet und funktioniert mit Asterisk 1.6 unter SuSE.

Code:
[incoming-sipgate]
exten => _X.,n,Dial(SIP/43,25,twx)
exten => _X.,n,VoiceMail(43)
exten => _X.,n,HangUp
exten => h,1,ExecIf($["${DIALSTATUS}"="ANSWERED"]?:System("echo 'Anruf von ${CALLERID(number)}' | mail -s Anruf ***@***.de"))
exten => h,n,HangUp
 
Zuletzt bearbeitet von einem Moderator:
Trixbox

Hat einer irgend ne Idee wie ich das in der Trixbox umsetzen muss?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.