E-Mail Status Ansage

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
ein kleines Skript, das mir ansagt wie viel neue E-Mails in meinem Postfach eingetroffen sind:

biff.agi:
Code:
#!/bin/sh
read agi_request
read agi_language
read agi_channel
read agi_type
read agi_uniqueid
read agi_callerid
read agi_dnid
read agi_rdnis
read agi_context
read agi_extension
read agi_priority
read agi_enhanced
read agi_accountcode
read emptyline

/usr/bin/fetchmail                  ##### evtl. anpassen *****
MAILBOX=/var/spool/mail/$USER       ##### evtl. anpassen *****
NUMBER=`grep -c 'From ' $MAILBOX` 

echo 'STREAM FILE vm-youhave ""' > /dev/stdout
read in

case $NUMBER in
  1)
  echo 'STREAM FILE eine "" ' > /dev/stdout
  read in
  echo 'STREAM FILE vm-INBOX ""' > /dev/stdout
  read in
  echo 'STREAM FILE vm-message ""' > /dev/stdout
  read in
  ;;
  0)
  echo 'STREAM FILE vm-no ""' > /dev/stdout
  read in
  echo 'STREAM FILE vm-INBOX ""' > /dev/stdout
  read in
  echo 'STREAM FILE vm-message ""' > /dev/stdout
  read in
  ;;
  *)
  echo 'SAY NUMBER '"$NUMBER"' ""' > /dev/stdout
  read in
  echo 'STREAM FILE vm-INBOX ""' > /dev/stdout
  read in
  echo 'STREAM FILE vm-messages ""' > /dev/stdout
  read in
  ;;
esac

echo 'STREAM FILE vm-goodbye ""' > /dev/stdout
read in
echo 'HANGUP'
read in
Vielleicht kanns noch jemand gebrauchen.

Benno
 

thorsten.gehrig

Mitglied
Mitglied seit
14 Jun 2004
Beiträge
490
Punkte für Reaktionen
0
Punkte
0
Hi
kannst du noch ein kleines beispiel mit einbauen wie man das script aufruft?
so wie ich das sehe wird nach dem aufruf aufgelegt? kann man das verbindern indem man einfach die HANGUP zeile rausnimmt?
Ich kann mir z.b. vorstellen dass ich den Status nur als Menüaufruf abfrage und danach wiedr im menü landen will - oder dass ich den status automatisch vor jedem gespräch bekomme :-D

Gibt es eigentlich irgendwo ein AGI wo man sich seine Mails vorlesen lassen kann - so wie es viele Netzbetreiber machen (u.a. Vodafone).
Speed-Engines gibt es ja einige - und sei es "nur" festival.

Gruß
thorsten
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Der Aufruf ist ganz einfach:
Code:
exten => 80,1,Answer
exten => 80,2,agi,biff.agi
exten => 80,3,Hangup
Statt der 80 kann man natürlich jede andere Nummer benutzen.

Mit dem Menü, das stell ich mir so ähnlich wie mit der Voicemail-Funktion vor. So will ich das in absehbarer Zeit laufen haben. Das ist auch kein großes Problem. Ich hab nur im Moment meine Zeit für andere Dinge zu gebrauchen. Das Vorlesen von Absender und Betreff hab ich hier aber schon realisiert mit hadifix und mbrola. Die Installation dieser zwei Pakete ist unter
http://www.linux-magazin.de/Artikel/ausgabe/2000/05/Sprachsynthese/sprachsynthese.html im Detail beschrieben.
Zum Vorlesen hab ich mir folgendes Skript gebastelt.

lies_mail.sh
Code:
#!/bin/sh
MAILBOX=/var/spool/mail/$USER
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:$PATH"

echo `egrep 'From:|Subject:' < $MAILBOX \
 | sed s?"From: "?"  Absender: "? - \
 | sed s?"Subject: "?"  Betreff: "? - \
 | sed s?"\."?" Punkt "?g - \
 | sed s?"Punkt de"?"Punkt de  eh  "? - \
 | sed s?"[\<\>]"??g - \
 | sed 's/@/ ät /g' -` |  pipefilt | preproc \
 /usr/local/txt2pho/preproc/Rules.lst /usr/local/txt2pho/preproc/Hadifix.abk \
 | txt2pho -f | mbrola -f1.3 -t1.1 /usr/local/txt2pho/voices/de3 - /tmp/lies_mail.wav

sox /tmp/lies_mail.wav -r 8000 -c 1 /tmp/mail.gsm resample -ql
In extensions.conf:
Code:
exten => 81,1,system(nice -n 19 /usr/bin/lies_mail.sh)
exten => 81,2,Playback(/tmp/mail)
exten => 81,3,Playback(vm-goodbye)
exten => 81,4,Hangup
Das ist also bislang noch suboptimal. Aber als Bastelgrundlage ist es vielleicht zu gebrauchen.

@thorsten.gehrig: Wenn man nur die Hangup-Zeile rausnimmt, wird das Skript nach dem Ansagen trotzdem beendet. Ich werds wie gesagt bei Gelegenheit ganz analog zum Voicemail-System aufbauen, wenn mir niemand zuvor kommt.
Eine Ansage vor jedem Gespräch ist auch jetzt kein Problem. Du kannst im Dialplan das Skript an so ziemlich jeder beliebigen Stelle aufrufen. Das bleibt dir überlassen.

Benno

EDIT: Hat jemand eine Idee, ob und wie man sox in diesem Zusammenhang umgehen kann?
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
231,813
Beiträge
2,015,530
Mitglieder
348,859
Neuestes Mitglied
Munichkom