Die Annahme eines Faxes wird vom Modem (bzw. der ISDN-Karte) in Verbindung mitdem jeweiligen Steuerprozess für die Schnittstelle durchgeführt. Bei Konfigurationen mit analogen Modems ist hierfür der faxgetty Prozess, bei ISDN Konfigurationen das c2faxrecv Programm verantwortlich.
Für eine ISDN Konfiguration muss bei Debian Sarge das Paket capi4hlyafax installiert werden. Dieses installiert u.a. auch das Programm c2faxrecv, das durch das Init-Script /etc/init.d/capi4hylafax gestartet wird. C2faxrecv führt keinen Wechsel des Rootverzeichnisses durch (chroot(2)). Das aktuelle Verzeichnis (getcwd(3)) ist /var/spool/hylafax.
Die Faxe werden im TIFF/G3 Format übermittelt und vom
Getty-Programm direkt in das Verzeichnis /recvq
geschrieben. Der Dateiname des Faxdokuments wird aus dem Prefix "fax"
und einer fortlaufenden Nummer gebildet. Die Zählernummer wird
aus der Datei /revvq/seqf ermittelt.
Nachdem das Fax erfolgreich in die Empfangsqueue geschrieben wurde
ruft faxgetty ein neues Programm bzw. Script zur weiteren Bearbeitung
des Faxes auf. Der Name des Programms ist frei konfigurierbar und kann
für jedes Modem in der Datei /etc/config.<ModemID>
mit dem Parameter FaxRcvdCmd
eingestellt werden. Zu
beachten ist hierbei allerdings, dass der Prozess in einer chroot(2)
Umgebung läuft und daher nur auf Programme unterhalb von
/var/spool/hylafax zugreifen kann.
Wenn das FaxRcvdCmd nicht explizit per Parameter gesetzt wird, ist bin/faxrcvd voreingestellt. Dieses Programm ist ein relativ einfaches Shellscript und kann als Ausgangspunkt für ein individuelles Programm dienen.
Das Programm wird mit den folgenden Argumenten aufgerufen:
Der
Faxrcvd versendet in der Voreinstellung eine Notiz per E-Mail zum lokalen Account faxmaster. Diese E-Mail enthält Angaben zum empfangenen und einen (ftp-) Link auf die TIFF/G3 Datei des empfangenen Faxes. Falls eine direkte Weiterleitung des Faxes per E-Mail gewünscht ist, muss die Konfigurationsdatei /etc/FaxDispatch erstellt. Hier wird die E-Mail Adresse für die Weiterleitung per E-Mail und das gewünschte Dateiformat (PDF oder PostScript) angegeben. Die Datei hat das Format:
FILETYPE=pdf; SENDTO=faxmaster@werthmoeller.de;
Für eine flexiblere Lösung wie z.B. die dynamische Ermittlung der Empfänderadresse in Abhängikeit von der Faxnummer des Senders oder die Archivierung der Faxe in einer Datenbank kann ein eigenes Script geschrieben werden und dieses per FaxRcvdCmd in der Konfigurationsdatei eingestellt werden.