Inhaltsverzeichnis

Asterisk: Fax

Fax over IP ist von Voice over IP getrennt zu betrachten, da die Übertragungsrate von VoIP zum Versenden von Faxdaten zu gering ist, bzw. Komprimierung und Verbindungsoptimierung für menschliche Sprache die Übertragung stören1). Aufgrund alter Struktuen und der Nutzung von Fax im täglichen Geschäftsverkehr sind jedoch verschiedene Szenarien der Nutzung nötig. Wie die meisten VoIP-Provider bietet die Telekom jedoch das Protokoll T.38 nicht an, weshalb man mit Asterisk eine Schnittstelle einrichten muss.

Für Asterisk stehen verschiedene Faxerweiterungen zur Verfügung2)3). Im folgenden sollen zwei Möglichkeiten der Faxnutzung mit Asterisk Telefonserver erläutert werden.

Möglichkeit 1: Asterisk als Fax-Server

Als Fax-Server kann Asterisk eingehende Faxe annehmen mit der Methode ReceiveFax() und auch Faxe senden mit SendFax(). Die Faxe können dann auf dem Server weiterverarbeitet werden.

Für Faxfunktionen nutzt Asterist die Bibliothek SpanDSP4) und bietet damit die Applikationen app_rxfax und app_txfax5).

Auf der SpanDSP Bibliothe aufbauend, existiert eine Asterisk Faxlösung von Inter76)

Installieren von SandSP und tiff-Konvertierungen

Damit die scripte fax2mail und email2fax Benutzt werden können, müssen diverse Pakete installiert/compilliert werden.

Zuallererst müssen die folgende Pakete über apt heruntergeladen und installiert werden:

libtiff* libaudiofile* fftw* fltk1.3-*

Danach muss SandSP kompilliert werden. Die Aktuellste Version kann unter http://www.soft-switch.org/downloads/spandsp/ heruntergeladen werden.

Das Paket muss dann mit den Befehlen:

tar -xzf [paketname]
cd [paketname]
./configure
make
make install

entpackt und installiert werden.

Eingehende Faxe per E-Mail weitersenden

Ein funktionierender E-Mail-Server wird vorausgesetzt, diese Anleitung baut auf einem postfix auf.

Zum Emfangen und per E-Mail weiterversenden von eingehenden Faxen wird das fax2mail7) Script von Generationd.com genutzt.

Damit das Script aufgerufen werden kann muss über FreePBX unter „Admin“ ⇒ „Custom Destinations“ eine Benutzerdefiniterter Dialplan erstellt werden. Dieser muss noch bei einer Incomming Route als Ziel gesetzt werden.

Schließlich muss in der Datei /etc/asterisk/extenstions_custom.conf folgender Dialplan hinzugefügt werden:

[asterisk_fax]
;Dieser Dialplan wird aufgerufen, wenn auf der Faxtrunk ein Anruf ankommt.
;Ueber FreePBX leitet die Incomming Route alle Anrufe auf diese custom Destination um.
;
exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${CALLERID(num)}.tif)
exten => s,n,Set(FAXFILENOEXT=/var/spool/asterisk/fax/${CALLERID(num)})
exten => s,n,Set(DEST_MAIL=info@hopf-hof.de)
exten => s,n,Set(DEST_NAME=\"${CALLERID(num)}\")
exten => s,n,ReceiveFax(${FAXFILE})
exten => s,n,System(/var/lib/asterisk/fax2mail -f ${FAXFILENOEXT} --cid-number ${CALLERID(num)} --cid-name ${CALLERID(name)} --dest-mail ${DEST_MAIL} --dest-name ${DEST_NAME} -p)

Hier muss noch der Pfad des fax2mail-Scripts angepasst werden.

Außerdem müssen diverse Änderungen am fax2mail-Script durchgeführt werden:

98 FROMEMAIL="[Faxnummer] <[absender@email.adresse]>"
99 DEFAULTTO="[absender@email.adresse]"
260 echo "You have just received a $COUNT page fax from $CID_NAME <$CID_NUMBER>, at phone number $DEST_EXTEN, on $DATETIME.  The original fax document is attached in $FORMAT format.">>$INFOFILE
261 echo >>$INFOFILE
262 echo >>$INFOFILE
263 echo >>$INFOFILE
264 cat $DESTFILE | mime-construct --subpart --attachment $CID_NUMBER.$FORMAT --type application/$FORMAT --file - >$FILE.part1
265 cat $INFOFILE | mime-construct --header "From: $FROMEMAIL" --to $DEST_EMAIL --subject "$CID_NUMBER" --subpart-file $FILE.part1 --file -

Ein komplettes Skript wie es beutzt wurde ist HIER zu finden.

Ausgehende Faxe als E-Mail empfangen und versenden

Ein funktionierender E-Mail-Server wird vorausgesetzt, diese Anleitung baut auf einem postfix auf.

Eine Neuimplementierung des email2fax-Scripts wurde von WPKG8) vorgenommen, das auch Faxe im PDF Format verarbeiten kann.

Unter http://wpkg.org/email2fax/index.php/An_other_way_for_postfix_user_without_procmail findet sich eine Anleitung, um das email2fax Script an Postfix anzubinden.

Anbindung der E-Mails an Asterisk via http://das-asterisk-buch.de/call-file.html

… to be continued …

Möglichkeit 2: Einrichtung einer Fax-Nebenstelle mit T.38 (Fax-Gateway)

Einige Fax-Nebenstellen unterstützen lediglich den SIP-Standard T.38. Da dieser aber von den meisten SIP-Providern nicht angeboten wird, muss Asterish als Gateway fungieren und zwischen T.30 und T.38 mitteln.

Ab Asterisk Version 1.10 ist eine direkte Umwandlung eines T.30 Anrufs in einen T.38 Anruf möglich9).

Für frühere Versionen existieren einige Workouts:

Mit Version 1.8 konnte david auch mit den gefundenen Anleitungen nicht als VoIP-Nebenstelle mit T.38 angebunden werdem.