HYLAFAX SERVER OPERATION

In normal operation HylaFAX server machines run four independent programs:

- faxq, the central scheduler process
- faxgetty, the ``front door'' program that handles incoming calls,
- hfaxd, the program that handles the client-server protocol for submitting jobs and retrieving status information, and
- faxqclean, the spooling area cleaner process.

The faxq scheduler process is normally started once when the system is booted. If faxgetty processes are to be used, they should be setup so that the init. program will start them on each port where a fax modem resides. The hfaxd program can be run either as a standalone server process or started by the inetd process; the intent is that it run standalone. faxqclean handles the delayed purging and archiving of outbound jobs and is intended to be run from cron regularly (how regularly is a decision for the system administrator).

Under a System V-based operating system the normal installation procedure sets up the system so the faxq and hfaxd processes are started up by init. On other systems you will need to arrange for this yourself (typically by editing /etc/rc.local or similar). faxgetty processes must be manually setup by editing the appropriate control file for init; usually either /etc/inittab or /etc/ttytab. hfaxd can be setup to be started by inetd when the faxsetup script is run to configure a system for use with HylaFAX.

If you need to start the faxq server by hand, consult the faxq manual page and the shell script etc/hylafax that is used on System V-based systems.

Incoming facsimile are placed in the recvq subdirectory of the spooling area and probably will need to be cleaned up periodically. Likewise there is logging information in the log subdirectory and accounting information in the etc subdirectory of the spooling area that may need some attention.

The faxcron script is designed to handle the periodic maintenance of the spooling area. This script is designed to be run from cron every day.

If you want to do accounting check out the xferfaxstats and recvstats scripts for a basic attack on how to process the etc/xferfaxlog accounting file that has records of all facsimile transmissions and receptions. Note that faxcron uses these scripts to deliver statistics about facsimile that were recently transmitted and received.

Otherwise the only matter to be concerned with is the support for data connections. If your modems are capable of differentiating data connections from facsimile connections the fax server can be configured to startup a getty program whenever a call from a data modem is received. Alternatively, if your modem does not support an adaptive-answer facility, but it is a Class 1 modem, the server may be able to do adaptive answering in software. In any event, beware that if you enable data connections you should take the normal precautions you would take when there are dialup ports on your machine. Specifically, make sure that you have passwords, appropriate file protections, and proper configuration of uucp or similar.

If you encounter problems sending or receiving facsimile you can enable copious tracing information by editing the HylaFAX configuration files. Consult the Troubleshooting section and the config manual page, in particular, for help. There is also information in the HylaFAQ on problems one might encounter during server operation.

### Controlling Modem Usage

HylaFAX provides a great of flexibility in how modems on a server machine are used. Modems can be constrained for outbound-only use, inbound-only use, or both. Modem priorities (see the section in the ``Advanced Server Setup'' chapter) can be used to control the order in which modems are assigned to outbound jobs. Modems can also be dynamically taken off-line for either inbound or outbound use by using the faxstate or faxconfig commands. For example, to mark a modem as ``busy'' or ``down'' so that it is not assigned to an outbound job the faxstate command would be used:

`

    hyla# faxstate -s busy ttyf2

`

To temporarily disable the answering of inbound calls on a modem one could use faxconfig:

`

    hyla# faxconfig -m ttyf2 RingsBeforeAnswer 0

`

Similarly, it is easy to constrain a modem so that only inbound data calls are accepted during part of the day with either data or facsimile calls the rest by using simple shell scripts that are invoked by cron. The most flexibility is available when using faxgetty to control modems.

HylaFAX documentation. | HylaFAX table of contents.