Content-type: text/html
The controls file is a simple ASCII file containing a series of records of the form:
where dest is a regular expression matched against the canonical form of a destination phone number and parameters are specified by named assignments (though the ``='' can also be left out). Whitespace may be used freely though it is used to identify the end of dest and the start of the parameter list. Parameter values are parsed exactly as specified in hylafax-config(4f); i.e. values with embedded whitespace may be enclosed in quote marks (``"'').
Comments are introduced with a ``#'' character and extend to the end of the line. Parameter lists may be continued across lines by starting subsequent lines with a whitespace character (lines commented out with ``#'' are also considered to be part of a continued record).
The order of entries in a file is important. When a parameter value is needed faxq sequentially scans the file until it finds a record that matches the canonical form of the destination phone number. If the requested parameter is defined in this record, then the value is returned, otherwise a default value is used from the faxq configuration file.
The following parameters may be specified on a per-destination basis; consult hylafax-config(4f) for a description of each parameter (except RejectNotice which is described below).
Tag Type Default Description MaxConcurrentJobs integer 1 max concurrent jobs to process for a destination MaxDials integer unlimited max phone calls to make to transmit a job MaxSendPages integer unlimited max pages to permit in a send MaxTries integer 3 max attempts to transmit a job Modem string Any ModemGroup to use for destination RejectNotice string - rejection notice for transmit job TimeOfDay string Any default time-of-day restrictions
The Modem parameter controls which ModemGroup is used in sending faxes to the destination. If the user assigns a ModemGroup for a specific job where all modems are outside of this ModemGroup matching a destination, then the value of Modem is overridden by the user's assignment. Likewise, if the user assigns a ModemGroup for a specific job where some, but not all, of the modems are included in this ModemGroup matching a destination, then the value of Modem is overridden by the inclusive set of modems found in both.
The RejectNotice parameter controls whether or not to reject jobs to the destination. Jobs that are rejected are done so without placing a phone call and the associated message is returned to the job submitter. This facility can be used to disallow calling sensitive phone numbers; for example
.*911$ RejectNotice = "Calls to emergency numbers are not permitted"
In addition to the above parameters, any other parameters that are specified are automatically accumulated and passed to programs invoked by faxq, such as faxsend and pagesend. This is a convenient mechanism for defining configuration parameters for all modems without having to modify each modem-specific configuration file. For example,
.* SessionTracing = 0x4f
This mechanism also makes it easy to control transmit-related parameters according to the destination phone number. For example, to disable use of ECM and restrict the transmit speed when placing international phone calls one might use:
[+][^1] DesiredBR=3 DesiredEC=false