1HYLAFAX-CONFIG(5F)                                          HYLAFAX-CONFIG(5F)
2
3
4

NAME

6       config - HylaFAX configuration database
7

DESCRIPTION

9       HylaFAX  uses  a  configuration file for the central queueing agent and
10       for each facsimile modem attached to a machine.   These  files  contain
11       information about the modems and about how the HylaFAX server processes
12       that service these  modem  should  operate.   Configuration  files  are
13       located  in  the  etc  subdirectory.   The  configuration  file for the
14       faxq(8C) program is named config.  The  per-modem  configuration  files
15       used  by  the faxgetty(8C), faxsend(8C), and pagesend(8C) programs have
16       names of the form config.devid, where devid is  an  identifier  derived
17       from  the  name  of  the  modem's  device  file;  for example ttym2 for
18       /dev/ttym2, term_10 for /dev/term/10.
19
20       Configuration files have a simple format and  are  entirely  ASCII.   A
21       configuration parameter is of the form
22            tag: value
23       where a tag identifies a parameter and a value is either a string, num‐
24       ber, or boolean value.  Comments are introduced by the ``#''  character
25       and  extend  to  the end of the line.  String values start at the first
26       non-blank character after the ``:'' and  continue  to  the  first  non-
27       whitespace  character  or,  if  whitespace  is  to  be included, may be
28       enclosed in quote marks (``"'').  String values enclosed in quote marks
29       may  also  use  the  standard  C programming conventions for specifying
30       escape codes; e.g. ``\n'' for a newline character and ``\xxx''  for  an
31       octal  value.  Numeric values are specified according to the C program‐
32       ming conventions (leading ``0x'' for hex, leading ``0'' for octal, oth‐
33       erwise  decimal),  except  for  a few parameters, such as RecvFileMode,
34       whose value is interpreted  strictly  as  an  octal  number  and  Page‐
35       ChopThreshold  whose  value is interpreted strictly as a floating point
36       number.  Boolean values are case insensitive.  For a true value, either
37       ``Yes''  or  ``On''  should  be used.  For a false value, use ``No'' or
38       ``Off''.
39
40       The following table itemizes the tags and the expected  type  of  their
41       value.   The  first  part lists items specific to the operation of each
42       server, while the second part has items related to the servicing of the
43       modem.   Parameters marked with a ¹ are used only by the HylaFAX sched‐
44       uler process and should appear only in the file named config.   Parame‐
45       ters  marked with a ² are used by both the scheduler and the per-device
46       applications and so should  appear  in  all  appropriate  configuration
47       files (i.e.  config and any per-device files that make sense).  Parame‐
48       ters not otherwise marked should appear only in  per-device  configura‐
49       tion files.  More detailed information about each item is given follow‐
50       ing the table.
51       Tag                           Type       Default          Description
52       AdaptiveAnswer                boolean    No               enable adaptive answer of inbound calls
53       AdminGroup                    string     faxadmin         System user group for administration (if PAM enabled)
54       AllowIgnoreModemBusy¹         boolean    No               honor job requests to ignore modem busy status
55       AnswerRotary                  string     Any              alternatives for answering calls
56       AnswerBias                    integer    -                bias to apply to successful rotary answer
57       AreaCode²                     string     -                local area code
58       AuditHook¹                    string     -                command to run for faxq event auditing
59       BadPageHandlingMethod         string     RTN-SAVE         bad page received handling method
60       BatchLogs¹                    boolean    Yes              keep all session logs of a batch in a single log
61       CallIDAnswerLength            integer    -                answer call when CallIDPattern received
62       CallIDDisplay                 boolean    No               display match in modem status
63       CallIDLabel                   string     -                label to use in presentation of the match
64       CallIDPattern                 string     -                call identification pattern string
65       CallIDRecord                  boolean    Yes              record match in recvq image file
66       CallIDType                    string     -                type identifier for the CallIDPattern match
67       CIDName                       string     -                equivalent to CallIDPattern (2)
68       CIDNameAnswerLength           integer    0                equivalent to CallIDAnswerLength (2)
69       CIDNumber                     string     -                equivalent to CallIDPattern (1)
70       CIDNumberAnswerLength         integer    0                equivalent to CallIDAnswerLength (1)
71       ClocalAsRoot                  boolean    No               set CLOCAL using root UID
72       ContCoverCmd¹                 string     bin/mkcover      continuation cover page generation script
73       ContCoverPage¹                string     -                continuation cover page template filename
74       CountryCode²                  string     -                local country code
75       DestControls¹                 obsolete   -                Obsoleted by JobControl
76       DeviceMode                    octal      0600             protection mode to use for modem device
77       DialStringRules²              string     -                dial string rules file
78       DistinctiveRings              string     -                configuration for distinctive ring cadences
79       DRingOff                      string     -                distinctive ring ``off'' cadence indicator
80       DRingOn                       string     -                distinctive ring ``on'' cadence indicator
81       DynamicConfig                 string     -                script for dynamic receive configuration
82       EGettyArgs                    string     -                arguments passed to external getty program
83       FAXNumber                     string     -                facsimile modem phone number
84       FaxRcvdCmd                    string     bin/faxrcvd      notification script for received facsimile
85       GettyArgs                     string     -                arguments passed to getty program
86       Include²                      string     -                include another config file
87       InternationalPrefix²          string     -                dialing prefix for international calls
88       JobControlCmd¹                string     -                job control command
89       JobReqBusy                    integer    180              requeue interval for BUSY dial result
90       JobReqDataConn                integer    300              requeue interval for data connection dial result
91       JobReqNoAnswer                integer    300              requeue interval for NO ANSWER dial result
92       JobReqNoCarrier               integer    300              requeue interval for NO CARRIER dial result
93       JobReqNoFCon                  integer    300              requeue interval for carrier without +FCON dial result
94       JobReqOther²                  integer    300              requeue interval for ``other'' problems
95       JobReqProto                   integer    60               requeue interval after fax protocol error
96       JobRetryBusy                  integer    -                number of retries for BUSY dial result
97       JobRetryDataConn              integer    -                number of retries for data connection dial result
98       JobRetryNoAnswer              integer    -                number of retries for NO ANSWER dial result
99       JobRetryNoCarrier             integer    1                number of retries for NO CARRIER dial result
100       JobRetryNoFCon                integer    -                number of retries for carrier without +FCON dial result
101       JobRetryOther                 integer    -                number of retries for ``other'' problems
102       LockDataCalls                 boolean    Yes              lock modem for the duration of an inbound data call
103       LockVoiceCalls                boolean    Yes              lock modem for the duration of an inbound voice call
104       LogCalls                      boolean    Yes              Log all incoming calls as CALL records in xferfaxlog
105       LogFacility²                  string     daemon           syslog facility name for ServerTracing messages
106       LogFileMode                   octal      0600             protection mode to use for session log files
107       LogRecv                       boolean    Yes              Log recieved faxes as RECV records in xferfaxlog
108       LogSend                       boolean    Yes              Log sent faxes as SEND records in xferfaxlog
109       LocalIdentifier               string     -                local station identification string
110       LongDistancePrefix            string     -                dialing prefix for long distance calls
111       MaxBatchJobs¹                 integer    64               max jobs in a batch
112       MaxConcurrentCalls¹           integer    1                max concurrent jobs to process for a destination
113       MaxConcurrentPreps¹           integer    1                maximum number of simultaneous job preparations
114       MaxConsecutiveBadLines        integer    5                max consecutive bad rows for OK page quality
115       MaxDials¹                     integer    12               max phone calls to make to transmit a job
116       MaxProxyJobs¹                 integer    64               max number of concurrent proxy jobs
117       MaxRecvPages                  integer    unlimited        max pages to permit in a receive
118       MaxSendPages¹                 integer    unlimited        max pages to permit in a send
119       MaxSetupAttempts              integer    2                max attempts to initialize a modem
120       MaxTraversal¹                 integer    256              max traversal into queue for batching
121       MaxTries¹                     integer    3                max attempts to transmit a job
122       MinAcceptedLineCount          integer    10               min number of rows for OK page quality
123       ModemGroup¹                   string     -                define a name for a set of modems
124       ModemPriority                 integer    255              scheduling priority for outbound jobs
125       ModemReadyState               string     R                ``ready state'' sent by faxgetty
126       ModemRingResponse             string     -                command to respond after hearing RING
127       ModemRingsBeforeResponse      integer    0                the number of rings before ModemRingResponse
128       NoAnswerVoice                 boolean    false            disable the answering of voice-indicated calls
129       NoCarrierRetrys               integer    -                Deprecated - See JobRetryNoCarrier
130       NotifyCmd¹                    string     bin/notify       user notification command script
131       PageChop¹                     string     last             control automatic truncation of trailing whitespace
132       PageChopThreshold¹            float      3.0              whitespace truncation threshold (inches)
133       PCL2FaxCmd¹                   string     bin/pcl2fax      PCL RIP command script
134       PercentGoodLines              integer    95               percentage of good rows for OK page quality
135       PollLockPokeModem             boolean    false            check on modem every time the lock is polled
136       PollLockWait²                 integer    30               polling interval for lockfile presence/removal (secs)
137       PollModemWait                 integer    30               polling interval when in ``modem wait'' state (secs)
138       PollRcvdCmd                   string     bin/pollrcvd     delivery script for facsimile received by polling
139       PostScriptTimeout¹            integer    300              timeout on POSTSCRIPT interpreter runs (secs)
140       PriorityScheduling            boolean    see below        use available priority job scheduling mechanism
141       PS2FaxCmd¹                    string     bin/ps2fax       POSTSCRIPT RIP command script
142       QualifyCID                    obsolete   -                See DynamicConfig and RejectCall for rejecting calls
143       QualifyPWD                    string     -                file of PWD patterns for qualifying senders
144       QualifyTSI                    string     -                file of TSI patterns for qualifying senders
145       RecvDataFormat                string     adaptive         format for received facsimile data
146       RecvFileMode                  octal      0600             protection mode to use for received facsimile files
147       RejectCall                    boolean    false            Reject the current call
148       RingData                      string     -                distinctive ring data call identifier
149       RingExtended                  string     -                extended ring message identifier
150       RingFax                       string     -                distinctive ring fax call identifier
151       RingsBeforeAnswer             integer    0                rings to wait before answering phone
152       RingTimeout                   integer    6000             timeout in ms after RING before reset
153       RingVoice                     string     -                distinctive ring voice call identifier
154       RTNHandlingMethod             string     Retransmit-IgnoreRTN signal handling method
155       SaveUnconfirmedPages          boolean    true             save or delete unconfirmed pages
156       SendFaxCmd¹                   string     bin/faxsend      fax transmit command script
157       SendPageCmd¹                  string     bin/pagesend     pager transmit command script
158       SendUUCPCmd¹                  string     bin/uucpsend     UUCP transmit command script
159       ServerTracing²                integer    1                non-session server tracing
160       SessionTracing²               integer    0xFFF            send and receive session tracing
161       ShareCallFailures²            string     none             which call failures should be shared
162       SpeakerVolume                 string     Quiet            volume level for modem speaker
163       StaggerCalls¹                 integer    0                time to delay between starting outbound calls
164       TagLineFont                   string     -                tag line font filename
165       TagLineFormat                 string     see below        tag line format string
166       TagLineLocale                 string     see below        tag line format locale
167       TIFF2FaxCmd²                  string     bin/tiff2fax     TIFF converter command script
168       TimeOfDay¹                    string     Any              default time-of-day restrictions
169       TSIRecvdCmd                   string     -                script executed after TSI receipt, can drop calls
170       Use2D¹                        boolean    Yes              restrict/permit use of 2D-encoded fax data
171       UseJobTSI                     boolean    No               use job-specified TSI instead of LocalIdentifier
172       UseJobTagLine                 boolean    Yes              Allow use of job-specified Tagline instead of TagLineFormat
173       UUCPLockMode²                 octal      0600             protection mode for UUCP lock files
174       UUCPLockDir²                  string     see below        UUCP lockfile directory
175       UUCPLockTimeout²              integer    30               time before removing stale UUCP lockfile
176       UUCPLockType²                 string     see below        UUCP lockfile type
177       VGettyArgs                    string     -                arguments passed to voice getty program
178       WedgedCmd¹                    string     bin/wedged       command to run when modem is wedged
179       ModemAnswerCmd                string     ATA              command for answering phone
180       ModemAnswerAgainCmd           string     <delay:50>ATA    command for answer recovery
181       ModemAnswerDataBeginCmd       string     -                command for start of answered data call
182       ModemAnswerDataCmd            string     ATA              command for answering data call
183       ModemAnswerDialCmd            string     ATA              command for answering dialed call
184       ModemAnswerFaxBeginCmd        string     -                command for start of answered fax call
185       ModemAnswerFaxCmd             string     ATA              command for answering fax call
186       ModemAnswerResponseTimeout    integer    180000           answer command timeout (ms)
187       ModemAnswerVoiceBeginCmd      string     -                command for start of answered voice call
188       ModemAnswerVoiceCmd           string     ATA              command for answering voice call
189       ModemATCmdDelay               integer    0                delay before sending modem an AT cmd (ms)
190       ModemBaudRateDelay            integer    10               delay (ms) after setting baud rate
191       ModemClassQueryCmd            string     AT+FCLASS=?      command for querying modem services
192       ModemCommaPauseTimeCmd        string     ATS8=2           command for setting time to pause for ``,'' in dialing string
193       ModemDialCmd                  string     ATDT%s           command for dialing (%s for number to dial)
194       ModemDialResponseTimeout      integer    180000           dialing command timeout (ms)
195       ModemDoPhaseCDebug            boolean    No               query modem responses during Phase C transmit
196       ModemDTRDropDelay             integer    75               delay (ms) between DTR OFF and DTR ON
197       ModemEchoOffCmd               string     ATE0             command for disabling command echo
198       ModemFlowControl              string     XONXOFF          DTE-DCE flow control scheme
199       ModemFrameFillOrder           string     LSB2MSB          bit order for HDLC frames
200       ModemHardFlowCmd              string     -                command for setting hardware flow control between DTE and DCE
201       ModemMinSpeed                 string     2400             minimum acceptable transmit speed
202       ModemMfrQueryCmd              string     -                command for querying modem manufacturer
203       ModemModelQueryCmd            string     -                command for querying modem model
204       ModemNoAutoAnswerCmd          string     ATS0=0           command for disabling auto-answer
205       ModemNoAutoAnswerCmdDelay     integer    0                time, in ms, to pause after a disabling auto-answer
206       ModemNoFlowCmd                string     -                command for disabling hardware flow control between DTE and DCE
207       ModemOnHookCmd                string     ATH0             command for placing phone ``on hook''
208       ModemPageDoneTimeout          integer    180000           page send/receive timeout (ms)
209       ModemPageStartTimeout         integer    180000           page send/receive timeout (ms)
210       ModemRaiseATCommands          boolean    Yes              raise AT commands in configuration to upper-case
211       ModemRate                     integer    19200            baud rate to use for DCE-DTE communication
212       ModemReadyCmds                string     -                additional final commands when resetting modem
213       ModemRecvFillOrder            string     see below        bit order for received facsimile data
214       ModemRecvSuccessCmd           string     -                command to send after a successful reception
215       ModemResetCmds                string     -                additional commands when resetting modem
216       ModemResetDelay               integer    2600             delay (ms) after placing DTR ON
217       ModemResultCodesCmd           string     ATQ0             command for enabling result codes
218       ModemRevQueryCmd              string     see below        command for querying modem firmware revision
219       ModemSendBeginCmd             string     -                command to send on establishing carrier
220       ModemSendFillOrder            string     LSB2MSB          bit order for sending facsimile data
221       ModemSetOriginCmd             string     -                command to set call origin information
222       ModemSetVolumeCmd             string     see below        commands for setting modem speaker volume level
223       ModemSetupAACmd               string     -                command for setting up adaptive answer
224       ModemSetupDCDCmd              string     -                command for setting up DCD handling
225       ModemSetupDTRCmd              string     -                command for setting up DTR handling
226       ModemSoftFlowCmd              string     -                command for setting software flow control between DTE and DCE
227       ModemSoftResetCmd             string     ATZ              command for doing a soft reset
228       ModemSoftResetCmdDelay        integer    3000             time, in ms, to pause after a soft reset
229       ModemSoftRTFCC                boolean    Yes              enable software-driven real-time fax compression conversion
230       ModemType                     string     see below        modem type
231       ModemVerboseResultsCmd        string     ATV1             command for enabling verbose result codes
232       ModemWaitForConnect           boolean    No               force server to wait for ``CONNECT'' response on answer
233       ModemWaitTimeCmd              string     ATS7=60          command for setting time to wait for carrier when dialing
234       FaxT1Timer                    integer    35000            CCITT T.30 T1 timer (ms)
235       FaxT2Timer                    integer    7000             CCITT T.30 T2 timer (ms)
236       FaxT4Timer                    integer    3100             CCITT T.30 T4 timer (ms)
237       Class0Cmd                     string     AT+FCLASS=0      Class 0: command to enter class 0
238       Class1Cmd                     string     AT+FCLASS=1      Class 1: command to enter class 1
239       Class1Cmd                     string     AT+FCLASS=1.0    Class 1.0: command to enter class 1
240       Class1AdaptRecvCmd            string     -                Class 1/1.0: command for adaptive reception support
241       Class1ColorJPEGSupport        boolean    No               Class 1/1.0: to enable color JPEG fax support
242       Class1EnableV34Cmd            string     -                Class 1/1.0: command to enable V.34-fax support
243       Class1ECMCheckFrameLength     boolean    No               Class 1/1.0: require complete ECM frame lengths
244       Class1ECMSupport              boolean    Yes              Class 1/1.0: enable T.30-A ECM support
245       Class1PersistentECM           boolean    Yes              Class 1/1.0: to continue to correct while in ECM
246       Class1ECMFrameSize            integer    256              Class 1/1.0: image frame size in ECM protocol
247       Class1ExtendedRes             boolean    -                Class 1/1.0: enable extended resolution support
248       Class1HasRHConnectBug         boolean    No               Class 1/1.0: modem can report CONNECT incorrectly
249       Class1HFLOCmd                 string     -                Class 1/1.0: command to set hardware flow control
250       Class1FrameOverhead           integer    4                Class 1/1.0: extra bytes in a received HDLC frame
251       Class1GreyJPEGSupport         boolean    No               Class 1/1.0: to enable grey JPEG fax support
252       Class1HookSensitivity         integer    0                Class 1/1.0: times to ignore on-hook detection
253       Class1JBIGSupport             string     see below        Class 1/1.0: to enable monochrome JBIG fax support
254       Class1MRSupport               boolean    Yes              Class 1/1.0: enable 2-D MR support
255       Class1MMRSupport              boolean    Yes              Class 1/1.0: enable 2-D MMR support
256       Class1NFLOCmd                 string     -                Class 1/1.0: command to set no flow control
257       Class1PageLengthSupport       integer    7                Class 1/1.0: coded value for modem page length support
258       Class1PageWidthSupport        integer    7                Class 1/1.0: coded value for modem page width support
259       Class1RecvAbortOK             integer    200              Class 1/1.0: max wait (ms) for ``OK'' after recv abort
260       Class1RecvIdentTimer          integer    40000            Class 1/1.0: max wait (ms) for initial ident frame
261       Class1RestrictPoorDestinations¹          integer          0Class 1/1.0: restrict features for destinations with poor quality
262       Class1RestrictPoorSenders     integer    0                Class 1/1.0: restrict features for senders with poor quality
263       Class1RMPersistence           integer    2                Class 1/1.0: times to attempt high-speed carrier recv
264       Class1SFLOCmd                 string     -                Class 1/1.0: command to set software flow control
265       Class1PPMWaitCmd              string     AT+FTS=7         Class 1/1.0: command to stop and wait before PPM
266       Class1ResponseWaitCmd         string     -                Class 1/1.0: command to wait before TCF response
267       Class1Resolutions             integer    0x7F             Class 1/1.0: bitmap of supported resolutions
268       Class1RMQueryCmd              string     AT+FRM=?         Class 1/1.0: command to query modem data reception rates
269       Class1TCFWaitCmd              string     AT+FTS=7         Class 1/1.0: command to stop and wait before TCF
270       Class1TMQueryCmd              string     AT+FTM=?         Class 1/1.0: command to query modem data transmission rates
271       Class1EOPWaitCmd              string     AT+FTS=9         Class 1/1.0: command to stop and wait before EOP
272       Class1ModemHasDLEBug          boolean    No               Class 1/1.0: modem fails to double DLE in V.21
273       Class1MsgRecvHackCmd          string     ""               Class 1/1.0: command to avoid +FCERROR before image data
274       Class1SSLFaxCert              string     etc/ssl.pem      Class 1/1.0: PEM certificate file for SSL Fax
275       Class1SSLFaxClientTimeout     integer    5000             Class 1/1.0: timeout waiting for client connection
276       Class1SSLFaxInfo              string     -                Class 1/1.0: hostname and port number for SSL Fax
277       Class1SSLFaxSupport           boolean    Yes              Class 1/1.0: support for SSL Fax
278       Class1SSLFaxServerTimeout     integer    2000             Class 1/1.0: timeout waiting for server connection
279       Class1TCFRecvHackCmd          string     ""               Class 1/1.0: command to avoid +FCERROR before TCF
280       Class1TCFMaxNonZero           integer    10               Class 1/1.0: max% of non-zero data in good TCF
281       Class1TCFMinRun               integer    1000             Class 1/1.0: minimum zero run in good TCF
282       Class1TCFMinRunECMMod         integer    2                Class 1/1.0: modify minimum zero run in ECM by this factor
283       Class1TCFRecvTimeout          integer    4500             Class 1/1.0: max wait (ms) for TCF
284       Class1TMConnectDelay          integer    0                Class 1/1.0: delay between +FTM CONNECT and data transmission
285       Class1SwitchingCmd            string     AT+FRS=7         Class 1/1.0: command to ensure silence after HDLC reception
286       Class1ValidateV21Frames       boolean    No               Class 1/1.0: check FCS against received frames
287       Class2Cmd                     string     AT+FCLASS=2      Class 2: command to enter class 2/2.0
288       Class2AbortCmd                string     AT+FK            Class 2: command to abort active session
289       Class2APCmd                   string     AT+FAP           Class 2: enable support for sending and receiving SUB, SEP, and PWD frames
290       Class2APQueryCmd              string     AT+FAP=?         Class 2: query capabilities for sending and receiving SUB, SEP, and PWD frames
291       Class2BORCmd                  string     AT+FBOR=0        Class 2: command to setup bit order
292       Class2BUGCmd                  string     AT+FBUG=1        Class 2: command to enable HDLC frame tracing
293       Class2CIGCmd                  string     AT+FCIG          Class 2: command to set polling identifier
294       Class2CRCmd                   string     AT+FCR=1         Class 2: command to enable receive capability
295       Class2CQCmd                   string     -                Class 2: command to setup copy quality parameters
296       Class2CQQueryCmd              string     AT+FCQ=?         Class 2: command to query modem copy quality capabilities
297       Class2DCCCmd                  string     AT+FDCC          Class 2: command to set modem capabilities
298       Class2DCCQueryCmd             string     AT+FDCC=?        Class 2: command to query modem capabilities
299       Class2DisableV17Cmd           string -   Class 2: command to disable V.17 support
300       Class2DISCmd                  string     AT+FDIS          Class 2: command to set session parameters
301       Class2DDISCmd                 string     -                Class 2: command to set session parameters before dialing
302       Class2ECMType                 string     ``2''            Class 2: ECM specification type to follow
303       Class2HexNSF                  boolean    Yes              Class 2: parse NSF strings as hex values
304       Class2HFLOCmd                 string     -                Class 2: command to set hardware flow control
305       Class2LIDCmd                  string     AT+FLID          Class 2: command to set local identifier string
306       Class2MINSPCmd                string     AT+FMINSP        Class 2: command to set minimum transmit speed
307       Class2NFLOCmd                 string     -                Class 2: command to set no flow control
308       Class2PACmd                   string     AT+FPA           Class 2: set polling address string
309       Class2PHCTOCmd                string     AT+FPHCTO=30     Class 2: command to set Phase C timeout parameter
310       Class2PTSCmd                  string     AT+FPTS          Class 2: command to set received page status
311       Class2PWCmd                   string     AT+FPW           Class 2: set password string
312       Class2RecvDataTrigger         string     ``\21''          Class 2: character to send to trigger recv
313       Class2RELCmd                  string     -                Class 2: command to enable byte-aligned EOL codes
314       Class2SACmd                   string     AT+FSA           Class 2: set destination subaddress string
315       Class2SendRTC                 boolean    No               Class 2: append RTC to page data on transmit
316       Class2SFLOCmd                 string     -                Class 2: command to set software flow control
317       Class2SPLCmd                  string     AT+FSPL          Class 2: command to set polling request
318       Class2TBCCmd                  string     AT+FTBC=0        Class 2: command to enable stream mode
319       Class2UseLineCount            boolean    No               Class 2: use the line count from the firmware decoder
320       Class2UseHex                  boolean    No               Class 2: parse capabilities strings as hex values
321       Class2XmitWaitForXON          boolean    Yes              Class 2: wait for XON before sending facsimile data
322       Class2Cmd                     string     AT+FCLASS=2.0    Class 2.0: command to enter class 2/2.0
323       Class2AbortCmd                string     AT+FKS           Class 2.0: command to abort active session
324       Class2APCmd                   string     AT+FAP           Class 2.0: enable support for sending and receiving SUB, SEP, and PWD frames
325       Class2APQueryCmd              string     AT+FAP=?         Class 2.0: query capabilities for sending and receiving SUB, SEP, and PWD frames
326       Class2BORCmd                  string     AT+FBO=0         Class 2.0: command to setup bit order
327       Class2BUGCmd                  string     AT+FBU=1         Class 2.0: command to enable HDLC frame tracing
328       Class2CIGCmd                  string     AT+FPI           Class 2.0: command to set polling identifier
329       Class2CRCmd                   string     AT+FCR=1         Class 2.0: command to enable receive capability
330       Class2CQCmd                   string     -                Class 2.0: command to setup copy quality parameters
331       Class2CQQueryCmd              string     AT+FCQ=?         Class 2.0: command to query modem copy quality capabilities
332       Class2DCCCmd                  string     AT+FCC           Class 2.0: command to set modem capabilities
333       Class2DCCQueryCmd             string     AT+FCC=?         Class 2.0: command to query modem capabilities
334       Class2DisableV17Cmd           string -   Class 2.0: command to disable V.17 support
335       Class2DisableV34Cmd           string -   Class 2.0: command to disable V.34 support
336       Class2DISCmd                  string     AT+FIS           Class 2.0: command to set session parameters
337       Class2ECMType                 string     ``2.0''          Class 2.0: ECM specification type to follow
338       Class2HexNSF                  boolean    Yes              Class 2.0: parse NSF strings as hex values
339       Class2HFLOCmd                 string     AT+FLO=2         Class 2.0: command to set hardware flow control
340       Class2JBIGSupport             string     see below        Class 2.0: to enable monochrome JBIG fax support
341       Class2JPEGSupport             boolean    No               Class 2.0: use modem JPEG support
342       Class2LIDCmd                  string     AT+FLI           Class 2.0: command to set local identifier string
343       Class2MINSPCmd                string     AT+FMS           Class 2.0: command to set minimum transmit speed
344       Class2NFLOCmd                 string     AT+FLO=0         Class 2.0: command to set no flow control
345       Class2NRCmd                   string     AT+FNR=1,1,1,1   Class 2.0: command to set negotiation message reporting
346       Class2PACmd     string        AT+FPA     Class 2.0: set polling address string
347       Class2PHCTOCmd                string     AT+FCT=30        Class 2.0: command to set Phase C timeout parameter
348       Class2PIECmd                  string     AT+FIE=0         Class 2.0: command to set procedure interrupt handling
349       Class2PWCmd     string        AT+FPW     Class 2.0: set password string
350       Class2PTSCmd                  string     AT+FPS           Class 2.0: command to set received page status
351       Class2PTSQueryCmd             string     AT+FPS?          Class 2.0: command to query received page status
352       Class2RecvDataTrigger         string     ``\22''          Class 2.0: character to send to trigger recv
353       Class2RELCmd                  string     -                Class 2.0: command to enable byte-aligned EOL codes
354       Class2RTFCC                   boolean    No               Class 2.0: enable real-time fax compression conversion
355       Class2SACmd     string        AT+FSA     Class 2.0: set destination subaddress string
356       Class2SendRTC                 boolean    No               Class 2.0: append RTC to page data on transmit
357       Class2SFLOCmd                 string     AT+FLO=1         Class 2.0: command to set software flow control
358       Class2SPLCmd                  string     AT+FSP           Class 2.0: command to set polling request
359       Class2TBCCmd                  string     AT+FPP=0         Class 2.0: command to enable stream mode
360       Class2UseLineCount            boolean    No               Class 2.0: use the line count from the firmware decoder
361       Class2UseHex                  boolean    No               Class 2.0: parse capabilities strings as hex values
362       PagerSetupCmds                string     -                commands for setting up modem for a pager call
363       PagerMaxMsgLength             integer    128              max length of a text message
364       IXOService                    string     ``PG''           IXO: service identification string
365       IXODeviceID                   string     ``1''            IXO: device identification string
366       IXOMaxUnknown                 integer    3                IXO and UCP: max unknown responses before abort
367       IXOIDProbe                    integer    2                IXO: time between sending \r during ID sequence (secs)
368       IXOIDTimeout                  integer    20               IXO: max time to wait for ID= response (secs)
369       IXOLoginRetries               integer    3                IXO: max attempts to login
370       IXOLoginTimeout               integer    15               IXO: max time to complete login (secs)
371       IXOGATimeout                  integer    30               IXO: max time to wait for Go-Ahead response (secs)
372       IXOXmitRetries                integer    3                IXO and UCP: max retries to send text msg block
373       IXOXmitTimeout                integer    15               IXO and UCP: max time to transmit text msg block
374       IXOAckTimeout                 integer    30               IXO: max time to wait for msg block ack (secs)
375

SERVER-ORIENTED CONFIGURATION PARAMETERS

377       These configuration parameters affect the general operation of the  fax
378       server.
379
380       AdaptiveAnswer
381              Control  whether  or  not an adaptive answering strategy is used
382              whereby an incoming call is answered in multiple ways  according
383              to  the list specified in the AnswerRotary parameter.  For exam‐
384              ple, if adaptive answering is enabled and AnswerRotary specifies
385              ``fax  data'',  then  an incoming call will first be answered as
386              fax using ModemAnswerFaxCmd and then, if  that  fails,  as  data
387              using  ModemAnswerDataCmd.   If  the adaptive answer strategy is
388              not enabled, then calls are answered using the appropriate Mode‐
389              mAnswer*Cmd  parameter  (normally  ModemAnswerCmd for unattended
390              operation).  Note that the adaptive answer strategy  depends  on
391              many factors that limit its usefulness.  When calls are answered
392              first as fax, it typically only  works  with  a  Class  1  modem
393              because  it is important that the sequence of operations related
394              to answering as fax be completed in a short enough time  that  a
395              subsequent  answer  for data be done before the caller times out
396              and hangs up the telephone (for this reason Class1RecvIdentTimer
397              should  be  set  to  a  value  that is shorter than FaxT1Timer.)
398              Also, note that it is sometimes necessary to  arrange  that  the
399              phone  be  placed  on-hook  between successive answers; this can
400              typically be done by inserting the appropriate  command  at  the
401              start of the second and subsequent ModemAnswer*Cmds.
402
403       AdminGroup
404              Tells  PAM  what  user  group  is  allowed to administer the fax
405              server.  Only useful if the server is compiled with PAM enabled.
406
407       AllowIgnoreModemBusy¹
408              Whether or not to honor job requests to ignore modem busy status
409              when allocating jobs to a modem.  The intended use for this fea‐
410              ture is to allow configurations whereby a  DynamicConfig  script
411              can  send a fax to an incoming caller (contrary to T.30 protocol
412              for sending or polling).
413
414       AnswerRotary
415              The sequence of answering techniques the server should  ``rotate
416              through'' when answer incoming calls.  Answering techniques are:
417              Name    Description
418              fax     answer a fax call
419              data    answer a data call
420              voice   answer a voice call
421              extern  use the vgetty application to answer a call
422              any     answer a call of any/unknown type
423              When  a  call  is not answered successfully, the server advances
424              the rotary to the next specified answering technique.  If  Adap‐
425              tiveAnswer  is  enabled,  the  server will try all the answering
426              techniques for each incoming call.   Otherwise,  the  rotary  is
427              advanced  between  unsuccessful  phone  calls.   For example, if
428              AdaptiveAnswer is disabled and  AnswerRotary  is  ``fax  data'',
429              then the calls will initially be answered as fax until the first
430              call is received that does not appear to be from a fax  machine;
431              after  that  calls  will be answered as if they were from a data
432              modem until the next unsuccessful call; after  which  they  will
433              one  again  be answered as fax.  Only the first three techniques
434              listed are used; any additional  ones  are  (silently)  ignored.
435              See also AnswerBias.
436
437       AnswerBias
438              The  index  into  the  AnswerRotary  list that the server should
439              rotate the list to after each successful  incoming  phone  call.
440              List  indices  are  numbered  starting at zero.  For example, if
441              AnswerRotary is ``fax data'' and AnswerBias  is  1,  then  after
442              each  successful inbound call, the next call will be answered as
443              data.
444
445       AreaCode²
446              The local area code in which the facsimile modem resides.   This
447              value  is  passed  to  the  dial string rules that are used, for
448              example, to formulate canonical phone numbers for  dialing  (see
449              DialStringRules below.)
450
451       AuditHook¹
452              Specifies  a program command and an interest specification indi‐
453              cating which events as described in faxwatch(8C) should  trigger
454              the execution of the program.  For example, this configuration:
455
456                  AuditHook: "bin/hook: J*S*M*R*"
457
458              would cause bin/hook to be executed upon every event.  The argu‐
459              ments passed to  the  hook  program  are  respectively  <class>,
460              <mask>, <id>, and optionally [info] where...
461
462                  <class> = JOB | SEND | MODEM | RECV
463                  <mask>  = the specific event
464                  <id>    = id of the job/modem with which the event is associated
465                  [info]  = additional information
466
467
468       BadPageHandlingMethod
469              (Class 1/1.0 only) Specifies how to react to a bad page received
470              from the remote sender:  one  of  ``RTN'',  ``DCN'',  or  ``RTN-
471              SAVE''.
472
473              If  a page is received in non-ECM mode with unacceptable quality
474              according to PercentGoodLines or MaxConseutiveBadLines  then  it
475              can  be  somewhat difficult to inform the sender of the problem.
476              Historically, HylaFAX has assumed that  signalling  RTN  to  the
477              sender  will  accomplish  this.  However, some senders are inca‐
478              pable of retransmitting pages, and to reduce burden  they  treat
479              an  RTN signal as a receipt confirmation and proceed to the next
480              page without notifying the sending user of the potential problem
481              in  readability on the receive-end.  (The assumption there being
482              that the receiving user will notify the sending  user  if  there
483              actually is a readability problem.)
484
485              A  setting  of ``RTN'' is the historic behavior and assumes that
486              an RTN signal will be enough to get the sender to retransmit  or
487              be  otherwise informed of a potential readability problem on the
488              receive-end.  The previously-received page data is marked to  be
489              overwritten by the next page data received from the sender.
490
491              A  setting  of ``DCN'' tells HylaFAX to transmit a DCN signal in
492              response to the post-page message  and  should  trigger  a  call
493              abortion  by the sender.  This should clearly indicate a problem
494              in page readability to the sender, although the receipt  of  any
495              following pages in a later call cannot be guaranteed.
496
497              A setting of ``RTN-SAVE'' more closely approximates the behavior
498              of other fax receivers (especially  fax  machines).   It  causes
499              HylaFAX  to  send  the  RTN  signal  but it saves the previously
500              received page data and places the next transmitted page data  in
501              another page.  This is the default setting.  However, this could
502              result in multiple copies of the same page image being saved  in
503              the  same  file - if the sender does indeed retransmit the unac‐
504              ceptable pages during the same call.
505
506       BatchLogs¹
507              When sending or receiving multiple documents (denoted  by  EOM),
508              this  value determines if the session logs span the entire batch
509              or, if set to no, only contain a single document.
510
511       CallIDPattern
512              A string that identifies the caller's identity in any call iden‐
513              tification  messages provided by the modem (such as Caller*ID or
514              DNIS/DID).  The specified string is compared against any  unrec‐
515              ognized  status messages received from the modem before ModemAn‐
516              swerCmd is sent to the modem.  If there is  a  match,  then  the
517              remainder  of  the message is returned as CallIDn where n corre‐
518              sponds to the n'th instance that this CallIDPattern is from  the
519              top in the modem configuration file.  For example, for the ZyXEL
520              U-1496 this parameter would be set to
521              CallIDPattern: ``CALLER NAME: '' (note the trailing space).
522              If more than one message matches  between  instances  of  "RING"
523              messages, then the message remainders are concatenated.
524
525              The  special CallID value of "SHIELDED_DTMF" is used in conjunc‐
526              tion with ModemRingResponse and CallIDAnswerLength.  After  exe‐
527              cuting ModemRingResponse, HylaFAX will expect DTMF data (usually
528              DLE-shielded) for CallIDn until CallIDAnswerLength  is  reached.
529              Note  that if the modem is in voice mode to hear these DTMF dig‐
530              its, then it must be returned to fax mode in the ModemAnswerCmd.
531              In order to prevent this feature from losing incoming fax calls,
532              if fax sender CNG is detected while waiting for DTMF or  if  ten
533              seconds  elapse  without  sufficient  DTMF  then  the  remaining
534              expected digits will be populated by whitespace, triggering  fax
535              answering.
536
537              For  example, the following settings will cause HylaFAX to enter
538              voice mode and go off-hook when a RING  is  detected.   It  will
539              then  expect four DTMF digits (presumably for routing), and then
540              it will pause for 100  ms  before  returning  to  fax  mode  and
541              answering the call.
542
543                ModemRingResponse:     AT+FCLASS=8;H1
544                CallIDPattern:         SHIELDED_DTMF
545                CallIDAnswerLength:    4
546                ModemAnswerCmd:        <delay:100>AT+FCLASS=1;A
547
548              For  modems  that  do  not support AT+FCLASS=8 (such as some USR
549              modems) this may be an appropriate equivalent:
550
551                ModemRingResponse:      "AT#CLS=8\nAT#VLS=4\nATA"
552                CallIDPattern:          SHIELDED_DTMF
553                CallIDAnswerLength:     4
554                ModemAnswerCmd:         "<delay:100>AT+FCLASS=1\nATA"
555
556              Multiple entries of CallIDPattern are used together in one modem
557              configuration   file   in   order  to  capture  multiple  CallID
558              responses.  For example, the following  settings  would  capture
559              "NDID"  responses  from  the  modem as CallID1, "NMBR" responses
560              from the modem as CallID2, "NAME" responses as CallID3,  and  it
561              would  trigger  ModemAnswerCmd  whenever CallID1 or CallID2 were
562              longer than 7 or 10 characters, respectively.
563
564                CallIDPattern:         "NDID="
565                CallIDAnswerLength:    7
566                CallIDPattern:         "NMBR="
567                CallIDAnswerLength:    10
568                CallIDPattern:         "NAME="
569
570              Note that this example is only given as an example, and probably
571              would  cause  unexpected results.  Because pattern-matching ends
572              when ModemAnswerCmd is sent to the modem, if "NDID", "NMBR", and
573              "NAME"  responses  came  from  the  modem in that order, and the
574              "NDID" response was at least 7 characters  long,  then  ModemAn‐
575              swerCmd  would  be  sent  to the modem immediately following the
576              "NDID" response, and the "NMBR" and "NAME"  responses  would  be
577              ignored.   Generally  only one CallIDAnswerLength item should be
578              in a modem configuration file.
579
580              Call identification data is usually only sent once by the  telco
581              or  PBX,  and the timing of its arrival varies upon the telco or
582              PBX and the type of line.  If HylaFAX is  configured  to  answer
583              via RingsBeforeAnswer prior to the arrival of the data, then all
584              CallID values will be null.  For example, on  US  analog  lines,
585              caller-ID  data  is usually sent between RINGs 1 and 2.  In this
586              situation, RingsBeforeAnswer should be set to ``2'' or greater.
587
588       CallIDAnswerLength
589              An integer indicating the minimum number of characters in a Cal‐
590              lID  matching  the  previous  CallIDPattern  to be received when
591              ModemAnswerCmd is sent to the modem irrespective of any RingsBe‐
592              foreAnswer  value  greater than zero.  This allows the answering
593              of calls which deliver CID/DID data but not RINGs.  For example,
594              CallIDAnswerLength: ``7''
595              would cause the call to  be  answered  when  CallID2  reached  a
596              length  of seven digits.  A value of zero for CallIDAnswerLength
597              disables this feature.
598
599       CallIDDisplay
600              Whether or not to display the CallIDPattern match in  the  modem
601              status line.
602
603       CallIDLabel
604              The label to use in the presentation of any CallIDPattern match.
605              (For example, when CallIDDisplay  or  CallIDRecord  indicate  to
606              diplay or record the match.)
607
608       CallIDRecord
609              Whether or not to record the CallIDPattern match in the received
610              image file.
611
612       CallIDType
613              Identifies the type of indicator in the associated CallIDPattern
614              match.  The special type ``calling-number'' enables the faxgetty
615              process to utilize an associated entry in the info database  for
616              items   such   as   senderDataSent,   senderDataMissed,  sender‐
617              HasV17Trouble, and senderSkipsV29.  See hylafax-info(5F).
618
619       ClocalAsRoot
620              Control whether operations that set the CLOCAL bit on the  modem
621              device  special  file are done with the effective user-ID set to
622              the super-user or the ``fax'' user.  By default such  operations
623              are  done as the fax user, except under IRIX where they are done
624              as the super-user (because IRIX disallows manipulation of CLOCAL
625              by anyone but the super-user).
626
627       ContCoverCmd¹
628              The command to invoke to generate a continuation cover page; see
629              ContCoverPage and mkcover(8C).
630
631       ContCoverPage¹
632              A template file to use in creating continuation cover pages.  If
633              this  parameter is non-null, then the server will pass the file‐
634              name to the command specified by ContCoverCmd to generate  cover
635              pages  for  outbound  jobs  that  are  continued  after protocol
636              errors.  These cover pages identify the  receiver  and  indicate
637              that  the document is a continued transmission.  If this parame‐
638              ter is not specified or is null, then the server will not gener‐
639              ate  continuation  cover  pages.  The specified pathname must be
640              relative to the top of the fax server's spooling area.
641
642       CountryCode²
643              The local country code in which the facsimile modem resides.  As
644              for  AreaCode, this value is passed to the dial string rules for
645              use in formulating canonical phone numbers  for  dialing  (among
646              other things.)
647
648       DeviceMode
649              The  file  protection  mode  that  the server should set for the
650              modem device file.  Note that this value is given in octal.  The
651              default value of 0600 implies that only the facsimile user (usu‐
652              ally uucp) can access the modem.  See also chmod(2).
653
654       DialStringRules²
655              The pathname of the file that holds  the  rules  for  processing
656              user-specified dial strings; c.f.  dialrules(5F).  The specified
657              pathname must be relative to the top of the fax server's  spool‐
658              ing area; e.g.  etc/dialrules.
659
660       DistinctiveRings
661              Modern  distinctive  ring  support  on most modems indicates the
662              ring  cadence  rather  than  the  older  style   of   ``RING1'',
663              ``RING2'',  etc.   To  indicate  the  ring  cadence, DRingOn and
664              DRingOff values are presented  by  the  modem  to  the  faxgetty
665              process.    The  modem  indicates  the  entire  cadence  between
666              ``RING'' indications Like this:
667
668                RING
669                DROF=40
670                DRON=8
671                DROF=4
672                DRON=8
673                RING
674
675              The  corresponding  DistinctiveRings  parameter  for  this  ring
676              cadence would be:
677
678                DistinctiveRings:  F-8-4-8
679
680              where  ``F'' tells the faxgetty process that the ring cadence is
681              for a facsimile (``V'' for voice and ``D'' for  data),  and  the
682              other  values  describe the ring cadence with leading and ending
683              DRingOff values ignored.  Multiple ring cadences  are  indicated
684              by delimiting them with commas in this fashion:
685
686                DistinctiveRings:  V-20,F-8-4-8,D-4-2-4-8
687
688
689       DRingOff
690              A  string  that  identifies the ``off'' value in any distinctive
691              ring cadence, for example ``DROF=''.  See also DRingOn and  Dis‐
692              tinctiveRings.
693
694       DRingOn
695              A  string  that  identifies  the ``on'' value in any distinctive
696              ring cadence, for example ``DRON=''.  See also DRingOff and Dis‐
697              tinctiveRings.
698
699       DynamicConfig
700              The pathname of the optional program, e.g. ``etc/localid'', that
701              makes dynamic configuration changes, i.e.,  to  LocalIdentifier,
702              based  on  device  ID  and  call identification.  The program is
703              passed those values as the parameters ($1 = device id, $2 = Cal‐
704              lID1, $3 = CallID2, $4 = CallID3, ...), when answering an incom‐
705              ing call.  The program can  then  perform  local  processing  as
706              desired  to  send  on standard output the configuration items to
707              change in a ``parameter:value'' format, i.e.  ``LocalIdentifier:
708              +1.800.555.1212''.   If  there  are  multiple  parameters  to be
709              changed, then each item must be on its own line.  This  is  com‐
710              monly used to dynamically alter the local identification of sys‐
711              tems which use DID/DNIS, but it can also be used to  allow  dif‐
712              ferent modem configurations for different senders.  This program
713              can also set the RejectCall options to cause the current call to
714              be  rejected  instead  of answered.  Note that this file must be
715              marked as executable by the faxgetty process.
716
717       EGettyArgs
718              A string that indicates whether or not the server should use  an
719              an  external  getty  application  (egetty) to perhaps deduce and
720              possibly handle an incoming call.  If the string  value  is  not
721              null,  then  it  is interpreted as a set of arguments to pass to
722              egetty.  Before supplying the arguments,  the  string  is  first
723              scanned  for ``%''-escape sequences: any appearance of ``%l'' is
724              replaced with the tty name  and  any  appearance  of  ``%s''  is
725              replaced  with  the serial port speed (in decimal).  Any appear‐
726              ance of escaped numbers 1 through 9 (``%1'' through ``%9'')  are
727              replaced  by  the  match  to the corresponding CallIDPattern, if
728              present.  The ``%'' character can be specified with ``%%''.   If
729              the  EGettyArgs  parameter is not specified in the configuration
730              file or if the string value is null, then ``extern'' connections
731              will  be  rejected.  Note that in addition to the specified com‐
732              mand line arguments, egetty is invoked with its standard  input,
733              output,  and  error  descriptors directed to the controlling tty
734              device.
735
736              When egetty completes, its  exit  status  is  evaluated  and  is
737              interpreted  to  indicate what, if anything, should be done with
738              the call.  An exit status of ``0''  indicates  an  unknown  call
739              type  and  that  the call should be handled as if egetty had not
740              been used.  An exit status of ``1'' indicates a data  connection
741              and that the getty(8C) program should be used to handle the call
742              if configured (see GettyArgs), otherwise it will assume that the
743              call has been answered and that a data connection is established
744              and that it should proceed  by  issuing  ModemAnswerDataBeginCmd
745              (if configured) to the modem.  An exit status of ``2'' indicates
746              a fax connection is established and that it  should  proceed  by
747              issuing ModemAnswerFaxBeginCmd (if configured) to the modem.  An
748              exit status of ``3'' indicates a voice call and that the  vgetty
749              program  should  be  used  to handle the call if configured (see
750              VGettyArgs), otherwise it will assume that  the  call  has  been
751              answered  and that a voice connection is established and that it
752              should proceed by issuing ModemAnswerVoiceBeginCmd  (if  config‐
753              ured) to the modem.  An exit status of ``4'' is considered to be
754              an error condition.  The session will be  terminated.   An  exit
755              status of ``5'' is used to indicate that egetty handled the call
756              entirely, is not an error condition, and that the session is  to
757              be considered terminated.  Exit status values of ``11'', ``12'',
758              and ``13'' correspond to values ``1'', ``2'', and ``3''  respec‐
759              tively  except  that  values ``11'', ``12'', and ``13'' indicate
760              that the call has not been answered yet with  a  data,  fax,  or
761              voice  connection.  So if GettyArgs is not configured then Mode‐
762              mAnswerDataCmd is first issued to the modem for an  exit  status
763              of ``11'', ModemAnswerFaxCmd is first issued to the modem for an
764              exit status of ``12'', and if VGettyArgs is not configured  then
765              ModemAnswerVoiceCmd  is  first  issued  to the modem for an exit
766              status of ``13''.
767
768       FAXNumber
769              The phone number associated  with  the  facsimile  modem.   This
770              string  is used to generate the Transmitter Subscriber Identifi‐
771              cation (TSI) and Caller Subscriber Identification (CSI) informa‐
772              tion passed to remote machines—unless the LocalIdentifier param‐
773              eter is explicitly set.  The FAXNumber is also used to name  the
774              session  log  file where information for incoming phone calls is
775              recorded; see hylafax-log(5F).  If this phone number  is  not  a
776              fully  qualified  number  the values of AreaCode and CountryCode
777              are used to generate the transmitted CSI and TSI.
778
779       Include²
780              Include the specified config file as if it  were  part  of  this
781              config file.
782
783       InternationalPrefix²
784              The  string to use to place an international phone call.  In the
785              United States, this is ``011''.  This string is  passed  to  the
786              dial string rules.
787
788       JobControlCmd¹
789              The  command to invoke to which provides Job Control information
790              for a job. See jobcontrol(8C).
791
792       JobReqBusy
793              The delay in seconds to wait before retrying a job whose dialing
794              attempt failed with a ``BUSY'' status result.
795
796       JobReqDataConn
797              The  delay  in  seconds  to wait before retrying a facsimile job
798              whose dialing attempt failed because a data modem  answered  the
799              phone.
800
801       JobReqNoAnswer
802              The delay in seconds to wait before retrying a job whose dialing
803              attempt failed with a ``NO ANSWER'' status result.
804
805       JobReqNoCarrier
806              The delay in seconds to wait before retrying a job whose dialing
807              attempt failed with a ``NO CARRIER'' status result.
808
809       JobReqNoFCon
810              The  delay  in  seconds  to wait before retrying a facsimile job
811              whose dialing attempt failed because the initial facsimile  pro‐
812              tocol  handshake  failed (i.e. no ``+FCON:'' result was received
813              from a Class 2/2.0 modem).
814
815       JobReqOther²
816              The delay in seconds to wait before retrying a job  that  failed
817              for  a  reason not already covered by one of the JobReq* parame‐
818              ters.
819
820       JobReqProto
821              The delay in seconds to wait before  retrying  a  facsimile  job
822              that failed because of a fax protocol error.
823
824       JobRetryBusy
825              The  number  of times to redial a phone number after receiving a
826              ``BUSY'' result code when the number has not  been  successfully
827              dialed before.
828
829       JobRetryDataConn
830              The  number  of times to redial a phone number after the dialing
831              attempt failed because a data modem answered the phone when  the
832              number has not been successfully dialed before.
833
834       JobRetryNoAnswer
835              The  number  of times to redial a phone number after the dialing
836              attempt failed because of NO ANSWER when the number has not been
837              successfully dialed before.
838
839       JobRetryNoCarrier
840              The  number  of times to redial a phone number after the dialing
841              attempt failed because of NO CARRIER when  the  number  has  not
842              been  successfully  dialed  before.  In normal operation the fax
843              server will treat this result code  to  mean  that  a  facsimile
844              modem/machine  did  not answer the phone and reject the transmit
845              job.  This is done to avoid repeatedly dialing wrong phone  num‐
846              bers  and depends on the modem distinguishing between no carrier
847              and no answer.  However, some modems are not capable of reliably
848              distinguishing  between  no  carrier  and  no  answer,  or  when
849              instructed to do so do not identify  a  busy  signal  correctly.
850              For these modems one may find it necessary to increase the value
851              of this parameter to compensate.  It  is  strongly  recommended,
852              however, that this value not be set to a large number.
853
854       JobRetryOther
855              The  number  of times to redial a phone number after the dialing
856              attempt failed for a reason not already covered by  one  of  the
857              other JobRetry* parameters when the number has not been success‐
858              fully dialed before.
859
860       GettyArgs
861              A string that indicates whether or not the server should  invoke
862              the  getty(8C)  program  in  response to an incoming call from a
863              data modem.  If the string value is not null, then it is  inter‐
864              preted  as  a  set  of  arguments  to pass to the getty program.
865              Before supplying the arguments, the string is first scanned  for
866              ``%''-escape  sequences:  any  appearance  of ``%l'' is replaced
867              with the tty name and any appearance of ``%s'' is replaced  with
868              the  serial  port speed (in decimal).  Any appearance of escaped
869              numbers 1 through 9 (``%1'' through ``%9'') are replaced by  the
870              match to the corresponding CallIDPattern, if present.  The ``%''
871              character can be specified with ``%%''.  If the GettyArgs param‐
872              eter is not specified in the configuration file or if the string
873              value is null, then data connections  will  be  rejected.   Note
874              that  in  addition  to the specified command line arguments, the
875              getty program is invoked with its standard  input,  output,  and
876              error descriptors directed to the controlling tty device.
877
878       LocalIdentifier
879              The local station identification string to use when transmitting
880              TSI and CSI strings  (see  FAXNumber  above).   NB:  while  this
881              string  may  contain any printable ASCII characters; beware that
882              CCITT T.30 specifies a restricted character  set  and  some  fax
883              modems  and  machines  may reject or not display  non-conforming
884              strings.  If the local identifier is not specified, a  canonical
885              form of the FAXNumber is used instead.
886
887       LockDataCalls
888              Hold  the  UUCP lockfile during the time an inbound data call is
889              processed by the external getty program.  If  this  is  disabled
890              then  the lockfile will be removed just before the getty program
891              is invoked.  Note however that doing this introduces a race con‐
892              dition whereby an outbound program may sneak in and take control
893              of the modem after the  inbound  call  has  been  accepted,  but
894              before  the  getty program has started up and installed it's own
895              lockfile.
896
897       LockVoiceCalls
898              Hold the UUCP lockfile during the time an inbound data  call  is
899              processed  by the external voice getty program.  If this is dis‐
900              abled then the lockfile will be removed just  before  the  voice
901              getty  program  is invoked.  Note however that doing this intro‐
902              duces a race condition whereby an outbound program may sneak  in
903              and  take  control  of the modem after the inbound call has been
904              accepted, but before the voice getty program has started up  and
905              installed it's own lockfile.
906
907       LogFacility²
908              The symbolic name for the syslog(3) facility to use when logging
909              error messages and  informational/debugging  messages  requested
910              through the ServerTracing parameter.  The list of facility names
911              is standardized; it can be found  in  the  system  include  file
912              <syslog.h>; comparisons are case-insensitive.
913
914       LogCalls
915              Log  all  incoming  calls into xferfaxlog as CALL records.  This
916              allows a quick check of all incoming calls,  regardless  of  fax
917              completion or not in a unified manner with other fax logs.
918
919       LogFileMode
920              The file protection mode that should be used when creating files
921              to hold session logs.  Note that this value is given  in  octal.
922              The  default  value  of  0600 implies that the log files are not
923              generally accessible, which is important if  sensitive  informa‐
924              tion such as calling card access codes are logged.  If log files
925              are to be publicly accessible, this value may be set, for  exam‐
926              ple, to 0644.  See also chmod(2).
927
928       LogRecv
929              Log all recieved faxes into xferfaxlog as RECV records.
930
931       LogSend
932              Log all sent faxes into xferfaxlog as SEND records.
933
934       LongDistancePrefix²
935              The  string  to use to place a long distance phone call.  In the
936              United States, this is ``1''.
937
938       MaxConcurrentCalls¹
939              The default value to use for the maximum number of jobs for  the
940              same  destination  that  are  processed concurrently.  Thus this
941              parameter defines the maximum number of concurrent  phone  calls
942              to  the  same  destination.  Unless all of your fax destinations
943              have multiple fax lines using the same fax number  per  destina‐
944              tion  then  MaxConcurrentCalls  is  probably  best  left  as the
945              default of 1 and exceptions should be accommodated by  the  Job‐
946              Control  mechanism.   However,  for high-throughput applications
947              the special value of  ``0''  may  be  used;  this  configuration
948              instructs the server to permit limitless concurrent calls to the
949              same destination provided that all existing calls to that desti‐
950              nation  have  connected.  In this configuration if a busy signal
951              is encountered for a concurrent call then the various  ``dials''
952              counters  are  not incremented, and further concurrent calls are
953              temporarily stalled.
954
955       MaxConcurrentPreps¹
956              The maximum number of jobs preparations that may be run simulta‐
957              neously.   This is designed to prevent the scheduler from initi‐
958              ating so many job preparations that the system resources  become
959              constrained in the operations.
960
961       MaxBatchJobs¹
962              The maximum number of jobs to batch together in a single call.
963
964       MaxConsecutiveBadLines
965              The  maximum  number of consecutive erroneous rows of image data
966              that the server will receive before it  deems  a  page  to  have
967              unacceptable  copy  quality.   Setting  this  parameter  to zero
968              causes the server to not check the quality of  received  facsim‐
969              ile.   Facsimile received with error-correction do not have copy
970              quality checking performed.  See also PercentGoodLines.
971
972       MaxDials¹
973              The default value for the maximum number  of  times  the  server
974              will  place a call for an outbound job.  This value may be over‐
975              ridden by rules in the JobControl mechanism.   This  feature  is
976              completely  distinct  from  the identically-named feature in the
977              client-server communication, and jobs  triggering  these  limits
978              will be handled differently for each.  See also MaxTries.
979
980       MaxProxyJobs¹
981              The  maximum  number of jobs which can be concurrently delivered
982              to a proxy for transmission.  This limit is to prevent proxy use
983              from overwhelming available system processes.
984
985       MaxRecvPages
986              The maximum number of pages the server will accept in a received
987              facsimile before it aborts the session.
988
989       MaxSendPages¹
990              The default value for the maximum number  of  pages  the  server
991              will  permit  in  a  transmitted  facsimile.  Outbound jobs that
992              exceed this limit are rejected.  This value may be overridden by
993              rules in the JobControl mechanism.
994
995       MaxSetupAttempts
996              The  maximum  number  of  times  a  HylaFAX  server program will
997              attempt to initialize a modem before considering it ``wedged''.
998
999       MaxTraversal¹
1000              The maximum depth into the job queues that  the  scheduler  will
1001              traverse  in  attempts  to batch jobs together in a single call.
1002              This is intended to prevent the scheduler from wasting a lot  of
1003              CPU  in  batching  attempts  when  the  job queues get very long
1004              (where batching is unlikely to be useful anyway).
1005
1006       MaxTries¹
1007              The default value for the maximum number  of  times  the  server
1008              will attempt to communicate with a remote site.  Note that for a
1009              call to be counted against this limit, carrier  must  be  estab‐
1010              lished;  this is in contrast to the value of MaxDials which lim‐
1011              its the number of calls that will be placed on behalf of a  job.
1012              This  value  may be overridden by rules in the JobControl mecha‐
1013              nism.  This feature is completely distinct from the identically-
1014              named feature in the client-server communication, and jobs trig‐
1015              gering these limits will be handled differently for  each.   See
1016              also MaxDials.
1017
1018       MinAcceptedLineCount
1019              The  minimum  number  of received scanlines allowed on an ``OK''
1020              page.  The use of this setting prevents confirmation from  being
1021              sent for very short pages.
1022
1023       ModemGroup¹
1024              Define  a logical name for a set of modem devices.  This parame‐
1025              ter can be used to define a name that clients can use  to  refer
1026              to  a  collection  of  modems.   The syntax is ``<name>:<defini‐
1027              tion>'' where <name> is the name for the group and  <definition>
1028              is  of  the  syntax  ``[<limit>:]<regex>''  where  <limit> is an
1029              optional formatted expression of the limits for this  ModemGroup
1030              and  <regex>  is  a  regular  expression  that  faxq(8C) matches
1031              against known modems.  Presently <limit> only refers to a number
1032              that  is  the minimum number of modems in the group that must be
1033              left to stay idle (for receiving) after assigning an active  job
1034              to  the  ModemGroup.   The  default  for <limit> is 0.  Thus for
1035              example, the default modem to use for a job, any, is defined  as
1036              ``any:0:.*''.  This parameter may be specified multiple times to
1037              define multiple modem classes.  Modem classes may overlap.   The
1038              actual  set  of  modems in a modem class that are considered for
1039              use may vary based on which modems are believed to be ready  for
1040              use.
1041
1042       ModemPriority
1043              The scheduling priority to use for a modem.  Priority values are
1044              in the range 0 to 255 with lesser values signifying higher (more
1045              desirable)  priority.  The HylaFAX scheduler process assigns the
1046              highest priority modem that is ready for use when scheduling  an
1047              outbound job.
1048
1049              If multiple available modems in a job's selected ModemGroup have
1050              the same ModemPriority value, then the HylaFAX scheduler assigns
1051              jobs to them in a round-robin fashion.
1052
1053       NoAnswerVoice
1054              Whether  or  not  to disable the answering of calls indicated as
1055              voice (e.g. by DistinctiveRings ).
1056
1057       NoCarrierRetrys
1058              This is mapped onto JobRetryNoCarrier
1059
1060       ModemReadyState
1061              Define the state transmitted to the  HylaFAX  scheduler  process
1062              each time a modem is made ready by a faxgetty process.  State is
1063              one of: ``R'' (ready for use), ``B'' (busy),  ``D''  (down),  or
1064              ``E''  (exempt).  The modem state can be used to control whether
1065              or not modems are assigned to outbound jobs.  A modem's state is
1066              initially  set to ``R'' (ready).  Modem state can be dynamically
1067              changed with the faxstate(8C) program or by setting this config‐
1068              uration  parameter  with the faxconfig(8C) program.  The HylaFAX
1069              scheduler process will not assign jobs to a modem with a  Modem‐
1070              ReadyState  of  anything  other  than  ``R''.   The  differences
1071              between ``B'', ``D'', and ``E'' are that ``B'' refers to a  tem‐
1072              porary condition that will automatically clear in the passing of
1073              time (as if the modem were in-use with receiving a  fax);  ``D''
1074              refers to a condition that will not automatically clear (such as
1075              a wedged condition); and ``E'' refers to a  permanent  condition
1076              as  configured  by  the  administrator  (as  for  a receive-only
1077              modem).  If a user submits a job to a specific modem that has  a
1078              ModemReadyState  of ``B'' or ``D'' then the job will wait in the
1079              queue until the modem is made available or until the  job  times
1080              out.   In  contrast,  jobs  submitted to a specific modem with a
1081              ModemReadyState of ``E''  will  be  rejected  outright.   Exempt
1082              modems  should  be  removed  from  any  ModemGroup to which they
1083              belong (i.e. ``any'').
1084
1085       ModemRingResponse
1086              This can be used to cause the command  defined  by  ModemRingRe‐
1087              sponse  to  be  sent  to the modem after hearing at least Modem‐
1088              RingsBeforeResponse RINGs in order to receive DID-DTMF data, for
1089              example.
1090
1091       ModemRingsBeforeResponse
1092              This  defines  the  minimum  number  of RINGs that must be heard
1093              before ModemRingResponse is first sent to the modem.
1094
1095       NotifyCmd²
1096              The command to invoke to notify a client of a job status change;
1097              see notify(8C).
1098
1099       PageChop¹
1100              Whether  or not to automatically truncate trailing whitespace on
1101              pages of outbound facsimile (when possible).  If  page  chopping
1102              is  enabled, then pages with at least PageChopThreshold trailing
1103              whitespace on a page will be transmitted as a ``short page''  if
1104              the receiver is capable of accepting variable-length pages.  The
1105              possible values are: ``last'' to enable  chopping  of  the  last
1106              page  of each document, ``all'' to enable chopping of all pages,
1107              or ``none'' to disable page chopping.
1108
1109       PageChopThreshold¹
1110              The minimum amount of trailing whitespace that must  be  present
1111              on  a page before page chopping will be attempted; see PageChop.
1112              Note that this value is specified in inches.
1113
1114       PCL2FaxCmd¹
1115              The command to invoke to convert a HP-PCL document submitted for
1116              transmission to TIFF/F, suitable for transmission.
1117
1118       PercentGoodLines
1119              The minimum percentage of good rows of image data required for a
1120              received facsimile page to be deemed  to  have  acceptable  copy
1121              quality.   Setting  this  parameter to zero causes the server to
1122              not check the quality of received facsimile.  Facsimile received
1123              with  error-correction  do  not  have copy quality checking per‐
1124              formed.  See also MaxConsecutiveBadLines.
1125
1126       PollLockPokeModem
1127              When polling for the presence/removal of a UUCP  lockfile,  also
1128              test  to make sure the modem is still reachable.  This is useful
1129              for scenarios where the modem  is  apt  to  become  disconnected
1130              while the modem is idle, such as an external modem that may lose
1131              power, where the administrator wants notification of this (as  a
1132              ``wedged'' condition).
1133
1134       PollLockWait
1135              When  polling  for  the presence/removal of a UUCP lockfile, the
1136              time (in seconds) to  wait  between  checks.   Lockfile  polling
1137              occurs  to  ensure  the  fax server doesn't collide with another
1138              process using the modem.
1139
1140       PollModemWait
1141              The time (in seconds) to wait between  checks  for  a  modem  to
1142              become  ready  for use.  Modem polling occurs when a modem fails
1143              to reset cleanly.
1144
1145       PriorityScheduling
1146              Indicates whether the HylaFAX scheduler should utilize available
1147              priority  job  scheduling  mechanisms to enhance realtime execu‐
1148              tion, particularly with  Class  1  configurations  on  older  or
1149              slower systems.
1150
1151              Currently  PriorityScheduling  is available for IRIX, SVR/4, HP-
1152              UX, and POSIX-compliant (i.e.  Linux)  operating  systems.   The
1153              default  value  varies to maintain traditional HylaFAX behavior.
1154              On IRIX, SVR/4, and HP-UX systems  where  the  configure  script
1155              detects  one of the functions schedctl(), priocntl() or rtprio()
1156              the default is true.  The only other supported  priority  mecha‐
1157              nism  is  POSIX  sched_setscheduler(),  which  is used on Linux,
1158              OpenServer and possibly other systems.  On such systems, as well
1159              as on systems where no priority scheduling mechanism exists, the
1160              default is false."
1161
1162       PS2FaxCmd¹
1163              The command to invoke to convert a POSTSCRIPT document submitted
1164              for  transmission  to  TIFF/F,  suitable  for  transmission; see
1165              ps2fax(8C).
1166
1167       QualifyPWD
1168              A string that specifies whether or not the identity  of  calling
1169              facsimile  machines  should be checked against an access control
1170              list before receiving facsimile.   If  QualifyPWD  is  non-null,
1171              then  only  messages  from  facsimile machines identified in the
1172              file specified by the  string  (typically  etc/passwd)  will  be
1173              accepted; similar to QualifyTSI.
1174
1175       QualifyTSI
1176              A  string  that specifies whether or not the identity of calling
1177              facsimile machines should be checked against an  access  control
1178              list  before  receiving  facsimile.   If QualifyTSI is non-null,
1179              then only messages from facsimile  machines  identified  in  the
1180              file  specified  by  the  string  (typically  etc/tsi)  will  be
1181              accepted; see tsi(5F).  If QualifyTSI is not  specified  in  the
1182              configuration file, or the value is null, then all incoming fac‐
1183              simile messages will be accepted.
1184
1185       RecvDataFormat
1186              The data format (compression scheme) to write received facsimile
1187              data when copy quality checking is performed on the host.  (When
1188              copy quality checking is not done by  the  server,  for  example
1189              when  error  correction protocol is used, the received facsimile
1190              data is written exactly as it is received from the modem.)   The
1191              format  may  be  one:  ``1-D  MH'',  ``2-D MR'', ``2-D MMR'', or
1192              ``adaptive''.  An ``adaptive'' format causes the  received  data
1193              to be written using the data format negotiated by the sender and
1194              receiver.  Note that while 2-D MMR is the  most  space-efficient
1195              data format the resultant file may not be viewable (certain com‐
1196              monly used programs do not properly read multi-strip  TIFF  with
1197              2-D MMR data).
1198
1199       RecvFileMode
1200              The file protection mode that should be used when creating files
1201              to hold incoming facsimile.  Note that this value  is  given  in
1202              octal.   The default value of 0600 implies that only the facsim‐
1203              ile user can read received facsimile.  If incoming facsimile are
1204              to  be  publicly accessible, this value may be set, for example,
1205              to 0644.  See also chmod(2).
1206
1207       RejectCall
1208              If this is set to true, the current call will not  be  answered,
1209              and  will  be rejected.  This option has no effect if set in the
1210              configuration file, but when set by the  DynamicConfig  program,
1211              controls the current call.  This options supersedes the obsolete
1212              QualifyCID option.
1213
1214       RingData
1215              A modem status string that identifies that an incoming  call  is
1216              for  data  use.  This string should be set when a phone line has
1217              been setup with distinctive ring service.  See also RingFax  and
1218              RingVoice.
1219
1220       RingExtended
1221              An  identifier  which matches the initial portion of an extended
1222              RING message sent by the modem to relay  CID  and/or  DNIS  data
1223              instead of sending it formatted on separate lines.
1224
1225       RingFax
1226              A  modem  status string that identifies that an incoming call is
1227              for facsimile use.  This string should be set when a phone  line
1228              has been setup with distinctive ring service.  See also RingData
1229              and RingVoice.
1230
1231       RingsBeforeAnswer
1232              The number of rings to wait before answering the phone.  If this
1233              value  is  set  to  0,  then  the phone will only be answered in
1234              response to an explicit answer command; see faxanswer(8C).
1235
1236       RingTimeout
1237              If a ring is heard and the call is not answered, the time in  ms
1238              to wait before reinitializing the modem for the next call.
1239
1240       RingVoice
1241              A  modem  status string that identifies that an incoming call is
1242              for voice use.  This string should be set when a phone line  has
1243              been setup with distinctive ring service.  See also RingData and
1244              RingFax.
1245
1246       RTNHandlingMethod
1247              Specifies how to react  to  an  RTN  signal  received  from  the
1248              remote:   one   of   ``Retransmit'',  ``Giveup'',``Ignore'',  or
1249              ``Retransmit-Ignore''.
1250
1251              ``Retransmit'' assumes that the page is  not  received  success‐
1252              fully.   HylaFAX will make up to two additional attempts to send
1253              the page, decreasing signalling rate  and  retraining.   If  RTN
1254              continues,  up  to 2 additional calls will be placed.  The down‐
1255              side is that if the remote always responds with  RTN,  the  page
1256              will  be sent 9 times and no following pages will be sent.  Many
1257              fax machines will not behave this way, although T.30  specifica‐
1258              tion seems clear that this is the intent of the RTN signal.
1259
1260              Some  fax machines will interpret RTN as meaning to not send the
1261              same data again.  That is because RTN may indicate problems with
1262              flow  control,  incorrectly encoded T.4 data, or some incompati‐
1263              bility other than line noise.  Fax machines that  interpret  RTN
1264              this  way  will  disconnect and require a manual retransmission.
1265              This  ``over  and  out''  behavior  can  be  activated  by   the
1266              ``Giveup''  value.   The  advantage to this behavior is that the
1267              same page of image data will not be sent multiple times, but the
1268              downside is that the following pages will not be sent.
1269
1270              ``Ignore'' is similar to ``Giveup'' in that it makes the assump‐
1271              tion the data cannot be automatically accepted by the  receiver.
1272              However,  rather  than  disconnecting  the page of image data is
1273              abandoned and processing moves on to the next.   The  remote  is
1274              left  to  decide  what to do with the unacceptable page of image
1275              data.  The downside to this behavior, is that the remote may  or
1276              may  not  have kept the page, depending on its interpretation of
1277              the RTN signal - but it does allow us to continue on to the next
1278              page.
1279
1280              ``Retransmit-Ignore''  is  a  combination  of ``Retransmit'' and
1281              ``Ignore''.  The page of image data is retransmitted up  to  two
1282              additional  times,  but  rather than disconnecting after a third
1283              RTN signal for the same page, processing then  continues  on  to
1284              the  next  page.   This  approach  is  an effort to satisfy both
1285              interpretations of an RTN signal.  It  allows  the  receiver  to
1286              hopefully  receive  a  better  copy  of the image data while not
1287              failing to send subsequent pages.   If  the  receiver  saves  or
1288              prints a copy of pages for which it transmits RTN, then it could
1289              save or print up to three copies of every page.
1290
1291       SaveUnconfirmedPages
1292              Whether or not to save a received facsimile image  page  if  the
1293              sender  disconnects without sending the post-page message, with‐
1294              out hearing our  message  confirmation,  without  retraining  as
1295              requested, or otherwise breaks fax protocol following such pages
1296              for which the sender should not have a ``receipt confirmation''.
1297
1298       SendFaxCmd¹
1299              The command to use  to  process  outbound  facsimile  jobs;  see
1300              faxsend(8C).
1301
1302       SendPageCmd¹
1303              The  command  to  use  to process outbound pager jobs; see page‐
1304              send(8C).
1305
1306       SendUUCPCmd¹
1307              The command to use to process outbound UUCP jobs.  This  parame‐
1308              ter is not currently used, it is for future development.
1309
1310       ServerTracing²
1311              A  number that controls the generation of tracing information by
1312              a server when  not  actively  sending  or  receiving  facsimile.
1313              Tracing  is divided into areas that are individually controlled.
1314              To enable tracing of multiple areas of operation, the flag asso‐
1315              ciated  with  each area should be bit-or'd to form the value for
1316              this tag.
1317              Flag                Area                    Description
1318              1 (0x00001)         Server Operation        queue management and general operation
1319              2 (0x00002)         FAX/IXO Protocol        T.30 facsimile protocol or IXO/TAP protocol
1320              4 (0x00004)         Modem Operations        modem hardware manipulation
1321              8 (0x00008)         Modem Communications    commands passed between host and modem
1322              16 (0x00010)        Timeouts                timer operations
1323              32 (0x00020)        Modem Capabilities      modem capabilities
1324              64 (0x00040)        HDLC Frames             binary T.30 HDLC frames
1325              128 (0x00080)       Binary Modem I/O        binary communication between host and modem
1326              256 (0x00100)       Server State Transitionsserver program state transitions
1327              512 (0x00200)       Queue Management        job queue management
1328              1024 (0x00400)      Copy Quality            copy quality checking of received facsimile
1329              2048 (0x00800)      Job Management          low-level job management
1330              4096 (0x01000)      IXO Protocol            low-level IXO protocol
1331              8192 (0x02000)      Config File Parsing     unknown configuration file parameters
1332              16384 (0x04000)     FIFO Messages           inter-application messages
1333              32768 (0x08000)     Modem State Transitions modem state changes (down, busy, ready)
1334              65536 (0x10000)     Dial Rules              dialstring rules parsing and execution
1335              131072 (0x20000)    Docq Changes            document reference handling
1336              262144 (0x40000)    TIFF library            any messages produced by the TIFF library
1337              524288 (0x80000)    ECM Frames              binary T.30-A HDLC ECM frames
1338              For example, to enable tracing of server operations and protocol
1339              operations,  a  value of 1+2=3 should be specified.  NB: tracing
1340              timeouts and/or binary modem I/O can adversely affect the opera‐
1341              tion of the fax server; enabling these areas should be done with
1342              extreme care.
1343
1344              Server tracing is directed to syslog(3) using the facility spec‐
1345              ified  with  the LogFacility configuration parameter.  Note that
1346              syslogd(8C) must be configured to capture facility.info,  facil‐
1347              ity.debug,  facility.warning,  and  facility.err  messages.  See
1348              hylafax-log(5F) for a description of the logged messages.
1349
1350       SessionTracing²
1351              A number that controls the generation of tracing information  by
1352              a  server  while  sending or receiving facsimile.  The number is
1353              interpreted identically to  ServerTracing.   Note  that  session
1354              tracing  is  placed  in  log  files in the log subdirectory; see
1355              hylafax-log(5F) for more information.
1356
1357       ShareCallFailures²
1358              A string which indicates the types of call failures that  should
1359              be  shared  to blocked jobs (in the scheduler config file) or to
1360              batched jobs (in the per-device configuration files).  The  pur‐
1361              pose  of this configuration is to prevent a large set of jobs to
1362              the same destination from stalling for long periods of  time  in
1363              the queue and repeatedly initiating failed delivery attempts due
1364              to call-related errors (such as an incorrectly-entered  destina‐
1365              tion  number).   Jobs which are batched or blocked (depending on
1366              which configuration file is used) will receive the same  failure
1367              indication  and  ``dials'' increment as the job which was active
1368              and running at the time (or lead the batch).   ShareCallFailures
1369              may  contain  the  following  key  words  in  any order with any
1370              deliniation:
1371
1372              Key Word    Meaning
1373              busy        Busy signal detected
1374              nocarrier   No carrier detected
1375              noanswer    No answer from remote
1376              nodialtone  No local dialtone
1377
1378              Alternatively,  ShareCallFailures  may   be   set   exactly   to
1379              ``always'' which makes it apply to all of the call failure types
1380              listed above and is synonymous with  ``busy  nocarrier  noanswer
1381              nodialtone''.
1382
1383       SpeakerVolume
1384              The volume level that the in-modem speaker should be adjusted to
1385              while in command mode.  The possible values are:
1386              Value     Description
1387              Off       silent
1388              Quiet     almost inaudible
1389              Low       tolerable in privacy
1390              Medium    loud enough to hear in the next room
1391              High      intolerable
1392              Note that the speaker is  always  turned  off  once  carrier  is
1393              established.   Also beware that some modems support fewer volume
1394              settings; see ModemSetVolumeCmd.
1395
1396       StaggerCalls¹
1397              The time, in seconds, to delay between initiating  outbound  job
1398              calls.   If HylaFAX is using a single phone line shared for both
1399              sending and receiving of faxes using a StaggerCalls setting  of,
1400              for  example,  300  would  ensure that outbound calls be made in
1401              succession no more frequently than every 5 minutes, thus  allow‐
1402              ing time between jobs for incoming calls to be received.
1403
1404       TagLineFont
1405              The  filename of the font to use in imaging tag lines across the
1406              top of each transmitted page.  Fonts must be stored in the  Por‐
1407              table  Compiled Font (PCF) format used by the X11 Window System.
1408              Filenames are specified relative to the  root  of  the  spooling
1409              area;  e.g. etc/lutRS18.pcf or etc/LiberationSans-25.pcf.  If no
1410              font is specified, if a null filename is specified,  or  if  the
1411              specified  font file is not readable, then tag lines will not be
1412              generated.  Note that the etc/lutRS18.pcf TagLineFont  that  has
1413              historically  been the default with HylaFAX does not have glyphs
1414              available beyond basic ASCII, and to show non-ASCII characters a
1415              different  file  must be used that has characters matching those
1416              characters found in TagLineFormat as decoded by  the  TagLineLo‐
1417              cale setting.  For this reason, the etc/LiberationSans-25.pcf is
1418              now considered the default as it has unicode support for  Latin,
1419              Greek, and Cyrillic characters.
1420
1421       TagLineFormat
1422              The  format  string to use when imaging tag lines across the top
1423              of each transmitted page.  This string may include escape  codes
1424              that  cause various items to be interpolated into the imaged tag
1425              line.  Any escape code supported by strftime(3C)  (which  use  a
1426              single ``%'') may be used as well as the following server-imple‐
1427              mented codes:
1428              Escape    Description
1429              %%a       destination subaddress
1430              %%c       destination company name
1431              %%C       sender's company name
1432              %%d       destination phone number
1433              %%g       sender's geographic location
1434              %%G       destination geographic location
1435              %%i       job identifier
1436              %%I       group identifier
1437              %%j       user-specified job tag
1438              %%l       job TSI or LocalIdentifier or canonicalized FAXNumber
1439              %%m       sender's electronic mail address
1440              %%n       canonicalized FAXNumber
1441              %%p       current page number of session
1442              %%P       current page number of job
1443              %%r       receiver's name
1444              %%s       sender's name
1445              %%S       subject
1446              %%t       total pages in session
1447              %%T       total pages in job
1448              %%v       sender's voice number
1449              %%V       destination voice number
1450              %%%       ``%''
1451              There are  numerous  date  and  time  format  options  available
1452              through strftime(3C).  Users are encouraged to refer to its doc‐
1453              umentation for elaboration.  Used by default, ``%c'' is  defined
1454              as  ``The preferred date and time representation for the current
1455              locale.''
1456
1457              In addition, the format string may indicate that text is  to  be
1458              broken  into multiple equal-sized fields by separating text with
1459              ``|'' characters.  If the first character  in  the  field  is  a
1460              ``{''  then  the text is left-aligned; if the first character in
1461              the field is a ``}'' then the text is right-aligned;  otherwise,
1462              the  text  is  centered  in the field.  For example, ``{a|b|}c''
1463              would cause the tag line to be broken up into three  equal-sized
1464              areas  with  the  string ``a'' left-aligned in the first region,
1465              ``b'' centered in the second region, and ``c'' right-aligned  in
1466              the  third region.  The default tag line format string is ``From
1467              %%n|%c|Page %%P of %%T''.  The differences between  the  %%p  or
1468              %%P  and  the  %%t  or %%T options are noticed when a fax job is
1469              retried after an incomplete  attempt  and  only  the  previously
1470              unsent  pages are then queued in a successive session.  See also
1471              TagLineFont.
1472
1473       TagLineLocale
1474              The locale setting  for  handling  TagLineFormat,  for  example,
1475              ``en_US.UTF-8''.  If TagLineFormat is encoded via UTF-8 then the
1476              correct setting of TagLineLocale is requisite for proper  decod‐
1477              ing  by  the  parser.   By  default the environment settings are
1478              used.
1479
1480       TIFF2FaxCmd²
1481              The command to invoke to convert a TIFF submitted for  transmis‐
1482              sion to TIFF/F, suitable for transmission; see tiff2fax(8C).  In
1483              the scheduler configuration file this is used  in  outbound  job
1484              preparation.  In the per-device configuration files this is used
1485              in conjunction with RTFCC features for comparing  relative  data
1486              sizes between different formats.
1487
1488       TimeOfDay¹
1489              The  default time-of-day restrictions to apply to outbound jobs.
1490              Outbound jobs will be processed only during the specified  time.
1491              Any  jobs  submitted outside this time period will be held until
1492              the start of this time.  The syntax for time-of-day restrictions
1493              is  designed  to  be compatible with the syntax used by the UUCP
1494              software.  The following BNF describes the syntax:
1495                 Syntax = tod ["," tod]
1496                    tod = <days><timerange>
1497                   days = "Any" | "Wk" | <dayname>+ | nothing
1498                dayname = "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat"
1499              timerange = <start> "-" <end> | nothing
1500                  start = <24hrtime>
1501                    end = <24hrtime>
1502               24hrtime = {0-9}{0-9}{0-9}{0-9}
1503                nothing =
1504              where start and end are 24-hour times, day names can  be  either
1505              2-  or  3-characters, and a null day or time specification means
1506              any time or day.  White space and other syntactic sugar  may  be
1507              freely  inserted  between tokens but may not be inserted between
1508              24-hour times in the time range.
1509
1510              This value may be overridden by rules in the  JobControl  mecha‐
1511              nism.
1512
1513       TSIRecvdCmd
1514              The  pathname  of  the  optional program, e.g. ``etc/tsirecvd'',
1515              that similar to DynamicConfig can set the RejectCall  option  to
1516              cause  the  current  call  to  be rejected instead of continued.
1517              TSIRecvdCmd should provide a more capable mechanism than  Quali‐
1518              fyTSI  for  those wishing to screen calls based on received TSI.
1519              Note that this file must be marked as executable by the faxgetty
1520              process.  Note also that any configuration modifications made by
1521              the TSIRecvdCmd script other than RejectCall is unsupported  and
1522              has undefined results.
1523
1524       Use2D¹ Control the use of 2D-encoded data for transmitted facsimile.
1525
1526       UseJobTagLine
1527              Allow  the  use of the job-specified tagline instead of the con‐
1528              figured TaglineFormat
1529
1530       UUCPLockMode²
1531              The file protection mode that should be used when creating  UUCP
1532              lockfiles.  Note that this value is given in octal.
1533
1534       UUCPLockDir²
1535              The  pathname of the directory in which UUCP lockfiles are to be
1536              created.
1537
1538       UUCPLockTimeout²
1539              The time in seconds to wait before removing a stale  UUCP  lock‐
1540              file (i.e. a lockfile whose owner does not appear to exist).  If
1541              this value is set to 0, then the fax server will never remove  a
1542              stale lockfile.
1543
1544       UUCPLockType²
1545              A  string  that  specifies  the type of UUCP lockfile to create.
1546              The string may be one of ``ascii'' or  ``binary''  depending  on
1547              whether  the process-ID of the lock owner is written to the file
1548              as an ascii string or as a binary value, respectively.  In addi‐
1549              tion, two prefixes may be used to control the format of the lock
1550              filename.  If the type string is prefixed  with  a  ``+'',  then
1551              SVR4-style filenames are generated using the major device number
1552              of the tty device and the major and minor device numbers for the
1553              filesystem  on which the tty device resides.  If the type string
1554              is prefixed with a ``-'', then any upper  case  letters  in  the
1555              device  part  of  the  lockfile name are converted to lower case
1556              letters;  for   example,   ``LCK..ttyA01''   is   converted   to
1557              ``LCK..ttya01''.   This upper-to-lower case conversion is useful
1558              for systems such as SCO where the convention is to name  devices
1559              with  upper-case  letters,  but create lockfiles with lower-case
1560              letters.
1561
1562       VGettyArgs
1563              A string that indicates whether or not the server should  invoke
1564              a voice getty program in response to an incoming voice call.  If
1565              the string value is not null, then it is interpreted as a set of
1566              arguments  to  pass to the vgetty program.  Before supplying the
1567              arguments,  the  string  is  first  scanned   for   ``%''-escape
1568              sequences:  any  appearance  of  ``%l'' is replaced with the tty
1569              name and any appearance of ``%s'' is replaced  with  the  serial
1570              port  speed  (in  decimal).  Any appearance of escaped numbers 1
1571              through 9 (``%1'' through ``%9'') are replaced by the  match  to
1572              the  corresponding CallIDPattern, if present.  The ``%'' charac‐
1573              ter can be specified with ``%%''.  If the  VGettyArgs  parameter
1574              is  not  specified  in  the  configuration file or if the string
1575              value is null, then voice connections will  be  rejected.   Note
1576              that  in  addition  to the specified command line arguments, the
1577              vgetty program is invoked with its standard input,  output,  and
1578              error descriptors directed to the controlling tty device.
1579
1580       WedgedCmd¹
1581              The  command  to  invoke  when a modem is deemed ``wedged''; see
1582              wedged(8C).
1583

MODEM-ORIENTED CONFIGURATION PARAMETERS

1585       This section lists configuration parameters that are  specific  to  the
1586       setup  and  operation  of  the  modem.   All commands must be specified
1587       exactly as they are to be transmitted to the modem (note that this is a
1588       departure  from  previous  versions of this software that automatically
1589       prepended ``AT'' to each line of commands sent  to  the  modem).   When
1590       multi-line  commands  are required, enclose the commands in quote marks
1591       (``"'') and insert a newline character ``\n''  where  lines  should  be
1592       broken.     An    example   of   a   multi-line   command   string   is
1593       ``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''.
1594
1595       Command strings sent to the modem  may  include  command  escapes  that
1596       force  the  host to alter the DTE-DCE communication rate, the flow con‐
1597       trol scheme used between the host and modem,  delay  for  a  period  of
1598       time,  flush  input  data,  and  wait  for a specific response from the
1599       modem.  The following escape codes are interpreted:
1600              Escape      Effect
1601              <none>      enable no flow control between DTE and DCE
1602              <xon>       enable software flow control between DTE and DCE
1603              <rts>       enable hardware flow control between DTE and DCE
1604              <2400>      set the DCE-DTE baud rate to 2400 bps
1605              <4800>      set the DCE-DTE baud rate to 4800 bps
1606              <9600>      set the DCE-DTE baud rate to 9600 bps
1607              <19200>     set the DCE-DTE baud rate to 19200 bps
1608              <38400>     set the DCE-DTE baud rate to 38400 bps
1609              <57600>     set the DCE-DTE baud rate to 57600 bps
1610              <76800>     set the DCE-DTE baud rate to 76800 bps
1611              <115200>    set the DCE-DTE baud rate to 115200 bps
1612              <delay:N>   delay N x 10 ms on the host (0 <= N <= 255)
1613              <flush>     flush any pending input data from the modem
1614              <waitfor:R> wait for the response R from the modem (see below)
1615              <play:C>    play the etc/playC.raw audio file (see below)
1616       Note that commands to the left of an escape code are sent to the  modem
1617       before the associated actions are carried out on the host.  This may be
1618       important when changing baud rates, as the result code from  a  command
1619       may  be  returned at the new baud rate.  Also, beware that not all baud
1620       rates are supported by all systems and modems; the set  of  baud  rates
1621       supported by a host is usually listed in stty(1).
1622
1623       The  ``<waitfor:..>'' escape can be used to override the default behav‐
1624       ior which is to wait for an ``OK'' response to a command  sent  to  the
1625       modem.  The possible response codes are:
1626              NOTHING       a null response
1627              OK            the default response
1628              CONNECT       ``CONNECT...''
1629              NOANSWER      ``NO ANSWER...''
1630              NOCARRIER     ``NO CARRIER...''
1631              NODIALTONE    ``NO DIALTONE...''
1632              BUSY          ``BUSY''
1633              OFFHOOK       ``PHONE OFF-HOOK''
1634              RING          ``RING...''
1635              ERROR         error status from modem
1636              VCON          voice connection indicator
1637              OTHER         any unrecognized modem response
1638       For  example  ``ATO\r<waitfor:CONNECT>''  would  send  ``ATO\r'' to the
1639       modem and then wait for a response with a leading  ``CONNECT''  in  it;
1640       and     ``ATS99=2\r<delay:2><flush><waitfor:NOTHING>''    would    send
1641       ``ATS99=2\r'' to the modem, delay 20  ms,  flush  any  input  from  the
1642       modem, and then continue (not wait for any response).
1643
1644       The  ``<play:C>''  escape  can  be used to play a raw audio file with a
1645       voice modem.  The files are named  etc/playC.raw  where  ``C''  is  any
1646       character.   This  feature  can  be  used, for example, to play a brief
1647       audio message after picking up the line but before answering.   A  con‐
1648       figuration example may be:
1649
1650         ModemRingResponse:  "AT+FCLASS=8;H1\nAT+VSM=131\nAT+VLS=1\nAT+VTX\n<waitfor:CONNECT><play:1><waitfor:OK>AT+VTS=[933,,150]"
1651         ModemAnswerCmd:     "<delay:100>AT+FCLASS=1;A"
1652         CallIDPattern:      SHIELDED_DTMF
1653         CallIDAnswerLength: 4
1654
1655       In  this  example using an IS-101 voice-compliant modem, a RING indica‐
1656       tion from the modem will cause the modem to be placed  in  voice  mode,
1657       set  ulaw audio compression, and via the connected phone line play back
1658       the etc/play1.raw audio file, which may say, "After the  tone  enter  a
1659       four-digit  extension,  then  start  the fax."  Following the message a
1660       tone is played.
1661
1662       ModemAnswerCmd
1663              The command to answer the  phone.   If  possible,  this  command
1664              should  generate  a  result  string  that identifies whether the
1665              incoming call is from a facsimile, voice, or data modem.   Typi‐
1666              cally this auto-detection is configured ahead of time; e.g.  for
1667              Class 2 modems with the ``AT+FAA=1'' command.
1668
1669              The following table describes how the result  codes  are  inter‐
1670              preted by the facsimile server.
1671              Result String    Default          Class 1      Class 2      Class2.0
1672              CONNECT FAX      Fax              -            -            --
1673              CONNECT          Data             Unknown      -            -
1674              NO ANSWER        No Answer        -            -            -
1675              NO CARRIER       No Carrier       -            -            -
1676              NO DIALTONE      No Dialtone      -            -            -
1677              ERROR            Error            -            -            -
1678              FAX              Fax              -            -            -
1679              DATA             Data             -            -            -
1680              +FCON            -                -            Fax          Fax
1681              +FCO             -                -            Fax          Fax
1682              +FDM             -                -            Data         Data
1683              +FHNG:           -                -            Error        Error
1684              VCON             -                -            Voice        Voice
1685              The ``Default'' column indicates the interpretation made for the
1686              result string in either class 1 or 2 unless explicitly  overrid‐
1687              den.   The  ``Class  1'' column indicates result strings handled
1688              specially for modems operating in class 1, the ``Class 2''  col‐
1689              umn  indicates special handling for modems operating in class 2,
1690              and the ``Class 2.0''  column  indicates  special  handling  for
1691              modems  operating  in  class  2.0.   Unknown  entries imply that
1692              interpretation is based  on  the  way  in  which  the  call  was
1693              answered;  if  answering is done for an explicit call type, that
1694              type is assumed, otherwise a Fax call is presumed.
1695
1696       ModemAnswerAgainCmd
1697              The command to answer the phone  if  ModemAnswerCmd  appears  to
1698              have been ignored.  Typically this should include a delay escape
1699              in order to set the timing of the answer away from the  ring  in
1700              case  the  modem  is incapable of answering so closely following
1701              the ring.
1702
1703       ModemAnswerDataBeginCmd
1704              The command to send to the modem once a data connection has been
1705              established.
1706
1707       ModemAnswerDataCmd
1708              The  command  to  explicitly answer the phone for a data connec‐
1709              tion.  This command must generate a result string  that  identi‐
1710              fies  the incoming call is from a data modem.  If this parameter
1711              is not specified or is null, then the value of ModemAnswerCmd is
1712              used instead.  See also AdaptiveAnswer and AnswerRotary.
1713
1714       ModemAnswerDialCmd
1715              The  command to explicitly answer the phone for a dialed connec‐
1716              tion.  This command must generate a result string  that  identi‐
1717              fies  the  incoming  call  is  from  a facsimile modem.  If this
1718              parameter is not specified or is null, then the value  of  Mode‐
1719              mAnswerCmd is used instead.
1720
1721       ModemAnswerFaxBeginCmd
1722              The command to send to the modem once a facsimile connection has
1723              been established.
1724
1725       ModemAnswerFaxCmd
1726              The command to explicitly answer the phone for a facsimile  con‐
1727              nection.   This command must generate a result string that iden‐
1728              tifies the incoming call is from a  facsimile  modem.   If  this
1729              parameter  is  not specified or is null, then the value of Mode‐
1730              mAnswerCmd is used instead.  See also AdaptiveAnswer and Answer‐
1731              Rotary.
1732
1733       ModemAnswerVoiceBeginCmd
1734              The  command  to  send  to the modem once a voice connection has
1735              been established.
1736
1737       ModemAnswerVoiceCmd
1738              The command to explicitly answer the phone for a  voice  connec‐
1739              tion.   This  command must generate a result string that identi‐
1740              fies the incoming call is for voice.  If this parameter  is  not
1741              specified  or  is null, then the value of ModemAnswerCmd is used
1742              instead.  See also AdaptiveAnswer and AnswerRotary.
1743
1744       ModemAnswerResponseTimeout
1745              The maximum time, in milliseconds, to wait for a  response  from
1746              the  modem after sending ModemAnswerCmd.  Note that you may want
1747              to shorten this  value  when  using  the  server-based  adaptive
1748              answer strategy; see AdaptiveAnswer.
1749
1750       ModemATCmdDelay
1751              A  delay,  in milliseconds, that should be performed before each
1752              ``AT'' command string is sent to the modem.
1753
1754       ModemBaudRateDelay
1755              The amount of time, in milliseconds, to pause after setting  the
1756              baud rate on the serial line.  This is only needed for hosts and
1757              modems (such as USRs) where setting the serial  line  parameters
1758              does not take effect immediately.
1759
1760       ModemCommaPauseTimeCmd
1761              The  command  to set the time, in seconds, that the modem should
1762              pause when encountering a ``,'' modifier in the dialing string.
1763
1764       ModemDialCmd
1765              The command to place a phone call.  The string is assumed to  be
1766              suitable  for use as a parameter to the sprintf(3S) function; so
1767              the ``%'' character should be escaped as ``%%''.  The dial  com‐
1768              mand must include a single ``%s'' where the number that is to be
1769              dialed is to be substituted.  The command may include  a  single
1770              ``%d'' where the origin number is to be substituted.  Facilities
1771              such as tone or pulse dialing, outgoing prefixes to route though
1772              a  PBX,  and  so  on  should  be included in the dialing command
1773              string.  It is also important  that,  if  possible,  a  trailing
1774              ``@'' symbol should be included so that the modem returns result
1775              codes that distinguish between no answer and no carrier.  Use of
1776              the  ``@''  permits  the server to reduce the probability that a
1777              wrong number is continually redialed.  If  the  modem  does  not
1778              support  this  facility,  then  it may be necessary to raise the
1779              number of retries done when a ``NO CARRIER'' result is returned.
1780
1781       ModemDialResponseTimeout
1782              The maximum time to wait, in milliseconds, for a  response  from
1783              the  modem  after  sending  This value should be longer than the
1784              timeout programmed into the modem through  the  ModemWaitTimeCmd
1785              parameter.   This additional server-based timeout is provided to
1786              guard against modems that can ``lock up'' when dialing the tele‐
1787              phone.
1788
1789       ModemDoPhaseCDebug
1790              Whether  or  not  to  query the modem for responses during image
1791              data transmission.  Normally the modem should  not  produce  any
1792              responses  during  Phase  C data transmission.  However, in some
1793              debugging scenarios (i.e. some Class 2.1 modems may show  debug‐
1794              ging  information)  it may be appropriate to query the modem for
1795              responses during the data transmission.
1796
1797       ModemDTRDropDelay
1798              The time, in milliseconds, to pause between placing DTR OFF  and
1799              DTR  ON  while resetting a modem.  This value should be at least
1800              equal to the time-value of  the  analogous  S-register,  usually
1801              S25.   This  so-called DTR drop can be bypassed entirely by set‐
1802              ting ModemDTRDropDelay to 0, but this should likely only be used
1803              for debugging purposes.
1804
1805       ModemEchoOffCmd
1806              The command to disable echoing of commands sent to the modem.
1807
1808       ModemFlowControl
1809              The  type  of  flow  control  to use between DTE and DCE; one of
1810              ``NONE'', ``XONXOFF'' and ``RTSCTS''.  This  value  is  used  to
1811              select  the string sent to the modem to initially establish DTE-
1812              DCE flow control; one of ModemNoFlowCmd,  ModemSoftFlowCmd,  and
1813              ModemHardFlowCmd.  The current flow control setting is also used
1814              to select the appropriate flow control command to  send  to  the
1815              modem  when  the  software  switches  to Class 1, 2, or 2.0; see
1816              Class1HFLOCmd,  Class1NFLOCmd,   Class1SFLOCmd,   Class2HFLOCmd,
1817              Class2NFLOCmd, and Class2SFLOCmd.
1818
1819              The  server supports both software and hardware flow control for
1820              Class 1, Class 2, and Class 2.0 modems.  Whether to use hardware
1821              or  software  flow  control  depends  on the capabilities of the
1822              modem and the host hardware and operating system.  Communication
1823              rates  above  9600 baud often require that hardware flow control
1824              be used for reliable  DTE-DCE  communication.   However,  beware
1825              that many modems only support software flow control when sending
1826              or receiving facsimile.
1827
1828              Note that modems usually support software flow control  even  if
1829              they have no explicit AT-command to activate it; in this case it
1830              is  switched  on  when  the  modem  enters  fax   mode,   having
1831              AT+FCLASS=... from DTE.
1832
1833       ModemFrameFillOrder
1834              The bit order to expect for received HDLC frames and to use when
1835              formulating HDLC frames to  send.   This  value  may  be  either
1836              LSB2MSB  when  bits  are  ordered  from least-significant-bit to
1837              most-significant-bit (as in the CCITT specification) or  MSB2LSB
1838              when bits are ordered in the reverse direction.
1839
1840       ModemHardFlowCmd
1841              The command to setup hardware (RTS/CTS) flow control between DTE
1842              and DCE.
1843
1844       ModemMinSpeed
1845              The minimum acceptable signalling rate for transmitting  facsim‐
1846              ile  page  data.   Possible  values are: 2400, 4800, 7200, 9600,
1847              12200, and 14400.
1848
1849       ModemMfrQueryCmd
1850              The command to send to the modem to get the manufacturer identi‐
1851              fication  string.  If this parameter is not set, then it is ini‐
1852              tialized to ``AT+FMFR?'' for Class 2 modems, or  to  ``AT+FMI?''
1853              for Class 2.0 modems, or to ``ATI3'' for Class 1 modems.  If the
1854              parameter begins with a ``!'', then the remainder of the  string
1855              is  taken  to  be  the  identification  string and no command is
1856              issued to the modem.
1857
1858       ModemModelQueryCmd
1859              The command to send to the modem to get the model identification
1860              string.  If this parameter is not set, then it is initialized to
1861              to ``AT+FMDL?'' for Class 2 modems, or to ``AT+FMM?'' for  Class
1862              2.0 modems, or to ``ATI0'' for Class 1 modems.  If the parameter
1863              begins with a ``!'', then the remainder of the string  is  taken
1864              to  be the identification string and no command is issued to the
1865              modem.
1866
1867       ModemNoAutoAnswerCmd
1868              The command to stop the modem from automatically answering  when
1869              the phone rings.
1870
1871       ModemNoAutoAnswerCmdDelay
1872              The  time, in milliseconds, to pause after receiving the OK fol‐
1873              lowing ModemNoAutoAnswerCmd before any further commands are sent
1874              to  the  modem.  All input from the modem is flushed after paus‐
1875              ing.
1876
1877       ModemNoFlowCmd
1878              The command to disable flow control between DTE and DCE.
1879
1880       ModemOnHookCmd
1881              The command to place the phone ``on hook'' (i.e. hangup).
1882
1883       ModemPageDoneTimeout
1884              The maximum time to wait, in milliseconds, for a  response  from
1885              the modem after sending a page of facsimile data (e.g.  the time
1886              to wait for a response to a Class 2/2.0 AT+FET command).
1887
1888       ModemPageStartTimeout
1889              The maximum time  to  wait,  in  milliseconds,  for  an  initial
1890              response  from  the  modem when sending a page of facsimile data
1891              (e.g. the time to wait for a response to a  Class  2/2.0  AT+FDR
1892              command).
1893
1894       ModemRaiseATCommands
1895              Indicates  whether  or not all configuration AT commands for the
1896              modem should be raised to upper-case automatically.   The  stan‐
1897              dard  is  for  all  upper-case  to  be  used in AT commands, and
1898              indeed, some rare modems have been  known  to  malfunction  with
1899              lower-case  commands.   However,  sometimes an administrator may
1900              want to use lower-case commands in a rare condition such  as  to
1901              work around modem blacklisting of dialed numbers.
1902
1903       ModemRate
1904              The  baud rate to use for DCE-DTE communication.  This value may
1905              be one of: 115200, 76800, 57600, 38400, 19200, 9600, 4800, 2400,
1906              1200.   The  default value is 19200 because many modems lock the
1907              rate at 19200 when sending or receiving  facsimile.   Note  that
1908              not  all  values  are  supported  by  all  operating systems and
1909              modems; consult stty(1) for the available rates on your system.
1910
1911       ModemReadyCmds
1912              A string of commands to issue to the modem during reception ini‐
1913              tialization.   This  string is sent to the modem after the stan‐
1914              dard set of configuration commands required by the  fax  server.
1915              This  is  done, for example, to un-busy a DID line so that calls
1916              can come through.
1917
1918       ModemRecvFillOrder
1919              The bit order to expect for received facsimile data.  This value
1920              may  be either LSB2MSB when bits are ordered from least-signifi‐
1921              cant-bit to most-significant-bit (as in the CCITT specification)
1922              or  MSB2LSB  when  bits  are  ordered  in the reverse direction.
1923              According to the various specifications all modems should return
1924              data  in  LSB2MSB  order.   However  most Class 2 modems (except
1925              maybe only Multitech) use MSB2LSB for compatibility with  modems
1926              that  were built with Rockwell hardware/firmware that included a
1927              bug that was too widespread to correct.
1928
1929              If this parameter is not set, then it is autodetected and set to
1930              LSB2MSB  for  Class  1 and Class 2.0 modems and MSB2LSB for non-
1931              Multitech Class 2 modems. However this may  be  wrong  for  your
1932              modem, so you will have to specify this parameter explicitly.
1933
1934       ModemRecvSuccessCmd
1935              A  string  of  commands to issue to the modem after a successful
1936              receive session before the call is disconnected.
1937
1938       ModemResetCmds
1939              A string of commands to issue to the  modem  during  initializa‐
1940              tion.   This string is sent to the modem before the standard set
1941              of configuration commands required by the fax server.  Note that
1942              these commands should not include normal reset commands that are
1943              specified through other parameters.  For  example,  commands  to
1944              setup  flow  control, DCD handling, DTR handling, etc. should be
1945              specified through the appropriate configuration  parameters  and
1946              not  through this parameter.  In addition the soft reset command
1947              (usually ``ATZ'') should not be included  in  this  string;  the
1948              servers issue this command explicitly.
1949
1950       ModemResetDelay
1951              The  time, in milliseconds, to pause after setting DTR ON, while
1952              resetting a modem.  DTR ON does not respond with ``OK'', so this
1953              parameter  should  be  long enough to allow the modem time to be
1954              ready for ModemSoftResetCmd successively.
1955
1956       ModemResultCodesCmd
1957              The command to enable result codes.
1958
1959       ModemRevQueryCmd
1960              The command to send to the modem  to  get  a  firmware  revision
1961              identification string.  If this parameter is not set, then it is
1962              initialized  to  ``AT+FREV?''  for  Class  2   modems,   or   to
1963              ``AT+FMR?''  for Class 2.0 modems.  If the parameter begins with
1964              a ``!'', then the remainder of the string is  taken  to  be  the
1965              identification string and no command is issued to the modem.
1966
1967       ModemSendBeginCmd
1968              The  command to send to the modem upon establishing carrier dur‐
1969              ing a transmit operation.  This parameter is useful for  systems
1970              that are incapable of enabling hardware flow control without DCD
1971              asserted.
1972
1973       ModemSendFillOrder
1974              The bit order the modem expects for transmitted facsimile  data.
1975              This value may be either LSB2MSB or MSB2LSB (see also ModemRecv‐
1976              FillOrder above.)  Virtually all modems expect transmitted  fac‐
1977              simile data in LSB2MSB bit order.
1978
1979       ModemSetOriginCmd
1980              The  command  to  use  to set the call origin information before
1981              placing a call.  The command may include a single  ``%d''  where
1982              the  job request ``faxnumber'' string is to be substituted.  The
1983              command may also include a single ``%s'' where the  job  request
1984              ``faxname'' string is to be subsituted.
1985
1986       ModemSetVolumeCmd
1987              The  commands  to  use  to  set the modem speaker volume levels.
1988              There should be five whitespace-separated commands, one each for
1989              setting  the  volume to ``Off'', ``Quiet'', ``Low'', ``Medium'',
1990              and ``High'';  the  default  is  ``"ATM0  ATL0M1  ATL1M1  ATL2M1
1991              ATL3M1"''.  See also SpeakerVolume.
1992
1993       ModemSetupAACmd
1994              The  command  to  setup  adaptive answer support in the modem-if
1995              available.  Adaptive answer is the term used for the ability  to
1996              distinguish  between  calls  from  facsimile,  voice,  and  data
1997              sources.  Note that this string is the last  command  issued  by
1998              the  device  drivers during setup, so the command string may, if
1999              necessary, switch to a different operating mode  (e.g.  on  some
2000              Rockwell-based  modems it is necessary to issue the ``AT+FAA=1''
2001              command in Class 0).
2002
2003       ModemSetupDCDCmd
2004              The command to setup DCD handling.  On most systems the  facsim‐
2005              ile  server  will  enable  the  CLOCAL flag on the tty device to
2006              which the modem is connected.  This should ensure that the  sys‐
2007              tem  does  not close an open file descriptor associated with the
2008              modem if carrier is dropped.  Thus, for most systems and  modems
2009              ModemSetupDCDCmd should setup DCD to reflect carrier.
2010
2011       ModemSetupDTRCmd
2012              The  command  to  setup  DTR handling so that the modem is reset
2013              when the DTR signal is  lowered  by  the  host.   The  facsimile
2014              server  uses this facility to ensure that modems are not left in
2015              a ``locked up'' state.
2016
2017       ModemSoftFlowCmd
2018              The command to setup software (XON/XOFF)  flow  control  between
2019              DTE and DCE.
2020
2021       ModemSoftResetCmd
2022              The command to force a soft reset of the modem.
2023
2024       ModemSoftResetCmdDelay
2025              The  time, in milliseconds, to pause after receiving the OK fol‐
2026              lowing ModemSoftResetCmd before any further commands are sent to
2027              the modem.
2028
2029       ModemSoftRTFCC
2030              Whether  or not to enable software-driven Real-Time Fax Compres‐
2031              sion Conversion.  RTFCC allows HylaFAX to convert the image com‐
2032              pression  between  MH  MR and MMR formats regardless of how faxq
2033              formatted the image file.  Note that when using RTFCC, the  com‐
2034              pression  format  of  the file will be ignored, thus the ``-1'',
2035              ``-2'', and ``-3'' options for sendfax, ps2fax, and others  will
2036              only influence how the document is prepared by faxq and will not
2037              influence the actual negotiated session parameters.  Class2RTFCC
2038              takes  precedence  over  ModemSoftRTFCC and if both are enabled,
2039              then software-driven RTFCC will not be performed in favor of the
2040              firmware-driven RTFCC.
2041
2042       ModemType
2043              This  parameter must be set to one of: ``Class2'', ``Class2.0'',
2044              ``Class1'', or ``Class1.0''; to indicate that  the  modem  is  a
2045              Class  2-,  Class  2.0-,  Class  1-,  or  Class 1.0-style modem,
2046              respectively.  If  this  parameter  is  not  set,  then  HylaFAX
2047              detects  which  classes  are supported by the modem and makes an
2048              internal decision on which to use.  Historically  this  decision
2049              chooses  Class  2.1  over  Class 2.0 over Class 2 over Class 1.0
2050              over Class 1.  However, some exceptions are made, for  instance,
2051              with US Robotics modems where Class 2.0 support is avoided.
2052
2053       ModemVerboseResultsCmd
2054              The  command  to  enable  verbose, as opposed to numeric, result
2055              codes.
2056
2057       ModemWaitForConnect
2058              If enabled, the facsimile server will not consider a  connection
2059              established  when answering an incoming call until a ``CONNECT''
2060              status string is received.  This is useful mainly  for  Rockwell
2061              RC32ACL-based  modems that send ``FAX'' and ``DATA'' status mes‐
2062              sages before sending ``CONNECT''.
2063
2064       ModemWaitTimeCmd
2065              The command to set the number of seconds to wait for  a  carrier
2066              signal when placing a call or answering the phone.
2067

T.30 PROTOCOL CONFIGURATION PARAMETERS

2069       The  following parameters apply to the implementation of the CCITT T.30
2070       facsimile protocol in the Class 1 device driver.  They  should  not  be
2071       changed without full understanding of the operation of the server.
2072
2073       FaxT1Timer
2074              The  value  of the T1 timer in milliseconds.  This timer is used
2075              to time  out  the  initial  session  contact;  i.e.  receipt  of
2076              DIS/DCS.
2077
2078       FaxT2Timer
2079              The  value  of the T2 timer in milliseconds.  This timer is used
2080              to time out receiving responses and commands.
2081
2082       FaxT4Timer
2083              The value of the T4 timer in milliseconds.  This timer  is  used
2084              to  time  out the reception of HDLC frames and, usually, trigger
2085              frame retransmissions.
2086

CLASS 1 MODEM CONFIGURATION PARAMETERS

2088       The following parameters are specific to  the  configuration  of  Class
2089       1-style modems; they should not be changed lightly:
2090
2091       Class1Cmd
2092              The command to set the modem into Class 1 operation.
2093
2094       Class1AdaptRecvCmd
2095              The  command  used to enable adaptive reception support (usually
2096              ``AT+FAR=1'').  This feature is new in  T.31,  and  many  modems
2097              will  not  support  it.   This  feature may reduce the number of
2098              reception failures due to errors cascading  from  +FCERROR  mes‐
2099              sages.
2100
2101       Class1ColorJPEGSupport
2102              Whether or not to enable support for T.30-E full-color facsimile
2103              with JPEG  compression.   Enabling  this  automatically  enables
2104              Class1GreyJPEGSupport.
2105
2106       Class1EnableV34Cmd
2107              The command to enable V.34-fax support with at least the desired
2108              maximum primary channel rate.
2109
2110       Class1ECMCheckFrameLength
2111              Whether or not to require the frame length for ECM  data  frames
2112              to be complete when checking for frame integrity.  Normally this
2113              is not beneficial (and can be problematic for some senders), but
2114              in  some  cases  the  frame CRC is not reliable because of modem
2115              behavior.
2116
2117       Class1ECMSupport
2118              Whether or not to support T.30-A error correction protocol.  Use
2119              of  ECM  will  require  64 kilobytes of free memory per modem in
2120              active use.
2121
2122       Class1PersistentECM
2123              Whether or not to continue to retransmit and allow  to  continue
2124              to  receive  image data in ECM protocol which is not accepted as
2125              valid after four successive attempts.
2126
2127       Class1ECMFrameSize
2128              The size in bytes of image frames to transmit during ECM  proto‐
2129              col.   This  setting  will also indicate a preference in receive
2130              sessions.  The only acceptable values are 64 and 256.  A setting
2131              of  64  may be useful on high-load systems and possibly environ‐
2132              ments with extremely poor line quality.
2133
2134       Class1ExtendedRes
2135              Whether or not to support  resolutions  other  than  normal  and
2136              fine.  This option has been deprecated by Class1Resolutions.
2137
2138       Class1FrameOverhead
2139              The  number  of extraneous bytes in HDLC frames sent to the host
2140              in response to an ``AT+FRH'' command.  For modems that  properly
2141              implement  the  Class  1 interface, this number should be 4 (the
2142              default).
2143
2144       Class1GreyJPEGSupport
2145              Whether or not to enable support for T.30-E greyscale  facsimile
2146              with  JPEG  compression.  This is always enabled if Class1Color‐
2147              JPEGSupport is enabled.
2148
2149       Class1HookSensitivity
2150              The number of times to  ignore  on-hook  detections  and  merely
2151              treat them as command or modem errors.
2152
2153       Class1JBIGSupport
2154              Whether  or  not to enable support for T.85 monochrome facsimile
2155              with JBIG compression.  Options are ``true'' for support in both
2156              sending  and  receiving,  ``false'' for no support, ``send'' for
2157              support only in sending, and ``receive''  for  support  only  in
2158              receiving.   If,  during  the  build  process  a compatible JBIG
2159              library was found then send support is enabled by default.   If,
2160              during  the  build  process  the TIFF tools are found to support
2161              JBIG then receive support is enabled by default.
2162
2163       Class1MRSupport
2164              Whether or not to enable support  for  two-dimensional  Modified
2165              Read (MR) image data format compression.
2166
2167       Class1MMRSupport
2168              Whether  or  not  to enable support for two-dimensional Modified
2169              Modified Read (MMR) image data format  compression.   Note  that
2170              MMR support requires also ECM support to be enabled.
2171
2172       Class1HasRHConnectBug
2173              A  Class  1 modem should only report CONNECT after AT+FRH=3 when
2174              V.21 HDLC data is detected.  However, some  modems  will  incor‐
2175              rectly  report  CONNECT  after  AT+FRH=3 whenever any carrier is
2176              present. In such cases Class1HasRHConnectBug should  be  set  to
2177              ``true''.
2178
2179       Class1HFLOCmd
2180              The command to setup hardware (RTS/CTS) flow control between DTE
2181              and DCE when operating in Class 1.  This command is issued imme‐
2182              diately after sending the Class1Cmd to switch the modem to Class
2183              1 operation.
2184
2185       Class1NFLOCmd
2186              The command to setup no flow control between DTE  and  DCE  when
2187              operating  in Class 1.  This command is issued immediately after
2188              sending the Class1Cmd to switch the modem to Class 1 operation.
2189
2190       Class1PageLengthSupport
2191              The coded value for page lengths supported by  the  modem.   The
2192              only  correct  values  and  meanings  are  these: ``1'', A4 page
2193              length; ``3'', both A4 and B4 page length; ``7'', unlimited page
2194              length.
2195
2196       Class1PageWidthSupport
2197              The  coded  value  for  page widths supported by the modem.  The
2198              only correct values and  meanings  are  these:  ``1'',  A4  page
2199              width;  ``3'',  both A4 and B4 page width; ``7'', all of A4, B4,
2200              and A3 page widths.
2201
2202       Class1PPMWaitCmd
2203              The command used to stop and wait before sending the  post  page
2204              message,  except  before  sending  EOP, when Class1EOPWaitCmd is
2205              used instead.  We must ensure that the  high-speed  carrier  has
2206              stopped  completely.  According to T.30, Chapter 5, Note 4, this
2207              delay should be 75 +/- 20 ms.
2208
2209       Class1ResponseWaitCmd
2210              The command used to stop and  wait  after  sending  TCF,  before
2211              attempting  to receive a training response from the remote.  Set
2212              this to ``AT+FTS=1'' if the modem responds ``OK''  before  actu‐
2213              ally dropping the high-speed TCF carrier.
2214
2215       Class1Resolutions
2216              A  bitmapped  (bit-or'd)  value indicating the resolutions to be
2217              supported during facsimile  operation.   Individual  resolutions
2218              follow Table 21/T.32 and are defined as follows:
2219              Bit              Description
2220              0 (0x00)         R8 x 3.85 l/mm, Normal
2221              1 (0x01)         R8 x 7.7 l/mm, Fine
2222              2 (0x02)         R8 x 15.4 l/mm, Superfine
2223              4 (0x04)         R16 x 15.4 l/mm, Hyperfine
2224              8 (0x08)         200 dpi x 100 l/inch
2225              16 (0x10)        200 dpi x 200 l/inch
2226              32 (0x20)        200 dpi x 400 l/inch
2227              64 (0x40)        300 dpi x 300 l/inch
2228              Thus,  a value of 3 would indicate support for normal, fine, and
2229              superfine resolutions.
2230
2231       Class1RMQueryCmd
2232              The command to send to the modem to get the  list  of  supported
2233              reception bit-rates.  If the parameter begins with a ``!'', then
2234              the remainder of the string is taken to be  the  modem  response
2235              and no command is issued to the modem.
2236
2237       Class1TCFWaitCmd
2238              The command used to stop and wait before sending TCF, similar to
2239              Class1PPMWaitCmd.  According to T.30, Chapter 5,  Note  3,  this
2240              delay should be 75 +/- 20 ms.
2241
2242       Class1TMQueryCmd
2243              The  command  to  send to the modem to get the list of supported
2244              transmission bit-rates.  If the parameter begins with  a  ``!'',
2245              then  the  remainder  of  the  string  is  taken to be the modem
2246              response and no command is issued to the modem.
2247
2248       Class1EOPWaitCmd
2249              The command used to stop and wait before sending the  post  page
2250              message  similar to Class1PPMWaitCmd.  We allow a different set‐
2251              ting in the case  of  EOP,  however,  because  empirically  some
2252              machines may need more time.
2253
2254       Class1ModemHasDLEBug
2255              Used to indicate that the modem does not correctly duplicate DLE
2256              characters in the V.21 communication to the DTE.
2257
2258       Class1MsgRecvHackCmd
2259              If receive failures occur due to +FCERROR just  prior  to  image
2260              data  reception,  setting  Class1MsgRecvHackCmd  to AT+FRS=1 may
2261              help.
2262
2263       Class1RecvAbortOK
2264              The time, in milliseconds, to wait for  an  ``OK''  result  code
2265              from   the   modem   after   aborting   an  HDLC  frame  receive
2266              (``AT+FRH=3'').  If this number  is  zero,  then  the  modem  is
2267              assumed  to  not  correctly  implement  aborting and instead the
2268              driver will wait 200ms, flush any input, and then send  ``AT\n''
2269              and wait 100ms for an ``OK'' result.
2270
2271       Class1RecvIdentTimer
2272              The  time,  in  milliseconds,  to  wait  for an initial DCS when
2273              receiving a facsimile.  CCITT recommendation T.30 specifies this
2274              as  the  value  of  the  T1  timer.  However, adaptive answering
2275              schemes such as that described above  under  the  AdaptiveAnswer
2276              parameter may require that this timer be shortened.
2277
2278       Class1RestrictPoorDestinations¹
2279              The  threshold  of destination audio quality corruption at which
2280              resolution support should be restricted to ``normal'' and  color
2281              support  should  be  disabled.   This  is intended to reduce the
2282              amount of image data that will be attempted to be sent to a des‐
2283              tination  with  poor audio quality, thus reducing the call dura‐
2284              tion, and should improve the likelihood  of  successful  session
2285              completion.  The threshold is the ratio, expressed as an integer
2286              percentage, of data indicated as corrupt by the destination com‐
2287              pared  to  total  data  sent  to the destination in the previous
2288              three fax sessions.  Although Class1RestrictPoorDestinations  is
2289              functional  for destinations with a history of both ECM and non-
2290              ECM sessions, the ECM session history is preferred and  weighted
2291              considerably higher than non-ECM session history.
2292
2293       Class1RestrictPoorSenders
2294              The  threshold of sender audio quality corruption at which reso‐
2295              lution support should be restricted to ``normal'' and color sup‐
2296              port  should be disabled.  This is intended to reduce the amount
2297              of image data that a sender with poor audio quality will attempt
2298              to transmit, thus reducing the call duration, and should improve
2299              the likelihood of successful session completion.  The  threshold
2300              is  the  ratio,  expressed  as an integer percentage, of corrupt
2301              data received compared to total data received from  the  current
2302              sender in the previous three fax sessions.  Class1RestrictPoorS‐
2303              enders requires that a CallIDType of ``calling-number'' be  con‐
2304              figured  in  order  to  match a sender with an entry in the info
2305              database.
2306
2307       Class1RMPersistence
2308              The number of times that an attempt to  receive  the  high-speed
2309              data  carrier  should be made, resulting in +FCERROR, before the
2310              low-speed message carrier reception is attempted.   Some  modems
2311              are  quick  to  (perhaps  incorrectly)  return +FCERROR, and for
2312              those modems a value of 2 or 3 should be used.  For modems  that
2313              are  not  quick to return +FCERROR, a value of 1 should be used.
2314              Proper tuning of this can provide a type of "adaptive  reception
2315              control" for modems that accurately return +FCERROR without sup‐
2316              porting  Class1AdaptRecvCmd.   For  those  modems  that  support
2317              Class1AdaptRecvCmd,  Class1RMPersistence  should probably not be
2318              set at 1, although +FCERROR should almost never occur with  such
2319              modems.
2320
2321              If the modem does not support the reporting of +FCERROR or adap‐
2322              tive reception control, then Class1RMPersistence should probably
2323              be set at 0, which causes the timeout looking for the high-speed
2324              data carrier to be shortened, thus increasing the likelihood  of
2325              recovery  from  any dissynchronization. When Class1RMPersistence
2326              is other than 0 it is assumed that  the  +FCERROR  reporting  or
2327              Class1AdaptRecvCmd is functional and therefore the timeout look‐
2328              ing for the high-speed data carrier is lengthened.
2329
2330       Class1SwitchingCmd
2331              The command used to ensure that the sending facsimile device has
2332              turned  off  its modulator (i.e. loss-of-carrier) as recommended
2333              by T.31: Appendix II.1.
2334
2335       Class1SFLOCmd
2336              The command to setup software (XON/XOFF)  flow  control  between
2337              DTE  and  DCE when operating in Class 1.  This command is issued
2338              immediately after sending the Class1Cmd to switch the  modem  to
2339              Class 1 operation.
2340
2341       Class1SSLFaxCert
2342              The  relative  path to the PEM certificate file for SSL Fax use.
2343              This is normally created by faxsetup(8C).
2344
2345       Class1SSLFaxClientTimeout
2346              The time, in milliseconds, that the SSL Fax server  should  wait
2347              for  the client connection to complete before abandoning SSL Fax
2348              and proceeding with a traditional fax operation.
2349
2350       Class1SSLFaxInfo
2351              The formatted hostname and port number for  SSL  Fax  connection
2352              for  this  modem.   (Each modem should use a different port num‐
2353              ber.)  This instructs  the  remote  system  on  how  to  connect
2354              through  the  IP  network  to  this system as an SSL Fax server.
2355              Firewalling and port forwarding should  be  carefully  addressed
2356              prior to using this configuration.  The format for Class1SSLFax‐
2357              Info is ``<hostname>:<port>''.  During fax protocol this  infor‐
2358              mation  will  be  made  into  a URL by prepending ``ssl://<pass‐
2359              code>@'' and communicated as part of CSA and TSA signals for SSL
2360              Fax.  (``<passcode>'' is a string of random characters.)
2361
2362              ``<hostname>''  may  be  specified as an IP address; however, in
2363              such   cases   it   should   be    bracketed,    for    example:
2364              ``[<address>]:<port>''.   This  prevents  confusion,  especially
2365              with IPv6 addresses.
2366
2367              Either the sender or the receiver (or both) must signal  an  SSL
2368              Fax URL in order for SSL Fax to operate.  If no Class1SSLFaxInfo
2369              is configured for one system, then it is always dependent on the
2370              remote systems to operate as the SSL Fax server.
2371
2372       Class1SSLFaxServerTimeout
2373              The  time,  in milliseconds, that the SSL Fax client should wait
2374              for the connection to the server to complete  before  abandoning
2375              SSL  Fax  and proceeding with a traditional fax operation.  Usu‐
2376              ally this must be shorter than 3 seconds.
2377
2378       Class1SSLFaxSupport
2379              Whether or not to enable SSL Fax support.
2380
2381       Class1TCFMaxNonZero
2382              The maximum percentage of non-zero data bytes  permitted  in  an
2383              acceptable received TCF.  Note that this number does not include
2384              any leading non-zero  data  in  the  received  data.   See  also
2385              Class1TCFMinRun.
2386
2387       Class1TCFMinRun
2388              The  duration,  in milliseconds, of the minimum run of zero data
2389              in an acceptable received TCF.  This value should  be  specified
2390              according  to  a  1.5  second transmission of zero data (i.e. it
2391              should be between 0 and 1500).  See also Class1TCFMaxNonZero and
2392              Class1TCFMinRunECMMod.
2393
2394       Class1TCFMinRunECMMod
2395              The  factor  by  which Class1TCFMinRun should be modified in the
2396              case of an ECM session.  As ECM protocol allows  retransmissions
2397              it is commonly faster to accept a lesser-quality data stream and
2398              the subsequent retransmisisons than it is to allow the  communi‐
2399              cation  speed to slow down (where the demodulation may still not
2400              produce an ideal data stream, anyway).
2401
2402       Class1TCFRecvHackCmd
2403              If receive failures occur due to +FCERROR just prior to TCF data
2404              reception, setting Class1TCFRecvHackCmd to AT+FRS=1 may help.
2405
2406       Class1TCFRecvTimeout
2407              The  maximum  time  to wait, in milliseconds, for the first byte
2408              and again for the entirety of the Training Check  (TCF)  message
2409              data that is received during the training phase of the facsimile
2410              reception protocol.
2411
2412       Class1TMConnectDelay
2413              The time, in milliseconds, to delay after receiving CONNECT fol‐
2414              lowing  +FTM before sending image data.  T.31 8.3.3 requires the
2415              modem to respond with CONNECT  before  the  modulation  training
2416              pattern.   If transmission begins before the remote has success‐
2417              fully completed its own modulation training pattern  then  data,
2418              especially during TCF, could be lost.  Many modems do not follow
2419              T.31 in this regard, and thus the default is zero;  however  its
2420              use with such modems would likely have a negligible effect.
2421
2422       Class1ValidateV21Frames
2423              Whether  or not to use the FCS bits of received V.21 HDLC frames
2424              to check the validity of the frame itself.  Most Class 1  modems
2425              perform  this  check  independently  (per  T.31  7.4) and do not
2426              require this feature to be enabled.
2427

CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS

2429       The following parameters are specific to the configuration of Class  2-
2430       and Class 2.0-style modems:
2431
2432       Class2Cmd
2433              The command to set the modem into Class 2/2.0 operation.
2434
2435       Class2AbortCmd
2436              The command to use to abort an established session.  After using
2437              this command to abort a session,  the  fax  software  will  send
2438              ModemOnHookCmd and then reset the modem by dropping DTR .
2439
2440       Class2APCmd
2441              A  largely  unused  option for modems supporting ITU-T.32, Class
2442              2.1, standards.  This command would be used  to  enable  sending
2443              and receiving SUB, SEP, and PWD frames.
2444
2445       Class2APQueryCmd
2446              A  largely  unused  option for modems supporting ITU-T.32, Class
2447              2.1, standards.  This command would be used to query  the  capa‐
2448              bilities of sending and receiving SUB, SEP, and PWD frames.  The
2449              value ``none'' may be used if the modem  does  not  support  any
2450              Class2APQueryCmd.
2451
2452       Class2BORCmd
2453              The  command to setup the bit order of sent and received facsim‐
2454              ile data.  Usually the command ``AT+FBOR=0''  is  used  so  that
2455              data  is  sent and received in direct bit order (LSB2MSB).  Some
2456              modems, such as the Everex 24/96D, must use reversed  bit  order
2457              for  Phase B and D data exchanges to avoid a bug that results in
2458              garbage data being placed in the padding of EOL codes.  The  bit
2459              order  specified by this command must correspond to the settings
2460              of the ModemSendFillOrder and ModemRecvFillOrder parameters.
2461
2462       Class2BUGCmd
2463              The command to use to enable or  disable  the  tracing  of  HDLC
2464              frames sent and received by the modem.  This tracing information
2465              should be returned to the host in ``+FHR:'' and ``+FHT:'' status
2466              strings.   Note  that  many  Class  2 modems do not support this
2467              facility, which is largely used for  diagnostic  purposes.   The
2468              value  ``none''  may  be  used if the modem does not support any
2469              Class2BUGCmd.
2470
2471       Class2CIGCmd
2472              The command used to set a polling identifier.   This  string  is
2473              inserted into the format ``%s="<id>"''.
2474
2475       Class2CQCmd
2476              The  command to use to set up parameters for copy quality check‐
2477              ing.  For example, for an Everex  24/96D  modem  this  parameter
2478              might   be  set  to  ``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''.
2479              Class2CQCmd should be configured to set-up  all  available  copy
2480              quality  services  available  per  Class2CQQueryCmd.  To disable
2481              features that are available, configure Class2CQQueryCmd  with  a
2482              ``!'', and then set Class2CQCmd accordingly.
2483
2484       Class2CQQueryCmd
2485              The  command  to send to the modem to get the copy quality capa‐
2486              bilities string.  If the parameter begins with a ``!'', then the
2487              remainder  of  the string is taken to be the capabilities string
2488              and no command is issued to the modem; this can be used together
2489              with  the  Class2CQCmd to force copy quality checking to be done
2490              in the server instead of in the modem.   See  also  PercentGood‐
2491              Lines  and  MaxConsecutiveBadLines  for  parameters  used  to do
2492              server copy quality checking.  If copy quality checking is  con‐
2493              figured  to  be  done  by  the  modem then it is not done by the
2494              server.
2495
2496       Class2CRCmd
2497              The command to use to enable the reception of facsimile.
2498
2499       Class2DCCCmd
2500              The command used to set  modem  capabilities.   This  string  is
2501              inserted into the format ``%s=vr,br,wd,ln,df,ec,bf,st''.
2502
2503       Class2DCCQueryCmd
2504              The command to send to the modem to get the Class 2/2.0 capabil‐
2505              ities.  If the parameter begins with a ``!'', then the remainder
2506              of the string is taken to be the capabilities string and no com‐
2507              mand is issued to the modem.
2508
2509       Class2DDISCmd
2510              The command to set  session  parameters  before  dialing.   This
2511              string       is       inserted       into       the       format
2512              ``%s=vr,br,wd,ln,df,ec,bf,st''.  Setting this parameter  enables
2513              support  for  Class  2 modems that do not properly implement the
2514              ``AT+FDIS'' command by  setting  up  session  parameters  before
2515              dialing the telephone.
2516
2517       Class2DISCmd
2518              The  command  used  to set the current session parameters.  This
2519              string       is       inserted       into       the       format
2520              ``%s=vr,br,wd,ln,df,ec,bf,st''.
2521
2522       Class2ECMType
2523              The interpretation of the EC parameter in the modem DCC response
2524              varies between the Class 2, ``2'', and Class 2.0, ``2.0'', spec‐
2525              ifications.  This configuration parameter allows the administra‐
2526              tor to specify which type to use.  The corresponding  specifica‐
2527              tion type is used by default.
2528
2529       Class2HexNSF
2530              Whether  or  not  to parse the NSF strings reported by the modem
2531              using hexadecimal values.  By default, they are parsed as  hexa‐
2532              decimal values.
2533
2534       Class2HFLOCmd
2535              The command to setup hardware (RTS/CTS) flow control between DTE
2536              and DCE when operating in Class 2/2.0.  This command  is  issued
2537              immediately  after  sending the Class2Cmd to switch the modem to
2538              Class 2/2.0 operation.  For Class 2.0 operation the  default  is
2539              ``AT+FLO=2''.
2540
2541       Class2JBIGSupport
2542              Whether  or  not to enable support for T.85 monochrome facsimile
2543              with JBIG compression.  Options are ``true'' for support in both
2544              sending  and  receiving,  ``false'' for no support, ``send'' for
2545              support only in sending, and ``receive''  for  support  only  in
2546              receiving.   If  the  modem  supports JBIG, and during the build
2547              process a compatible JBIG library was found then send support is
2548              enabled  by default.  If the modem supports JBIG, and during the
2549              build process the TIFF tools are  found  to  support  JBIG  then
2550              receive support is enabled by default.
2551
2552       Class2JPEGSupport
2553              Whether  or  not to enable and utilize the JPEG support found in
2554              the modem.
2555
2556       Class2LIDCmd
2557              The command used to  set  the  local  identifier  string.   This
2558              string is inserted into the format ``%s="<id>"''
2559
2560       Class2MINSPCmd
2561              The command used to set the minimum acceptable speed to be nego‐
2562              tiated for transmitting page data.  This string is inserted into
2563              the format ``%s=<speed>''
2564
2565       Class2NFLOCmd
2566              The  command  to  setup no flow control between DTE and DCE when
2567              operating in Class 2/2.0.  This command  is  issued  immediately
2568              after sending the Class2Cmd to switch the modem to Class 2 oper‐
2569              ation.  For Class 2.0 operation the default is ``AT+FLO=0''.
2570
2571       Class2NRCmd
2572              (Class 2.0  only)  The  command  to  setup  negotiation  message
2573              reporting.   For  the  correct operation of the Class 2.0 driver
2574              this command must enable the reporting of: receiver  parameters,
2575              transmitter  parameters, and ID strings.  It is not necessary to
2576              enable reporting of non-standard frames for correct operation of
2577              the Class 2.0 driver.
2578
2579       Class2PACmd
2580              A  largely  unused  option for modems supporting ITU-T.32, Class
2581              2.1, standards.  This command  would  be  used  to  set  up  the
2582              polling address string enabled by the Class2APCmd.
2583
2584       Class2PHCTOCmd
2585              The command to use to set the Phase C timeout parameter (in sec‐
2586              onds).  The value ``none'' may be used if  the  modem  does  not
2587              support any Class2PHCTOCmd.
2588
2589       Class2PIECmd
2590              (Class  2.0 only) The command to use to control procedure inter‐
2591              rupt handling.  Procedure interrupts should be disabled  because
2592              HylaFAX  does  not provide a mechanism for dispatching procedure
2593              interrupts to an administrator.
2594
2595       Class2PTSCmd
2596              The command to use to set the received page status  code.   When
2597              copy  quality  checking is done in the host, this command may be
2598              used to control the post-page response delivered to the  sender.
2599              Beware  that  some modems do not properly implement this command
2600              in which case the server should be configured  to  not  do  copy
2601              quality  check:  see the PercentGoodLines and MaxConsecutiveBad‐
2602              Lines parameters to understand how to defeat copy quality check‐
2603              ing.
2604
2605       Class2PTSQueryCmd
2606              The command to use to query the received page status code.  This
2607              command may be used to determine the post-page response returned
2608              from  the  receiver.   Beware  that  some modems do not properly
2609              implement this command in which case this setting should be  set
2610              to ``none''.
2611
2612       Class2PWCmd
2613              A  largely  unused  option for modems supporting ITU-T.32, Class
2614              2.1, standards.  This command would be used to set up the  pass‐
2615              word string enabled by the Class2APCmd.
2616
2617       Class2RecvDataTrigger
2618              The  character  to send to the modem to trigger the transmission
2619              of received data from the modem to the host.  This character  is
2620              specified to be DC1 (octal 21) in the draft specification 2388-A
2621              and DC2 (octal 22) in the 2388-B specification.   Most  Class  2
2622              modems accept DC1 or both DC1 and DC2.  Some modems however only
2623              accept DC2.  Note that string parameters may use C-style  escape
2624              sequences,   so   DC2,   for  example,  would  be  specified  as
2625              ``"\022"''.
2626
2627       Class2RELCmd
2628              The command to use to enable the delivery  of  byte-aligned  EOL
2629              codes in received facsimile.  If this parameter is defined, then
2630              received facsimile data will be  marked  to  indicate  that  EOL
2631              codes  are  byte-aligned;  otherwise  they will be marked as not
2632              (necessarily) having byte-aligned codes.
2633
2634       Class2RTFCC
2635              Whether or not to enable MultiTech's Real-Time  Fax  Compression
2636              Conversion  which  is  available in later firmware revisions for
2637              the MT5634ZBA-V92, MT5634ZPX-PCI-V92, and other  models.   RTFCC
2638              allows  HylaFAX  to  convert the image compression between MH MR
2639              and MMR formats regardless of how faxq formatted the image file.
2640              If  RTFCC  is available with your firmware, then the response to
2641              ``AT+FFC=?'' is non-zero.  Note that when using RTFCC, the  com‐
2642              pression  format  of  the file will be ignored, thus the ``-1'',
2643              ``-2'', and ``-3'' options for sendfax, ps2fax, and others  will
2644              not influence the actual negotiated session parameters.
2645
2646       Class2SACmd
2647              A  largely  unused  option for modems supporting ITU-T.32, Class
2648              2.1, standards.  This command would be used to set up the desti‐
2649              nation subaddress string enabled by the Class2APCmd.
2650
2651       Class2SendRTC
2652              Whether or not to append an explicit ``Return To Control'' (RTC)
2653              signal to the page data when  transmitting.   The  Class  2  and
2654              Class  2.0 specs (i.e. SP-2388-A and TIA/EIA-592) state that the
2655              modem will append RTC when it  receives  the  post-page  message
2656              command  from  the  host; this parameter is provided in case the
2657              modem does not correctly implement this.
2658
2659       Class2SFLOCmd
2660              The command to setup software (XON/XOFF)  flow  control  between
2661              DTE  and  DCE  when  operating  in Class 2/2.0.  This command is
2662              issued immediately after sending the  Class2Cmd  to  switch  the
2663              modem  to  Class  2/2.0  operation.  For Class 2.0 operation the
2664              default is ``AT+FLO=1''.
2665
2666       Class2SPLCmd
2667              The command to use to  enable  a  polling  request.   The  value
2668              ``none''  may  be  used  if  the  modem  does  not  support  any
2669              Class2SPLCmd.
2670
2671       Class2TBCCmd
2672              The command to use to enable stream-mode  communication  between
2673              the host and modem.  The value ``none'' may be used if the modem
2674              does not support any Class2TBCCmd.
2675
2676       Class2UseLineCount
2677              Whether or not to use the line count reported to HylaFAX by  the
2678              modem firmware decoder.
2679
2680       Class2UseHex
2681              Whether or not to parse the capabilities strings reported by the
2682              modem using hexadecimal values.  By default, they are parsed  as
2683              decimal values.
2684
2685       Class2XmitWaitForXON
2686              Whether  or  not  to  wait  for  an XON character from the modem
2687              before sending facsimile data to  the  modem  for  transmission.
2688              Note  that  this is only relevant for modems that conform to the
2689              Class 2 spec (i.e.  SP-2388-A).   The  Class  2.0  specification
2690              states  that the host may transmit data immediately upon receiv‐
2691              ing CONNECT and that no XON character will be sent to the host.
2692
2694       The following parameters are specific to the configuration  and  opera‐
2695       tion  of the IXO/TAP and UCP support for sending pager messages and GSM
2696       SM. Parameter not used for UCP are marked with ``(IXO/TAP only)''.
2697
2698       PagerSetupCmds
2699              The commands to send to a modem to prepare the modem for a  call
2700              to  pager  service  provider.   Typically  these  commands place
2701              direct the modem to communicate with the service provider at 300
2702              bps  using  the  V.21  protocol.   Per-service  provider command
2703              strings can be setup in the info database; see hylafax-info(5F).
2704
2705       PagerMaxMsgLength
2706              The maximum length for a pager text  message.   Messages  longer
2707              than  this  number  are truncated.  Per-service provider message
2708              lengths can be setup in the info database; see hylafax-info(5F).
2709
2710       IXOService
2711              (IXO/TAP only) The service identification string transmitted  as
2712              part of the IXO/TAP protocol.
2713
2714       IXODeviceID
2715              (IXO/TAP  only) The terminal device identification string trans‐
2716              mitted as part of the IXO/TAP protocol.
2717
2718       IXOMaxUnknown
2719              The  maximum  number  of  unrecognized  messages  that  will  be
2720              accepted  at  various  stages of the IXO/TAP protocol before the
2721              sender will abort and hang up the phone.
2722
2723       IXOIDProbe
2724              (IXO/TAP only) The time, in seconds, between  sending  a  ``\r''
2725              during the initial ID recognition sequence of the IXO/TAP proto‐
2726              col.
2727
2728       IXOIDTimeout
2729              (IXO/TAP only) The maximum time, in seconds,  to  wait  for  the
2730              initial ID response from the service provider.
2731
2732       IXOLoginRetries
2733              (IXO/TAP only) The maximum number of attempts to login to a ser‐
2734              vice provider.
2735
2736       IXOLoginTimeout
2737              (IXO/TAP only) The maximum time, in seconds, to wait to complete
2738              the login procedure.
2739
2740       IXOGATimeout
2741              (IXO/TAP  only)  The maximum time, in seconds, to wait for a Go-
2742              Ahead message from the service provider.
2743
2744       IXOXmitRetries
2745              The maximum number of times to try sending a text message  block
2746              in a single call.
2747
2748       IXOXmitTimeout
2749              The maximum time, in seconds, to try transmitting a text message
2750              block.
2751
2752       IXOAckTimeout
2753              (IXO/TAP only) integer          30                      IXO: max
2754              time  to wait for msg block ack (secs) The maximum time, in sec‐
2755              onds, to wait for an acknowledgement to a transmitted message.
2756

PROTOTYPE CONFIGURATION FILES

2758       Per-modem configuration files  are  typically  derived  from  prototype
2759       files  that  have been created for known modems.  These prototype files
2760       are kept in the config subdirectory and, by convention, have names that
2761       identify  a  brand or type of modem and the DTE-DCE flow control scheme
2762       the prototype files configures.  The faxaddmodem(8C)  program  that  is
2763       used to configure a modem for use with HylaFAX selects a prototype con‐
2764       figuration file using information retrieved from the modem and comments
2765       embedded  in  the  prototype  files.  For Class 1 modems the product ID
2766       code returned by the command ``ATI0'' and the response from the command
2767       ``ATI3''  are  used to select a prototype configuration file, while for
2768       Class 2 modems the manufacturer and model as returned  by  ``AT+FMFR?''
2769       and   ``AT+FMDL?'',   respectively,   are   used  (or  ``AT+FMI?''  and
2770       ``AT+FMM?'' for Class 2.0 modems).
2771
2772       A Class 1 prototype configuration file is identified for use by  faxad‐
2773       dmodem by searching for a comment of the form:
2774       # CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport
2775       In  this  example  ``144''  is the product ID code for an AT&T DataPort
2776       modem, ``.*'' is a regular expression matched against the result string
2777       returned by the ``ATI3'' command, and ``RTSCTS'' indicates the modem is
2778       configured to use hardware flow  control  during  fax  operation.   The
2779       remainder of the line is evaluated by the sh(1) and used to specify the
2780       modem's manufacturer and model (since Class 1 modems do not have  stan‐
2781       dard commands to query this information).
2782
2783       Class  2 and 2.0 prototype configuration files match the string ``manu‐
2784       facturer-model-flowcontrol'' against a sh(1) glob pattern specified  in
2785       the  configuration  file,  where manufacturer and model are the strings
2786       returned by querying the modem and flowcontrol is either ``RTSCTS'' for
2787       hardware  flow  control  or ``XONXOFF'' for software flow control.  For
2788       example:
2789       # CONFIG: CLASS2: ZyXEL*-RTSCTS
2790       # CONFIG: CLASS2.0: USRobotics*-XONXOFF
2791       are configuration comments that appear in  the  prototype  file  for  a
2792       ZyXEL  1496E  with Class 2 support, and for a US Robotics Courier modem
2793       with Class 2.0 firmware.
2794
2795       The faxaddmodem program merges server-specific configuration parameters
2796       into a prototype configuration according to comments placed in the pro‐
2797       totype file.  All lines  between  ``BEGIN-SERVER''  and  ``END-SERVER''
2798       comments  are  placed with the appropriate server configuration parame‐
2799       ters.  Note that this means modem-related configuration parameters must
2800       be placed outside this area of the file.
2801

SEE ALSO

2803       faxaddmodem(8C),    faxq(8C),   faxgetty(8C),   faxsend(8C),   hylafax-
2804       server(5F)
2805
2806
2807
2808             $Date: 2013-02-26 15:46:36 -0800 (Tue, 26 Feb 20H1Y3L)AF$AX-CONFIG(5F)
Impressum