Umsetzung von Textdaten in das G3-Grafikformat

Faxlösung im Zusammenspiel mit anderen Unix-Anwendungen

15.02.1991

Unix ist von Haus aus ein kommunikationsfreudiges Betriebssystem. Dieser Beitrag zeigt, wie Unix auch zum Fax-Versand genutzt werden kann.

Die Tatsache, daß Unix von einer Telefonfirma (AT&T) entwickelt wurde, hat im System selbst deutliche Spuren hinterlassen: Modem-Support, Electronic Mail und Netzwerkfähigkeit im LAN- und WAN-Bereich gehören zu den Eigenschaften, die den besonderen Reiz dieses Betriebssystems ausmachen. Mit dem Beginn des Telefax-Booms konnte es daher nur noch eine Frage der Zeit sein, bis von Anwenderseite her die Forderung einer Fax-Schnittstelle unter Unix kam. Wer von seinem Terminal aus Dateien und elektronische Post in die ganze Welt verschickt, empfindet es als Anachronismus, beim Fax-Versand den lästigen Umweg über vorheriges Ausdrucken und Warten am Fax-Gerät nehmen zu müssen.

Dabei ist die technische Seite der Fax-Übertragung erstaunlich simpel, wenn man nur darauf verzichtet, Dokumente auch zu empfangen (was angesichts der Übertragung im nicht maschinenlesbaren G3-Grafikformat ohnehin wenig Sinn macht). Beim Versenden eines Faxes wird über eine gewöhnliche Telefonleitung per automatischer Wahl zunächst eine Verbindung zu einem Fax-Gerät aufgebaut. Anschließend werden Bilddaten im G3-Format mit einem festgelegten Protokoll übertragen.

Unix kann mindestens soviel wie ein einfacher PC

Mit dem geordneten Verbindungsabbruch und der Auswertung von Statusmeldungen ist es dann auch schon getan. Der aufwendigste Schritt hierbei ist die Umsetzung von Textdaten in das G3-Grafikformat: Da die zu versendenden Dokumente im Rechner als Textdateien vorliegen, muß auf der Basis eines Character-Fonts vor der Übertragung Zeichen für Zeichen in Bildpunkte umgesetzt werden.

Nachdem für PCs kostengünstige Fax-Lösungen bereits in Hülle und Fülle auf dem Markt sind, stellt sich die Frage: Warum sollte ein Unix-System nicht mindestens das können, was ein einfacher PC auch kann? Oft wird hierbei auf die inkompatible Hardware verwiesen, da sich die PC-Steckkarten, an die man beim Thema Computerfax gleich denkt, naturgemäß nicht für den Einsatz unter Unix eignen. Es gibt aber auch anderes, so zum Beispiel postzugelassene Sendfax-Modems. Anders als PC-Fax-Karten werden diese Modems extern über eine gewöhnliche tty-Schnittstelle an den Rechner angeschlossen. Da die Modems zusätzlich zum Fax-Versand auch für ganz normale DFÜ (UUCP) mit 2400 beziehungsweise 9600 Bit/s genutzt werden können, werden sogar gleich zwei Fliegen mit einer Klappe geschlagen. Von "normalen" Modems unterscheiden sich die Geräte nur darin, daß der Sendfax-Betrieb als Zusatzoption zur Verfügung steht (oder bei einem bereits vorhandenen Gerät nachgerüstet werden kann). Die relativ große Verbreitung dieser Modems schreit geradezu nach einer Software, mit der der Fax-Modus auch unter Unix genutzt werden kann.

Eine solche Software muß als Standardlösung über folgende Hauptfunktionen verfügen:

- Verwalten von Fax-Aufträgen im Multiuser-Betrieb

- Konvertieren von Textdateien in das G3-Bildformat

- Automatische Anwahl eines entfernten Telefax-Gerätes, gegebenenfalls mit Wahlwiederholung

- protokollgesteuerte Übertragung der Bilddaten

- Erzeugen diagnostischer Information zur benutzerbezogenen Gebührenabrechnung.

Um bei der Architektur und Bedienung möglichst auf vorhandene, dem Anwender bekannte Grundlagen aufzubauen, wurde der Fax-Server analog zum Unix-Printer-Spooler konzipiert. Die zentrale Steuerung des Fax-Betriebs unterliegt einem Dämon (Hintergrundprozeß), der Fax-Aufträge koordiniert und zentral abwickelt. Diesem Dämon werden über ein spezielles Kommando namens "fax" Fax-Aufträge erteilt (siehe Abbildung). Das Kommando "fax" ist in Arbeitsweise und Syntax fast identisch mit dem Druckerkommando "lp". Der wichtigste Unterschied besteht darin, daß außer dem Namen des zu versendenden Dokuments eine Fax-Nummer angegeben wird. Ansonsten kann als Option angegeben werden, mit welcher Auflösung die Übertragung erfolgen soll (normal oder fein), ob der User nach Auftragserledigung benachrichtigt werden soll (mail oder hello), und ob ein lokaler Belegausdruck erzeugt werden soll. Ein wesentlicher Punkt bei der Konzeption der Fax-Lösung war das reibungslose Zusammenspiel mit anderen Anwendungen. Wie beim Printer-Spooler können Dokumente auch über die Standard-Eingabe und somit über eine Pipe übergeben werden. Die Integration in vorhandene Umgebungen wird dadurch zu einem Kinderspiel. So ist zum Beispiel eine Einbindung in das Mail-System dadurch möglich, daß Adressaten, die per Fax erreicht werden, in der Alias-Datei des Mail-Systems einen entsprechenden Eintrag mit Piping in das Fax-Kommando erhalten.

Der Fax-Server selbst unterstützt ebenfalls eine Alias-Datei, so daß als Adressaten nicht nur Fax-Nummern, sondern auch Namen angegeben werden können. Über den Erfolg eines Fax-Auftrags kann sich eine Anwendung (oder auch der Systemadministrator) in den Journal-Dateien informieren, die für jeden User getrennt geführt werden.

Auch bei der Konfigurierbarkeit des Fax-Servers wurde auf Flexibilität geachtet. Konfiguriert werden können zum Beispiel das Wählverfahren Impulswahl/Mehrfrequenzwahl), spezielle Wahl-Präfixe für Nebenstellenanlagen, die maximale Anzahl von Wählversuchen, aber auch die Codes für die deutschen Umlaute und das "ß". Da die Faxserver-Software das Device-Locking von UUCP unterstützt, kann das Fax-Modem über dieselbe Schnittstelle auch zur Datenfernübertragung genutzt werden.

Die Software gibt es bereits für SCO Unix und Interactive 386/ix. Portierungen für weitere Zielsysteme sind angekündigt.