Asterisk CAPI und Fax

laotse

Neuer User
Mitglied seit
14 Apr 2009
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Ich habe auf meinem alten System mit Hylafax einen Dienst aufgesetzt, mit dem jeder Faxe versenden kann und der Faxe je nach gewählter MSN an verschiedene e-mail Adressen verschickt. Sowas will ich auf dem neuen Server nun auch. Etwas googlen zeigt, dass es einen ganzen Wald von Möglichkeiten gibt.

Ziele außer der Funktion:

- möglichst wenig verschiedene Software konfigurieren und überwachen müssen
- für die Analogsignale den DSP der AVM B1 verwenden

Ich finde immer wieder 3 Konfigurationen:

1) Hylafax und Asterisk parallel, was wohl zu Problemen mit der Belegung der B-Kanäle führt
2) asterisk-app-fax, erstens scheint es mit spandsp die CPU für die Analogsignale zu verwenden und andererseits liest man in den meist mehr als 2 Jahre alten Beiträgen immer wieder, dass diese Lösung nicht ausgereift sei.
3) asterisk, iaxmodem, Hylafax, scheint gut zu laufen, allerdings klingt es so als ob iaxmodem ebenfalls die CPU für die Analogsignale verwendet; außerdem klingt es stark nach Doppelkonfiguration.

Hat jemand aktuelle Erfahrungen mit diesen Lösungen? Oder gibt es noch eine andere, die besser geeignet ist? Stimmen meine Schlussfolgerungen zu den Lösungen?

Der Esel steht vor 3 gleich weit entfernten Heuwagen ...
 
3. läuft eigentlich super ...
 
la genau die nr. 3 ist richtig

und das in Verbindung mit

www.avantfax.com

dann hat man eine Profilösung .
Sowas habe ich hier an laufen
gruss
ichego1
 
Wozu Asterisk und iaxmodem? Hylafax alleine tut das doch. Mit AVM B1 kann man faxen, da brauch man sowas wie iaxmodem doch nicht.

Armin
 
wozu .. na weil er nach asterisk und hylfax gefragt hat. und da wär schon mal das
1) Hylafax und Asterisk parallel, was wohl zu Problemen mit der Belegung der B-Kanäle führt
 
receivefax?

Tja, gibt es das Problem mit den CAPI-Kanälen denn wirklich? Ich hatte es nur hier und da im Netz gefunden.

Was spricht eigentlich gegen FAX per capicommands? - wäre also Variante 4. Das hat fast den meisten Charme, wird aber im Netz kaum erwähnt.

Dieses Avantfax klingt zwar recht gut, aber ich möchte auf dem Asterisk-Container eigentlich keinen Web-Server laufen lassen.

Immernoch nicht viel weiser ...
 
Tja, gibt es das Problem mit den CAPI-Kanälen denn wirklich?
Das Einzige Problem (wenn man das als Problem sieht) ist, dass die beiden Programme Asterisk und Hylafax von einander nichts wissen. Wenn also Hylafax einen Kanal belegt, weiss das Asterisk nicht. Wenn nun Asterisk einen zweiten Anruf
machen will, geht das halt nicht.

Was spricht eigentlich gegen FAX per capicommands? - wäre also Variante 4. Das hat fast den meisten Charme, wird aber im Netz kaum erwähnt.
Dagegen spricht nichts. Bei einer CAPI-Fax fähigen Karte (wie die AVM B1) ist das benutzbar. Viele lehnen das aber wohl ab, weil man hier noch ein paar Scripte benötigt
(zum Konvertieren, Mailen, etc...)
Für mich ist das aber die beste Variante und ich setze das auch so ein.

Armin
 
Dagegen spricht nichts. Bei einer CAPI-Fax fähigen Karte (wie die AVM B1) ist das benutzbar. Viele lehnen das aber wohl ab, weil man hier noch ein paar Scripte benötigt
(zum Konvertieren, Mailen, etc...)
Für mich ist das aber die beste Variante und ich setze das auch so ein.

Gut, dann werde ich diese Lösung mal anpeilen. Danke!
 
läuft es bei dir mit capi und avm

läuft dein fax
oder machst du es doch mit IAXmdem und hylafax
hast du ein messanger
icq oder sowas wollte dich noch was fragen wegen Avantfax

danke

gruss

ichego1
 
Statusbericht

Also Faxe empfangen klappte ziemlich straight-forward, wenn man einen Thread zur Erstellung eines passenden Dialplans befolgt. Im Dialplan:

Code:
[handlefax]
; Set ${MAILADRESS} before branching here
exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
exten => s,2,capicommand(receivefax|${FAXFILE})
exten => s,3,Hangup()
exten => h,1,System(/usr/share/asterisk/agi-bin/fax2mail.sh "${FAXFILE}" "${FAXID}" "${FAXPAGES}" "${MAILADDRESS}")

[isdn-in]
; MAC-FAX
exten => $$$$$$,1,Set([email protected])
exten => $$$$$$,n,Goto(handlefax,s,1)
exten => $$$$$$,n,Hangup()

und ich verwende folgendes Skript, was sich aus der Vorlage ebenfalls aus diesem Forum entwickelt hat, allerdings ohne nail auskommt ... vielleicht hätte man von vornherein Perl verwenden sollen.

Code:
#!/bin/bash
#
#[Handlefax]
#; Set ${MAILADRESS} before branching here
#exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
#exten => s,2,capicommand(receivefax|${FAXFILE})
#exten => s,3,Hangup()
#exten => h,1,System(/usr/share/asterisk/agi-bin/fax2mail.sh "${FAXFILE}" "${FAXID}" "${FAXPAGES}" "${MAILADDRESS}")
#
LOGFILE="/var/log/asterisk/faxmail.log"
echo "Received paramters $1 $2 $3 $4" >> "$LOGFILE"
FAX=$1
CALLID=$2
PAGES=$3
EMAIL=$4
MAILBODY="$FAX.txt"
PDFFILE="$FAX.pdf"
TIFFILE="$FAX.tiff"
DATETIME=$(date +"%d.%m.%Y %H:%M:%S")
SENDER="[email protected]"

if [ -f "$FAX" ]; then
  sfftobmp -t "$FAX" -o "$TIFFILE"
  tiff2pdf "$TIFFILE" > "$PDFFILE"
else
  echo "File $FAX does not exist -- exiting" >> "$LOGFILE"
  exit 0
fi

SUBJECT="Faxeingang von $CALLID"
BOUNDARY='=== This is the boundary between parts of the message. ==='

echo "From: $SENDER" > "$MAILBODY"
echo "To: $MAILTO" >> "$MAILBODY"
echo "Subject: $SUBJECT" >> "$MAILBODY"
cat >> "$MAILBODY" <<EOF
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
EOF
echo "    BOUNDARY=\"$BOUNDARY\"" >> "$MAILBODY"
cat >> "$MAILBODY" <<EOF
    This message is in MIME format.  But if you can see this,
    you aren't using a MIME aware mail program.  You shouldn't
    have too many problems because this message is entirely in
    ASCII and is designed to be somewhat readable with old
    mail software.

EOF
echo -e "--${BOUNDARY}\nContent-Type: TEXT/PLAIN; charset=UTF-8\n" >> "$MAILBODY"
# Body starts here
echo >> "$MAILBODY" <<EOF
Sie haben ein neues Fax bekommen.
EOF
echo "Absender:          $CALLID" >> "$MAILBODY"
echo "Empfangszeit:      $DATETIME" >> "$MAILBODY"
echo "Anzahl der Seiten: $PAGES" >> "$MAILBODY"
echo >> "$MAILBODY" <<EOF

Das Fax befindet sich im Anhang als PDF Datei.
-------------------------------------------------------------

Thank you for using Open Source Software !
EOF
# Body ends here
echo -e "\n--${BOUNDARY}\nContent-Type: application/octet-stream; name=$fil.bz2" >> "$MAILBODY"
echo "Content-Transfer-Encoding: base64" >> "$MAILBODY"
echo -e "Content-Disposition: attachment;   filename=$PDFFILE\n" >> "$MAILBODY"
perl -MMIME::Base64 -e'while (read(STDIN, $buf, 60*57)) {print encode_base64($buf);}' < "$PDFFILE" >> "$MAILBODY"
echo -e "\n--${BOUNDARY}--" >> "$MAILBODY"

cat "$MAILBODY" | sendmail "$EMAIL"

echo "$DATETIME: Sent $PDFFILE to $EMAIL" >> "$LOGFILE"

rm -f "$FAX" "$MAILBODY" "$PDFFILE" "$TIFFILE"

exit 0

Das klappt auch alles mit Debian Boardmitteln. Man braucht libmime-perl, sfftobmp und libtiff-tools.

Den Versand werde ich wohl erst nach dem Urlaub basteln. Wer versendet im 3. Jahrtausend noch Faxe?

Grüße
 
Mich würde wirklich mal genauer interessieren wie du das hinbekommen hast, bei mir wollen die Faxe einfach nicht ankommen. Ich bitte um deine Hilfe.
 
Wie er es hinbekommen hat? Indem er (wie er auch selbst schreibt) den Faxempfang nach meiner Anleitung eingerichtet hat.

Dass bei Dir keine Faxe ankommen wollen, ist keine aussagekräftige Fehlerbeschreibung.

Zeige uns doch bitte Deine extensions.conf und einen CLI-Mitschnitt eines nicht erfolgten Faxempfangs. Dann können wir sicher helfen.

Ralph
 
Ich arbeite mich jetzt erstmal durch deine Anleitung, und dann poste ich die Fehlermeldungen (die es dann hoffentlich nicht mehr gibt).
 
Also hier als aller erstes mal ein riesiges Dankeschön
Mein Server empfängt schon mal Faxe, aber leider klappt es noch nicht so mit dem weiterleiten weil ich noch Fehler mit dem Script habe, aber das sollte ich auch noch hinbekommen.
 
Geschafft!!!

So nun klappt alles, das eingegangene Fax wird schön per Email übermittelt.
Vielen Dank für die Tipps hier und in der verlinkten Anleitung
 
Gerne! Schön, dass es funktioniert.

Ralph
 
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.