Home       Servicebereich  Projekte  Kontakt  

Hylafax


Hylafax ist ein modulares Faxsystem für den Versand und Empfang von Faxen. Das System besteht aus den drei Kernkomponenten

Diese Architektur ermöglicht den Aufbau von flexiblen Fax-Systemem. Die einzelnen Komponenten können flexibel konfiguriert und gegebenenfalls durch andere Komponenten ersetzt werden. Die modulare Architektur bedingt gegenüber einem monolithischen System eine grössere Komplexität bei der Konfiguration und der Wartung des Systems.

Standard Setup

Ein Standard-Setup lässt sich nach Installation der Hylafax-Pakete relativ einfach mit dem Aufruf des Programms faxsetup aufsetzen. Das Script fragt die notwendigen Parameter ab bzw. ermittelt diese aus dem lokalen System und schreibt die verschiedenen Konfigurationsdateien. Das Modem wird dann mit Aufruf des Kommandos faxaddmodem konfiguriert.

Für jedes Modem, dass auch Faxe empfangen soll, wird eine Zeile der Form

  S0:23:respawn:/usr/sbin/faxgetty ttyS0

in /etc/inittab hinzugefügt.
Das Format dieser Zeile ist in inittab(5) detailliert beschrieben. Wichtig ist hier, dass S0 ebenso wie ttySO auf die erste serielle Schnittstelle hinweisen. Nachdem die Zeile eingetragen ist, muss der init-Prozess die Konfigurationsdatei neu einlesen. Dieses erfolgt mit dem Kommandoaufruf init q.

Architektur von Hylafax

Schema der Hylafax Architektur Hylafax-Architektur

Komponenten

Der Hylafax-Server ist für den Aufbau von grösseren Faxsystemen vorgesehen. Alle Faxdokumente werden direkt in ein Queue-Verzeichnis eingestellt. Nachdem diese Dokumente samt Metadaten sicher in der Queue gespeichert wurden, wird dem einliefernden Prozess die erfolgreiche Annahme signalisiert und diese Verbindung geschlossen.

Eingehende Faxe werden von faxgetty angenommen und an das in FaxRcvdCmd konfigurierte Programm mübergeben. Dieses signalisiert den Eingang eines Faxes oder leitet das Dokument direkt per E-Mail weiter.

Ausgehende Faxe werden von faxsend verschickt. Hierbei übernimmt faxsend die komplette Kommunikation mit dem Modem.

Systemstart

Beim Systemstart werden die Prozesse hfaxd, faxq und faxgetty bzw. c2faxrecv gestartet.

Jeder dieser Daemons führt ein chroot(2) in den Spoolbereich von Hylafax durch. Dieser Wert ist in der Regel fest auf /var/spool/hylafax eincompiliert. Alle absoluten Pfade in den Konfigurationsdateien beziehen sich auf dieses Rootverzeichnis.

Wenn der Server auch Faxe empfangen soll, muss das Programm faxgetty gestartet werden. Faxgetty registriert das Modem direkt bei faxq. Für ein Setup, bei dem die Maschine ausschliesslich Faxdokumente verschickt, ist faxgetty nicht notwendig. Hier ist zu beachten, dass das Faxmodem mit dem Aufruf von faxmodem <ModemID> beim Queue-Manager registriert wird.

Faxen über ISDN

Wenn der Faxversand statt über eine ISDN Karte erfolgen soll, benötigt Hylafax eine Capi-Schnittstelle. Hierfür wird u.a. das Paket capi4hylafax benötigt. Das in diesem Paket enthaltende c2facrecv Programm muss auf jeden Fall gestartet werden, unabhängig davon ob Faxe gesendet oder empfangen werden sollen.

Laufender Betrieb

Beim Versand eines Faxes übermittelt der Client (sendfax) das Fax an hfaxd, der es in die Queue einstellt. Der Queue-Handler (faxq) versucht startet anschliessend faxsend (analoges Modem) oder c2faxsend (ISDN/CAPI) um das Fax zu versenden.

Der Empfang eines Faxes wird vom faxgetty-Prozess abgehandelt. Dieser stellt das empfangene Fax in eine eigene Queue (/recvd) ein und ruft dann /bin/faxrcvd bzw. das entsprechend konfigurierte Programm auf.


< zurück  | weiter >