- Mitglied seit
- 22 Apr 2007
- Beiträge
- 12,343
- Punkte für Reaktionen
- 1
- Punkte
- 0
Für alle, die nach eine Möglichkeit suchen, Faxe zu senden und zu empfangen, habe ich hier ein Programm, das entweder auf einer FritzBox oder auf einem PC-Linux läuft.
Damit ist es möglich, über eine CAPI, die von sich aus das Fax Protokoll nicht unterstützt, Faxe zu senden und zu empfangen.
Das Programm eignet sich für zwei Anwendungen:
Voraussetzungen Software:
Das Programm hat folgende Optionen:
Wenn ein Fax gesendet werden soll, müssen die Optionen -d und -t angegeben werden.
Zum Empfang muß die Option -i mit einer order mehreren MSNs angegeben werden, sonst wird kein Anruf angenommen.
Das Programm für die FritzBox ist statisch gelinkt und benötigt daher keine zusätzlichen Libraries.
Das Programm für PC-Linux benötigt libtiff, libjpeg, libz, libstdc++ und libm. Diese sollten aber normalerweise vorhanden sein.
Das größte Problem bei der Fax-Verarbeitung ist die CPU-Auslastung.
Auf der FritzBox habe ich beim Versenden von Faxen CPU-Auslastungen bis ca. 30% beobachtet. Die CPU-Leistung reicht, um auch zwei Faxe gleichzeitig zu senden.
Das Senden also nicht kritisch, nur das Empfangen. Mit 4800 bit/s, also mit der Option -m1, habe ich recht zuverlässig Faxe empfangen können. Allerdings habe ich diese mit meiner eigenen ISDN-Karte gesendet, so daß hier keine Störungen auf der Leitung waren.
Kurze Faxe gingen auch mit 14400 bit/s, also mit -m3. Wie es aussieht mit dem Empfang von analogen Absendern über evtl. gestörte Leitungen bleibt abzuwarten. Ebenso kann der Empfang bei mehreren Seiten oder bei komplexeren Seiten durcheinander kommen.
Ebenso ist von Bedeutung, was sonst noch auf einer Box läuft. Es ist möglich, zusammen mit anderen Programmen, die schon auf der Box laufen, die CPU Belastung zu hoch wird. Ebenso ist es möglich, daß durch eine hohe CPU-Auslastung der Watchdog-Timer zuschlägt und die Box komplett neu startet.
Auf einem PC-Linux ist die CPU-Auslastung nicht groß von Bedeutung, da sollte alles ab Pentium 100MHz ausreichen, sowohl zum Senden als auch zum Empfangen.
Eine Datei, die gesendet werden soll, muß als TIFF-Datei mit G3 Fax-Kodierung vorliegen. Mehrseitige TIFF-Dateien sind möglich. Diese Datei kann von verschiedenen Programmen erzeugt werden.
Beim Empfang wird eine Datei in dem angegebenen Verzeichnis erstellt. Das kann das Verzeichnis /tmp sein, es kann auch ein Verzeichnis auf einem USB oder NFS Dateisystem sein. Wenn das Fax nur im RAM der FritzBox abgelegt wird, ist es natürlich weg, falls die Box aus irgendeinem Grund neu startet.
Optional kann ein Programm angeben werden, daß aufgerufen wird, nachdem ein Fax empfangen wurde. Dieses Programm wird mit folgenden Parametern aufgerufen:
Dieses Programm kann beliebige Aktionen durchführen: Ausgabe auf einem Drucker, Benachrichtigung per Email, usw.
Zum Testen des Programms habe ich unter anderem das Programm c2faxsend in Verbindung mit der Fax-fähigen CAPI einer Fritz-Karte unter Linux verwendet. Dabei ist mir aufgefallen, daß c2faxsend und/oder die FritzCard CAPI munter behaupten, die Übertragung wäre erfolgreich, selbst wenn die Gegenstelle davon nichts mitbekommt oder der Verbindung längst getrennt ist. Ich habe einmal bei einem 10-seitigen Fax den Empfänger noch vor Übermittlung der ersten Seite abgebrochen. c2faxsend hat trotzdem angezeigt, daß es 10 Seiten übertragen hätte und die Übermittlung erfolgreich war. Man sollte sich also nicht auf diese Rückmeldung verlassen, sondern besser selbst die empfangene Datei kontrollieren.
Probleme:
Ein Fax das in der ersten Zeile die Bits immer abwechselnd hat, also 010101...010101 wird von spandsp bei T.6 Kodierung falsch empfangen, und dies hat nichts mit Frame-Slips oder CPU-Auslastung zu tun. Es könnte auch generell passieren, wenn ein solches Muster vorkommt und auch wenn es nicht über die ganze Zeile geht.
Die CAPI der 7170 liefert zum Teil nicht korrekte Daten. Details dazu in etlichen Beiträgen weiter unten. Das bedeutet leider, daß die Fax-Übertragung nicht zuverlässig läuft, und es sieht nicht danach aus, als könnte jemand außerhalb von AVM etwas dagegen tun.
FAQ
noch keine.
Updates
noch keine.
Damit ist es möglich, über eine CAPI, die von sich aus das Fax Protokoll nicht unterstützt, Faxe zu senden und zu empfangen.
Das Programm eignet sich für zwei Anwendungen:
- Auf einer FritzBox sollen Faxe versendet und empfangen werden.
- Auf einem PC-Linux sollen Faxe versendet und empfangen werden, eine CAPI-fähige ISDN-Karte ist vorhanden, aber die CAPI selbst unterstützt kein Fax.
Voraussetzungen Software:
- Eine CAPI Schnittstelle. Remote CAPI über Netzwerk funktioniert auch. FAX G3 Unterstützung in der CAPI ist nicht notwendig.
- spandsp
- libtiff
- entweder FritzBox 7170 oder vergleichbare, also 7140, 7141, 7170, W701V, W900V
- oder PC-basiertes Linux
Das Programm hat folgende Optionen:
Code:
Gemeinsame Optionen
-m Modem-Geschwindigkeit:
-m0 2400
-m1 4800
-m2 9600
-m3 14400 (default)
-l Eigene Fax-Kennung, default "+00 0000 0000000"
Sende-Optionen
-o Eigene Sende-MSN, kein default
-d Ziel-Rufnummer, wird benötigt
-t Datei, die übertragen werden soll, TIFF G3 kodiert, wird benötigt
Empfangs-Optionen
-i Eingehende MSNs, mehrere mit Komma getrennt möglich, kein default
-r Verzeichnis, wo enpfangene Faxe abgelegt werden sollen, default "/tmp"
-R Programm, das nach dem Empfang gestartet werden soll, kein default
Zum Empfang muß die Option -i mit einer order mehreren MSNs angegeben werden, sonst wird kein Anruf angenommen.
Das Programm für die FritzBox ist statisch gelinkt und benötigt daher keine zusätzlichen Libraries.
Das Programm für PC-Linux benötigt libtiff, libjpeg, libz, libstdc++ und libm. Diese sollten aber normalerweise vorhanden sein.
Das größte Problem bei der Fax-Verarbeitung ist die CPU-Auslastung.
Auf der FritzBox habe ich beim Versenden von Faxen CPU-Auslastungen bis ca. 30% beobachtet. Die CPU-Leistung reicht, um auch zwei Faxe gleichzeitig zu senden.
Das Senden also nicht kritisch, nur das Empfangen. Mit 4800 bit/s, also mit der Option -m1, habe ich recht zuverlässig Faxe empfangen können. Allerdings habe ich diese mit meiner eigenen ISDN-Karte gesendet, so daß hier keine Störungen auf der Leitung waren.
Kurze Faxe gingen auch mit 14400 bit/s, also mit -m3. Wie es aussieht mit dem Empfang von analogen Absendern über evtl. gestörte Leitungen bleibt abzuwarten. Ebenso kann der Empfang bei mehreren Seiten oder bei komplexeren Seiten durcheinander kommen.
Ebenso ist von Bedeutung, was sonst noch auf einer Box läuft. Es ist möglich, zusammen mit anderen Programmen, die schon auf der Box laufen, die CPU Belastung zu hoch wird. Ebenso ist es möglich, daß durch eine hohe CPU-Auslastung der Watchdog-Timer zuschlägt und die Box komplett neu startet.
Auf einem PC-Linux ist die CPU-Auslastung nicht groß von Bedeutung, da sollte alles ab Pentium 100MHz ausreichen, sowohl zum Senden als auch zum Empfangen.
Eine Datei, die gesendet werden soll, muß als TIFF-Datei mit G3 Fax-Kodierung vorliegen. Mehrseitige TIFF-Dateien sind möglich. Diese Datei kann von verschiedenen Programmen erzeugt werden.
Beim Empfang wird eine Datei in dem angegebenen Verzeichnis erstellt. Das kann das Verzeichnis /tmp sein, es kann auch ein Verzeichnis auf einem USB oder NFS Dateisystem sein. Wenn das Fax nur im RAM der FritzBox abgelegt wird, ist es natürlich weg, falls die Box aus irgendeinem Grund neu startet.
Optional kann ein Programm angeben werden, daß aufgerufen wird, nachdem ein Fax empfangen wurde. Dieses Programm wird mit folgenden Parametern aufgerufen:
- Name der Fax-Datei, im TIFF Format, eine oder mehrere Seiten.
- Telefonnummer der Gegenstelle
- Status der Übertragung, 0=OK, alles andere ist Fehler. Auch bei Fehler könnten schon einige Seiten empfangen worden sein.
Dieses Programm kann beliebige Aktionen durchführen: Ausgabe auf einem Drucker, Benachrichtigung per Email, usw.
Zum Testen des Programms habe ich unter anderem das Programm c2faxsend in Verbindung mit der Fax-fähigen CAPI einer Fritz-Karte unter Linux verwendet. Dabei ist mir aufgefallen, daß c2faxsend und/oder die FritzCard CAPI munter behaupten, die Übertragung wäre erfolgreich, selbst wenn die Gegenstelle davon nichts mitbekommt oder der Verbindung längst getrennt ist. Ich habe einmal bei einem 10-seitigen Fax den Empfänger noch vor Übermittlung der ersten Seite abgebrochen. c2faxsend hat trotzdem angezeigt, daß es 10 Seiten übertragen hätte und die Übermittlung erfolgreich war. Man sollte sich also nicht auf diese Rückmeldung verlassen, sondern besser selbst die empfangene Datei kontrollieren.
Probleme:
Ein Fax das in der ersten Zeile die Bits immer abwechselnd hat, also 010101...010101 wird von spandsp bei T.6 Kodierung falsch empfangen, und dies hat nichts mit Frame-Slips oder CPU-Auslastung zu tun. Es könnte auch generell passieren, wenn ein solches Muster vorkommt und auch wenn es nicht über die ganze Zeile geht.
Die CAPI der 7170 liefert zum Teil nicht korrekte Daten. Details dazu in etlichen Beiträgen weiter unten. Das bedeutet leider, daß die Fax-Übertragung nicht zuverlässig läuft, und es sieht nicht danach aus, als könnte jemand außerhalb von AVM etwas dagegen tun.
FAQ
noch keine.
Updates
noch keine.
Anhänge
Zuletzt bearbeitet: