====== 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ören((http://www.heise.de/ct/artikel/Fax-trotz-VoIP-821491.html)). 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ügung((http://www.voip-info.org/wiki/view/Asterisk+fax))((http://www.asteriskguru.com/tutorials/asterisk_fax.html)). Im folgenden sollen zwei Möglichkeiten der Faxnutzung mit [[software:asterisk]] 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 **SpanDSP**((http://www.voip-info.org/wiki/view/spandsp)) und bietet damit die Applikationen ''app_rxfax'' und ''app_txfax''((http://www.voip-info.org/wiki/view/app_rxfax+and+app_txfax)). Auf der SpanDSP Bibliothe aufbauend, existiert eine Asterisk Faxlösung von Inter7((http://www.inter7.com/?page=astfax)) ==== 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 [[software:postfix]] auf.** Zum Emfangen und per E-Mail weiterversenden von eingehenden Faxen wird das fax2mail((http://www.generationd.com/Pages/Products/Files.php?downloads=asterisk)) Script von [[http://www.generationd.com/|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 [[software:postfix]] auf.** Eine Neuimplementierung des ''email2fax''-Scripts wurde von WPKG((http://wpkg.org/email2fax/index.php/Main_Page)) 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 [[tech:T.38]]. Da dieser aber von den meisten SIP-Providern nicht angeboten wird, muss Asterish als Gateway fungieren und zwischen [[tech:T.30]] und [[tech:T.38]] mitteln. **Ab Asterisk Version 1.10 ist eine direkte Umwandlung eines [[tech:T.30]] Anrufs in einen [[tech:T.38]] Anruf möglich((https://wiki.asterisk.org/wiki/display/AST/T.38+Fax+Gateway)).** Für frühere Versionen existieren einige Workouts: * http://www.voip-info.org/wiki/view/Asterisk%20T.38 * http://www.voip-info.org/wiki/view/T38modem+configuration+with+Asterisk * https://issues.asterisk.org/jira/browse/ASTERISK-12667 Mit Version 1.8 konnte [[software:david]] auch mit den gefundenen Anleitungen nicht als VoIP-Nebenstelle mit [[text:T.38]] angebunden werdem. {{tag>asterisk fax}}