1HYLAFAX-CONFIG(5F) HYLAFAX-CONFIG(5F)
2
3
4
6 config - HylaFAX configuration database
7
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 lo‐
13 cated in the etc subdirectory. The configuration file for the faxq(8C)
14 program is named config. The per-modem configuration files used by the
15 faxgetty(8C), faxsend(8C), and pagesend(8C) programs have names of the
16 form config.devid, where devid is an identifier derived from the name
17 of the modem's device file; for example ttym2 for /dev/ttym2, term_10
18 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 en‐
28 closed in quote marks (``"''). String values enclosed in quote marks
29 may also use the standard C programming conventions for specifying es‐
30 cape codes; e.g. ``\n'' for a newline character and ``\xxx'' for an oc‐
31 tal value. Numeric values are specified according to the C programming
32 conventions (leading ``0x'' for hex, leading ``0'' for octal, otherwise
33 decimal), except for a few parameters, such as RecvFileMode, whose
34 value is interpreted strictly as an octal number and PageChopThreshold
35 whose value is interpreted strictly as a floating point number. Bool‐
36 ean values are case insensitive. For a true value, either ``Yes'' or
37 ``On'' should be used. For a false value, use ``No'' or ``Off''.
38
39 The following table itemizes the tags and the expected type of their
40 value. The first part lists items specific to the operation of each
41 server, while the second part has items related to the servicing of the
42 modem. Parameters marked with a ¹ are used only by the HylaFAX sched‐
43 uler process and should appear only in the file named config. Parame‐
44 ters marked with a ² are used by both the scheduler and the per-device
45 applications and so should appear in all appropriate configuration
46 files (i.e. config and any per-device files that make sense). Parame‐
47 ters not otherwise marked should appear only in per-device configura‐
48 tion files. More detailed information about each item is given follow‐
49 ing the table.
50 Tag Type Default Description
51 AdaptiveAnswer boolean No enable adaptive answer of inbound calls
52 AdminGroup string faxadmin System user group for administration (if PAM enabled)
53 AllowIgnoreModemBusy¹ boolean No honor job requests to ignore modem busy status
54 AnswerRotary string Any alternatives for answering calls
55 AnswerBias integer - bias to apply to successful rotary answer
56 AreaCode² string - local area code
57 AuditHook¹ string - command to run for faxq event auditing
58 BadPageHandlingMethod string RTN-SAVE bad page received handling method
59 BatchLogs¹ boolean Yes keep all session logs of a batch in a single log
60 CallIDAnswerLength integer - answer call when CallIDPattern received
61 CallIDDisplay boolean No display match in modem status
62 CallIDLabel string - label to use in presentation of the match
63 CallIDPattern string - call identification pattern string
64 CallIDRecord boolean Yes record match in recvq image file
65 CallIDType string - type identifier for the CallIDPattern match
66 CIDName string - equivalent to CallIDPattern (2)
67 CIDNameAnswerLength integer 0 equivalent to CallIDAnswerLength (2)
68 CIDNumber string - equivalent to CallIDPattern (1)
69 CIDNumberAnswerLength integer 0 equivalent to CallIDAnswerLength (1)
70 ClocalAsRoot boolean No set CLOCAL using root UID
71 ContCoverCmd¹ string bin/mkcover continuation cover page generation program
72 ContCoverPage¹ string - continuation cover page template filename
73 CountryCode² string - local country code
74 DestControls¹ obsolete - Obsoleted by JobControl
75 DeviceMode octal 0600 protection mode to use for modem device
76 DialStringRules² string - dial string rules file
77 DistinctiveRings string - configuration for distinctive ring cadences
78 DRingOff string - distinctive ring ``off'' cadence indicator
79 DRingOn string - distinctive ring ``on'' cadence indicator
80 DynamicConfig string - program for dynamic receive configuration
81 EGettyArgs string - arguments passed to external getty program
82 FAXNumber string - facsimile modem phone number
83 FaxRcvdCmd string bin/faxrcvd notification program for received facsimile
84 GettyArgs string - arguments passed to getty program
85 Include² string - include another config file
86 InternationalPrefix² string - dialing prefix for international calls
87 JobControlCmd¹ string - job control command
88 JobReqBusy integer 180 requeue interval for BUSY dial result
89 JobReqDataConn integer 300 requeue interval for data connection dial result
90 JobReqNoAnswer integer 300 requeue interval for NO ANSWER dial result
91 JobReqNoCarrier integer 300 requeue interval for NO CARRIER dial result
92 JobReqNoFCon integer 300 requeue interval for carrier without +FCON dial result
93 JobReqOther² integer 300 requeue interval for ``other'' problems
94 JobReqProto integer 60 requeue interval after fax protocol error
95 JobRetryBusy integer - number of retries for BUSY dial result
96 JobRetryDataConn integer - number of retries for data connection dial result
97 JobRetryNoAnswer integer - number of retries for NO ANSWER dial result
98 JobRetryNoCarrier integer 1 number of retries for NO CARRIER dial result
99 JobRetryNoFCon integer - number of retries for carrier without +FCON dial result
100 JobRetryOther integer - number of retries for ``other'' problems
101 LockDataCalls boolean Yes lock modem for the duration of an inbound data call
102 LockVoiceCalls boolean Yes lock modem for the duration of an inbound voice call
103 LogCalls boolean Yes Log all incoming calls as CALL records in xferfaxlog
104 LogFacility² string daemon syslog facility name for ServerTracing messages
105 LogFileMode octal 0600 protection mode to use for session log files
106 LogRecv boolean Yes Log recieved faxes as RECV records in xferfaxlog
107 LogSend boolean Yes Log sent faxes as SEND records in xferfaxlog
108 LocalIdentifier string - local station identification string
109 LongDistancePrefix string - dialing prefix for long distance calls
110 MaxBatchJobs¹ integer 64 max jobs in a batch
111 MaxConcurrentCalls¹ integer 1 max concurrent jobs to process for a destination
112 MaxConcurrentPreps¹ integer 1 maximum number of simultaneous job preparations
113 MaxConsecutiveBadLines integer 5 max consecutive bad rows for OK page quality
114 MaxDials¹ integer 12 max phone calls to make to transmit a job
115 MaxProxyJobs¹ integer 64 max number of concurrent proxy jobs
116 MaxRecvPages integer unlimited max pages to permit in a receive
117 MaxSendPages¹ integer unlimited max pages to permit in a send
118 MaxSetupAttempts integer 2 max attempts to initialize a modem
119 MaxTraversal¹ integer 256 max traversal into queue for batching
120 MaxTries¹ integer 3 max attempts to transmit a job
121 MinAcceptedLineCount integer 10 min number of rows for OK page quality
122 MissedPageHandlingMethod string RTN missed page received handling method
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 program
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 program 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 - program executed after TSI receipt, can drop calls
170 Unblock¹ string - force faxq to unblock specified destination
171 Use2D¹ boolean Yes restrict/permit use of 2D-encoded fax data
172 UseJobTSI boolean No use job-specified TSI instead of LocalIdentifier
173 UseJobTagLine boolean Yes Allow use of job-specified Tagline instead of TagLineFormat
174 UUCPLockMode² octal 0600 protection mode for UUCP lock files
175 UUCPLockDir² string see below UUCP lockfile directory
176 UUCPLockTimeout² integer 30 time before removing stale UUCP lockfile
177 UUCPLockType² string see below UUCP lockfile type
178 VGettyArgs string - arguments passed to voice getty program
179 WedgedCmd¹ string bin/wedged program to run when modem is wedged
180 ModemAnswerCmd string ATA command for answering phone
181 ModemAnswerAgainCmd string <delay:50>ATA command for answer recovery
182 ModemAnswerDataBeginCmd string - command for start of answered data call
183 ModemAnswerDataCmd string ATA command for answering data call
184 ModemAnswerDialCmd string ATA command for answering dialed call
185 ModemAnswerFaxBeginCmd string - command for start of answered fax call
186 ModemAnswerFaxCmd string ATA command for answering fax call
187 ModemAnswerResponseTimeout integer 180000 answer command timeout (ms)
188 ModemAnswerVoiceBeginCmd string - command for start of answered voice call
189 ModemAnswerVoiceCmd string ATA command for answering voice call
190 ModemATCmdDelay integer 0 delay before sending modem an AT cmd (ms)
191 ModemBaudRateDelay integer 10 delay (ms) after setting baud rate
192 ModemCEDCmd string ATA command to signal CED and start V.21 HDLC transmit
193 ModemClassQueryCmd string AT+FCLASS=? command for querying modem services
194 ModemCNGCmd string ATD command to signal CNG and listen for V.21 HDLC
195 ModemCommaPauseTimeCmd string ATS8=2 command for setting time to pause for ``,'' in dialing string
196 ModemDialCmd string ATDT%s command for dialing (%s for number to dial)
197 ModemDialResponseTimeout integer 180000 dialing command timeout (ms)
198 ModemDoPhaseCDebug boolean No query modem responses during Phase C transmit
199 ModemDTRDropDelay integer 75 delay (ms) between DTR OFF and DTR ON
200 ModemEchoOffCmd string ATE0 command for disabling command echo
201 ModemFlowControl string XONXOFF DTE-DCE flow control scheme
202 ModemFrameFillOrder string LSB2MSB bit order for HDLC frames
203 ModemHardFlowCmd string - command for setting hardware flow control between DTE and DCE
204 ModemMinSpeed string 2400 minimum acceptable transmit speed
205 ModemMfrQueryCmd string - command for querying modem manufacturer
206 ModemModelQueryCmd string - command for querying modem model
207 ModemNoAutoAnswerCmd string ATS0=0 command for disabling auto-answer
208 ModemNoAutoAnswerCmdDelay integer 0 time, in ms, to pause after a disabling auto-answer
209 ModemNoDialtoneRetries integer 1 maximum number of attempts to get dialtone
210 ModemNoFlowCmd string - command for disabling hardware flow control between DTE and DCE
211 ModemOnHookCmd string ATH0 command for placing phone ``on hook''
212 ModemPageDoneTimeout integer 180000 page send/receive timeout (ms)
213 ModemPageStartTimeout integer 180000 page send/receive timeout (ms)
214 ModemRaiseATCommands boolean Yes raise AT commands in configuration to upper-case
215 ModemRate integer 19200 baud rate to use for DCE-DTE communication
216 ModemReadyCmds string - additional final commands when resetting modem
217 ModemRecvFillOrder string see below bit order for received facsimile data
218 ModemRecvSuccessCmd string - command to send after a successful reception
219 ModemResetCmds string - additional commands when resetting modem
220 ModemResetDelay integer 2600 delay (ms) after placing DTR ON
221 ModemResultCodesCmd string ATQ0 command for enabling result codes
222 ModemRevQueryCmd string see below command for querying modem firmware revision
223 ModemSecondAnswerCmd string - command to restart answer process
224 ModemSendBeginCmd string - command to send on establishing carrier
225 ModemSendFillOrder string LSB2MSB bit order for sending facsimile data
226 ModemSetOriginCmd string - command to set call origin information
227 ModemSetVolumeCmd string see below commands for setting modem speaker volume level
228 ModemSetupAACmd string - command for setting up adaptive answer
229 ModemSetupDCDCmd string - command for setting up DCD handling
230 ModemSetupDTRCmd string - command for setting up DTR handling
231 ModemSoftFlowCmd string - command for setting software flow control between DTE and DCE
232 ModemSoftResetCmd string ATZ command for doing a soft reset
233 ModemSoftResetCmdDelay integer 3000 time, in ms, to pause after a soft reset
234 ModemSoftRTFCC boolean Yes enable software-driven real-time fax compression conversion
235 ModemType string see below modem type
236 ModemVerboseResultsCmd string ATV1 command for enabling verbose result codes
237 ModemWaitForConnect boolean No force server to wait for ``CONNECT'' response on answer
238 ModemWaitTimeCmd string ATS7=60 command for setting time to wait for carrier when dialing
239 FaxT1Timer integer 35000 CCITT T.30 T1 timer (ms)
240 FaxT2Timer integer 7000 CCITT T.30 T2 timer (ms)
241 FaxT4Timer integer 3100 CCITT T.30 T4 timer (ms)
242 Class0Cmd string AT+FCLASS=0 Class 0: command to enter class 0
243 Class1Cmd string AT+FCLASS=1 Class 1: command to enter class 1
244 Class1Cmd string AT+FCLASS=1.0 Class 1.0: command to enter class 1
245 Class1AdaptRecvCmd string - Class 1/1.0: command for adaptive reception support
246 Class10AutoFallback boolean Yes Class 1.0: modem implements G3 fallback
247 Class1ColorJPEGSupport boolean No Class 1/1.0: to enable color JPEG fax support
248 Class1EnableV34Cmd string - Class 1/1.0: command to enable V.34-fax support
249 Class1ECMCheckFrameLength boolean No Class 1/1.0: require complete ECM frame lengths
250 Class1ECMSupport boolean Yes Class 1/1.0: enable T.30-A ECM support
251 Class1PersistentECM boolean Yes Class 1/1.0: to continue to correct while in ECM
252 Class1ECMFrameSize integer 256 Class 1/1.0: image frame size in ECM protocol
253 Class1ExtendedRes boolean - Class 1/1.0: enable extended resolution support
254 Class1HasRHConnectBug boolean No Class 1/1.0: modem can report CONNECT incorrectly
255 Class1HasRMHookIndication boolean Yes Class 1/1.0: modem reports ERROR correctly
256 Class1HFLOCmd string - Class 1/1.0: command to set hardware flow control
257 Class1FrameOverhead integer 4 Class 1/1.0: extra bytes in a received HDLC frame
258 Class1GreyJPEGSupport boolean No Class 1/1.0: to enable grey JPEG fax support
259 Class1HookSensitivity integer 0 Class 1/1.0: times to ignore on-hook detection
260 Class1JBIGSupport string see below Class 1/1.0: to enable monochrome JBIG fax support
261 Class1MRSupport boolean Yes Class 1/1.0: enable 2-D MR support
262 Class1MMRSupport boolean Yes Class 1/1.0: enable 2-D MMR support
263 Class1NFLOCmd string - Class 1/1.0: command to set no flow control
264 Class1PageLengthSupport integer 7 Class 1/1.0: coded value for modem page length support
265 Class1PageWidthSupport integer 7 Class 1/1.0: coded value for modem page width support
266 Class1RecvAbortOK integer 200 Class 1/1.0: max wait (ms) for ``OK'' after recv abort
267 Class1RecvIdentTimer integer 40000 Class 1/1.0: max wait (ms) for initial ident frame
268 Class1RestrictPoorDestinations¹ integer 0Class 1/1.0: restrict features for destinations with poor quality
269 Class1RestrictPoorSenders integer 0 Class 1/1.0: restrict features for senders with poor quality
270 Class1RMPersistence integer 2 Class 1/1.0: times to attempt high-speed carrier recv
271 Class1SFLOCmd string - Class 1/1.0: command to set software flow control
272 Class1PPMWaitCmd string AT+FTS=7 Class 1/1.0: command to stop and wait before PPM
273 Class1ResponseWaitCmd string - Class 1/1.0: command to wait before TCF response
274 Class1Resolutions integer 0x7F Class 1/1.0: bitmap of supported resolutions
275 Class1RMQueryCmd string AT+FRM=? Class 1/1.0: command to query modem data reception rates
276 Class1TCFWaitCmd string AT+FTS=7 Class 1/1.0: command to stop and wait before TCF
277 Class1TMQueryCmd string AT+FTM=? Class 1/1.0: command to query modem data transmission rates
278 Class1EOPWaitCmd string AT+FTS=9 Class 1/1.0: command to stop and wait before EOP
279 Class1ModemHasDLEBug boolean No Class 1/1.0: modem fails to double DLE in V.21
280 Class1MsgRecvHackCmd string "" Class 1/1.0: command to avoid +FCERROR before image data
281 Class1SSLFaxCert string etc/ssl.pem Class 1/1.0: PEM certificate file for SSL Fax
282 Class1SSLFaxClientTimeout integer 5000 Class 1/1.0: timeout waiting for client connection
283 Class1SSLFaxInfo string - Class 1/1.0: hostname and port number for SSL Fax
284 Class1SSLFaxProxy string - Class 1/1.0: hostname and port number for SSL Fax Proxy
285 Class1SSLFaxSupport boolean Yes Class 1/1.0: support for SSL Fax
286 Class1SSLFaxServerTimeout integer 2000 Class 1/1.0: timeout waiting for server connection
287 Class1TCFRecvHackCmd string "" Class 1/1.0: command to avoid +FCERROR before TCF
288 Class1TCFMaxNonZero integer 10 Class 1/1.0: max% of non-zero data in good TCF
289 Class1TCFMinRun integer 1000 Class 1/1.0: minimum zero run in good TCF
290 Class1TCFMinRunECMMod integer 2 Class 1/1.0: modify minimum zero run in ECM by this factor
291 Class1TCFRecvTimeout integer 4500 Class 1/1.0: max wait (ms) for TCF
292 Class1TMConnectDelay integer 0 Class 1/1.0: delay between +FTM CONNECT and data transmission
293 Class1SwitchingCmd string AT+FRS=7 Class 1/1.0: command to ensure silence after HDLC reception
294 Class1ValidateV21Frames boolean No Class 1/1.0: check FCS against received frames
295 Class2Cmd string AT+FCLASS=2 Class 2: command to enter class 2/2.0
296 Class2AbortCmd string AT+FK Class 2: command to abort active session
297 Class2APCmd string AT+FAP Class 2: enable support for sending and receiving SUB, SEP, and PWD frames
298 Class2APQueryCmd string AT+FAP=? Class 2: query capabilities for sending and receiving SUB, SEP, and PWD frames
299 Class2BORCmd string AT+FBOR=0 Class 2: command to setup bit order
300 Class2BUGCmd string AT+FBUG=1 Class 2: command to enable HDLC frame tracing
301 Class2CIGCmd string AT+FCIG Class 2: command to set polling identifier
302 Class2CRCmd string AT+FCR=1 Class 2: command to enable receive capability
303 Class2CQCmd string - Class 2: command to setup copy quality parameters
304 Class2CQQueryCmd string AT+FCQ=? Class 2: command to query modem copy quality capabilities
305 Class2DCCCmd string AT+FDCC Class 2: command to set modem capabilities
306 Class2DCCQueryCmd string AT+FDCC=? Class 2: command to query modem capabilities
307 Class2DisableV17Cmd string - Class 2: command to disable V.17 support
308 Class2DISCmd string AT+FDIS Class 2: command to set session parameters
309 Class2DDISCmd string - Class 2: command to set session parameters before dialing
310 Class2ECMType string ``2'' Class 2: ECM specification type to follow
311 Class2HexNSF boolean Yes Class 2: parse NSF strings as hex values
312 Class2HFLOCmd string - Class 2: command to set hardware flow control
313 Class2LIDCmd string AT+FLID Class 2: command to set local identifier string
314 Class2MINSPCmd string AT+FMINSP Class 2: command to set minimum transmit speed
315 Class2NFLOCmd string - Class 2: command to set no flow control
316 Class2PACmd string AT+FPA Class 2: set polling address string
317 Class2PHCTOCmd string AT+FPHCTO=30 Class 2: command to set Phase C timeout parameter
318 Class2PTSCmd string AT+FPTS Class 2: command to set received page status
319 Class2PWCmd string AT+FPW Class 2: set password string
320 Class2RecvDataTrigger string ``\21'' Class 2: character to send to trigger recv
321 Class2RELCmd string - Class 2: command to enable byte-aligned EOL codes
322 Class2SACmd string AT+FSA Class 2: set destination subaddress string
323 Class2SendRTC boolean No Class 2: append RTC to page data on transmit
324 Class2SFLOCmd string - Class 2: command to set software flow control
325 Class2SPLCmd string AT+FSPL Class 2: command to set polling request
326 Class2TBCCmd string AT+FTBC=0 Class 2: command to enable stream mode
327 Class2UseLineCount boolean No Class 2: use the line count from the firmware decoder
328 Class2UseHex boolean No Class 2: parse capabilities strings as hex values
329 Class2XmitWaitForXON boolean Yes Class 2: wait for XON before sending facsimile data
330 Class2Cmd string AT+FCLASS=2.0 Class 2.0: command to enter class 2/2.0
331 Class2AbortCmd string AT+FKS Class 2.0: command to abort active session
332 Class2APCmd string AT+FAP Class 2.0: enable support for sending and receiving SUB, SEP, and PWD frames
333 Class2APQueryCmd string AT+FAP=? Class 2.0: query capabilities for sending and receiving SUB, SEP, and PWD frames
334 Class2BORCmd string AT+FBO=0 Class 2.0: command to setup bit order
335 Class2BUGCmd string AT+FBU=1 Class 2.0: command to enable HDLC frame tracing
336 Class2CIGCmd string AT+FPI Class 2.0: command to set polling identifier
337 Class2CRCmd string AT+FCR=1 Class 2.0: command to enable receive capability
338 Class2CQCmd string - Class 2.0: command to setup copy quality parameters
339 Class2CQQueryCmd string AT+FCQ=? Class 2.0: command to query modem copy quality capabilities
340 Class2DCCCmd string AT+FCC Class 2.0: command to set modem capabilities
341 Class2DCCQueryCmd string AT+FCC=? Class 2.0: command to query modem capabilities
342 Class2DisableV17Cmd string - Class 2.0: command to disable V.17 support
343 Class2DisableV34Cmd string - Class 2.0: command to disable V.34 support
344 Class2DISCmd string AT+FIS Class 2.0: command to set session parameters
345 Class2ECMType string ``2.0'' Class 2.0: ECM specification type to follow
346 Class2HexNSF boolean Yes Class 2.0: parse NSF strings as hex values
347 Class2HFLOCmd string AT+FLO=2 Class 2.0: command to set hardware flow control
348 Class2JBIGSupport string see below Class 2.0: to enable monochrome JBIG fax support
349 Class2JPEGSupport boolean No Class 2.0: use modem JPEG support
350 Class2LIDCmd string AT+FLI Class 2.0: command to set local identifier string
351 Class2MINSPCmd string AT+FMS Class 2.0: command to set minimum transmit speed
352 Class2NFLOCmd string AT+FLO=0 Class 2.0: command to set no flow control
353 Class2NRCmd string AT+FNR=1,1,1,1 Class 2.0: command to set negotiation message reporting
354 Class2PACmd string AT+FPA Class 2.0: set polling address string
355 Class2PHCTOCmd string AT+FCT=30 Class 2.0: command to set Phase C timeout parameter
356 Class2PIECmd string AT+FIE=0 Class 2.0: command to set procedure interrupt handling
357 Class2PWCmd string AT+FPW Class 2.0: set password string
358 Class2PTSCmd string AT+FPS Class 2.0: command to set received page status
359 Class2PTSQueryCmd string AT+FPS? Class 2.0: command to query received page status
360 Class2RecvDataTrigger string ``\22'' Class 2.0: character to send to trigger recv
361 Class2RELCmd string - Class 2.0: command to enable byte-aligned EOL codes
362 Class2RTFCC boolean No Class 2.0: enable real-time fax compression conversion
363 Class2SACmd string AT+FSA Class 2.0: set destination subaddress string
364 Class2SendRTC boolean No Class 2.0: append RTC to page data on transmit
365 Class2SFLOCmd string AT+FLO=1 Class 2.0: command to set software flow control
366 Class2SPLCmd string AT+FSP Class 2.0: command to set polling request
367 Class2TBCCmd string AT+FPP=0 Class 2.0: command to enable stream mode
368 Class2UseLineCount boolean No Class 2.0: use the line count from the firmware decoder
369 Class2UseHex boolean No Class 2.0: parse capabilities strings as hex values
370 PagerSetupCmds string - commands for setting up modem for a pager call
371 PagerMaxMsgLength integer 128 max length of a text message
372 IXOService string ``PG'' IXO: service identification string
373 IXODeviceID string ``1'' IXO: device identification string
374 IXOMaxUnknown integer 3 IXO and UCP: max unknown responses before abort
375 IXOIDProbe integer 2 IXO: time between sending \r during ID sequence (secs)
376 IXOIDTimeout integer 20 IXO: max time to wait for ID= response (secs)
377 IXOLoginRetries integer 3 IXO: max attempts to login
378 IXOLoginTimeout integer 15 IXO: max time to complete login (secs)
379 IXOGATimeout integer 30 IXO: max time to wait for Go-Ahead response (secs)
380 IXOXmitRetries integer 3 IXO and UCP: max retries to send text msg block
381 IXOXmitTimeout integer 15 IXO and UCP: max time to transmit text msg block
382 IXOAckTimeout integer 30 IXO: max time to wait for msg block ack (secs)
383
385 These configuration parameters affect the general operation of the fax
386 server.
387
388 AdaptiveAnswer
389 Control whether or not an adaptive answering strategy is used
390 whereby an incoming call is answered in multiple ways according
391 to the list specified in the AnswerRotary parameter. For exam‐
392 ple, if adaptive answering is enabled and AnswerRotary specifies
393 ``fax data'', then an incoming call will first be answered as
394 fax using ModemAnswerFaxCmd and then, if that fails, as data us‐
395 ing ModemAnswerDataCmd. If the adaptive answer strategy is not
396 enabled, then calls are answered using the appropriate ModemAn‐
397 swer*Cmd parameter (normally ModemAnswerCmd for unattended oper‐
398 ation). Note that the adaptive answer strategy depends on many
399 factors that limit its usefulness. When calls are answered
400 first as fax, it typically only works with a Class 1 modem be‐
401 cause it is important that the sequence of operations related to
402 answering as fax be completed in a short enough time that a sub‐
403 sequent answer for data be done before the caller times out and
404 hangs up the telephone (for this reason Class1RecvIdentTimer
405 should be set to a value that is shorter than FaxT1Timer.)
406 Also, note that it is sometimes necessary to arrange that the
407 phone be placed on-hook between successive answers; this can
408 typically be done by inserting the appropriate command at the
409 start of the second and subsequent ModemAnswer*Cmds.
410
411 AdminGroup
412 Tells PAM what user group is allowed to administer the fax
413 server. Only useful if the server is compiled with PAM enabled.
414
415 AllowIgnoreModemBusy¹
416 Whether or not to honor job requests to ignore modem busy status
417 when allocating jobs to a modem. The intended use for this fea‐
418 ture is to allow configurations whereby a DynamicConfig program
419 can send a fax to an incoming caller (contrary to T.30 protocol
420 for sending or polling).
421
422 AnswerRotary
423 The sequence of answering techniques the server should ``rotate
424 through'' when answer incoming calls. Answering techniques are:
425 Name Description
426 fax answer a fax call
427 data answer a data call
428 voice answer a voice call
429 extern use the vgetty application to answer a call
430 any answer a call of any/unknown type
431 When a call is not answered successfully, the server advances
432 the rotary to the next specified answering technique. If Adap‐
433 tiveAnswer is enabled, the server will try all the answering
434 techniques for each incoming call. Otherwise, the rotary is ad‐
435 vanced between unsuccessful phone calls. For example, if Adap‐
436 tiveAnswer is disabled and AnswerRotary is ``fax data'', then
437 the calls will initially be answered as fax until the first call
438 is received that does not appear to be from a fax machine; after
439 that calls will be answered as if they were from a data modem
440 until the next unsuccessful call; after which they will one
441 again be answered as fax. Only the first three techniques
442 listed are used; any additional ones are (silently) ignored.
443 See also AnswerBias.
444
445 AnswerBias
446 The index into the AnswerRotary list that the server should ro‐
447 tate the list to after each successful incoming phone call.
448 List indices are numbered starting at zero. For example, if An‐
449 swerRotary is ``fax data'' and AnswerBias is 1, then after each
450 successful inbound call, the next call will be answered as data.
451
452 AreaCode²
453 The local area code in which the facsimile modem resides. This
454 value is passed to the dial string rules that are used, for ex‐
455 ample, to formulate canonical phone numbers for dialing (see Di‐
456 alStringRules below.)
457
458 AuditHook¹
459 Specifies a program command and an interest specification indi‐
460 cating which events as described in faxwatch(8C) should trigger
461 the execution of the program. For example, this configuration:
462
463 AuditHook: "bin/hook: J*S*M*R*"
464
465 would cause bin/hook to be executed upon every event. The argu‐
466 ments passed to the hook program are respectively <class>,
467 <mask>, <id>, and optionally [info] where...
468
469 <class> = JOB | SEND | MODEM | RECV
470 <mask> = the specific event
471 <id> = id of the job/modem with which the event is associated
472 [info] = additional information
473
474
475 BadPageHandlingMethod
476 (Class 1/1.0 only) Specifies how to react to a bad page received
477 from the remote sender: one of ``RTN'', ``DCN'', or ``RTN-
478 SAVE''.
479
480 If a page is received in non-ECM mode with unacceptable quality
481 according to PercentGoodLines or MaxConseutiveBadLines then it
482 can be somewhat difficult to inform the sender of the problem.
483 Historically, HylaFAX has assumed that signalling RTN to the
484 sender will accomplish this. However, some senders are inca‐
485 pable of retransmitting pages, and to reduce burden they treat
486 an RTN signal as a receipt confirmation and proceed to the next
487 page without notifying the sending user of the potential problem
488 in readability on the receive-end. (The assumption there being
489 that the receiving user will notify the sending user if there
490 actually is a readability problem.)
491
492 A setting of ``RTN'' is the historic behavior and assumes that
493 an RTN signal will be enough to get the sender to retransmit or
494 be otherwise informed of a potential readability problem on the
495 receive-end. The previously-received page data is marked to be
496 overwritten by the next page data received from the sender.
497
498 A setting of ``DCN'' tells HylaFAX to transmit a DCN signal in
499 response to the post-page message and should trigger a call
500 abortion by the sender. This should clearly indicate a problem
501 in page readability to the sender, although the receipt of any
502 following pages in a later call cannot be guaranteed.
503
504 A setting of ``RTN-SAVE'' more closely approximates the behavior
505 of other fax receivers (especially fax machines). It causes Hy‐
506 laFAX to send the RTN signal but it saves the previously re‐
507 ceived page data and places the next transmitted page data in
508 another page. This is the default setting. However, this could
509 result in multiple copies of the same page image being saved in
510 the same file - if the sender does indeed retransmit the unac‐
511 ceptable pages during the same call.
512
513 BatchLogs¹
514 When sending or receiving multiple documents (denoted by EOM),
515 this value determines if the session logs span the entire batch
516 or, if set to no, only contain a single document.
517
518 CallIDPattern
519 A string that identifies the caller's identity in any call iden‐
520 tification messages provided by the modem (such as Caller*ID or
521 DNIS/DID). The specified string is compared against any unrec‐
522 ognized status messages received from the modem before ModemAn‐
523 swerCmd is sent to the modem. If there is a match, then the re‐
524 mainder of the message is returned as CallIDn where n corre‐
525 sponds to the n'th instance that this CallIDPattern is from the
526 top in the modem configuration file. For example, for the ZyXEL
527 U-1496 this parameter would be set to
528 CallIDPattern: ``CALLER NAME: '' (note the trailing space).
529 If more than one message matches between instances of "RING"
530 messages, then the message remainders are concatenated.
531
532 The special CallID value of "SHIELDED_DTMF" is used in conjunc‐
533 tion with ModemRingResponse and CallIDAnswerLength. After exe‐
534 cuting ModemRingResponse, HylaFAX will expect DTMF data (usually
535 DLE-shielded) for CallIDn until CallIDAnswerLength is reached.
536 Note that if the modem is in voice mode to hear these DTMF dig‐
537 its, then it must be returned to fax mode in the ModemAnswerCmd.
538 In order to prevent this feature from losing incoming fax calls,
539 if fax sender CNG is detected while waiting for DTMF or if ten
540 seconds elapse without sufficient DTMF then the remaining ex‐
541 pected digits will be populated by whitespace, triggering fax
542 answering.
543
544 For example, the following settings will cause HylaFAX to enter
545 voice mode and go off-hook when a RING is detected. It will
546 then expect four DTMF digits (presumably for routing), and then
547 it will pause for 100 ms before returning to fax mode and an‐
548 swering the call.
549
550 ModemRingResponse: AT+FCLASS=8;H1
551 CallIDPattern: SHIELDED_DTMF
552 CallIDAnswerLength: 4
553 ModemAnswerCmd: <delay:100>AT+FCLASS=1;A
554
555 For modems that do not support AT+FCLASS=8 (such as some USR
556 modems) this may be an appropriate equivalent:
557
558 ModemRingResponse: "AT#CLS=8\nAT#VLS=4\nATA"
559 CallIDPattern: SHIELDED_DTMF
560 CallIDAnswerLength: 4
561 ModemAnswerCmd: "<delay:100>AT+FCLASS=1\nATA"
562
563 Multiple entries of CallIDPattern are used together in one modem
564 configuration file in order to capture multiple CallID re‐
565 sponses. For example, the following settings would capture
566 "NDID" responses from the modem as CallID1, "NMBR" responses
567 from the modem as CallID2, "NAME" responses as CallID3, and it
568 would trigger ModemAnswerCmd whenever CallID1 or CallID2 were
569 longer than 7 or 10 characters, respectively.
570
571 CallIDPattern: "NDID="
572 CallIDAnswerLength: 7
573 CallIDPattern: "NMBR="
574 CallIDAnswerLength: 10
575 CallIDPattern: "NAME="
576
577 Note that this example is only given as an example, and probably
578 would cause unexpected results. Because pattern-matching ends
579 when ModemAnswerCmd is sent to the modem, if "NDID", "NMBR", and
580 "NAME" responses came from the modem in that order, and the
581 "NDID" response was at least 7 characters long, then ModemAn‐
582 swerCmd would be sent to the modem immediately following the
583 "NDID" response, and the "NMBR" and "NAME" responses would be
584 ignored. Generally only one CallIDAnswerLength item should be
585 in a modem configuration file.
586
587 Call identification data is usually only sent once by the telco
588 or PBX, and the timing of its arrival varies upon the telco or
589 PBX and the type of line. If HylaFAX is configured to answer
590 via RingsBeforeAnswer prior to the arrival of the data, then all
591 CallID values will be null. For example, on US analog lines,
592 caller-ID data is usually sent between RINGs 1 and 2. In this
593 situation, RingsBeforeAnswer should be set to ``2'' or greater.
594
595 CallIDAnswerLength
596 An integer indicating the minimum number of characters in a Cal‐
597 lID matching the previous CallIDPattern to be received when
598 ModemAnswerCmd is sent to the modem irrespective of any RingsBe‐
599 foreAnswer value greater than zero. This allows the answering
600 of calls which deliver CID/DID data but not RINGs. For example,
601 CallIDAnswerLength: ``7''
602 would cause the call to be answered when CallID2 reached a
603 length of seven digits. A value of zero for CallIDAnswerLength
604 disables this feature.
605
606 CallIDDisplay
607 Whether or not to display the CallIDPattern match in the modem
608 status line.
609
610 CallIDLabel
611 The label to use in the presentation of any CallIDPattern match.
612 (For example, when CallIDDisplay or CallIDRecord indicate to
613 diplay or record the match.)
614
615 CallIDRecord
616 Whether or not to record the CallIDPattern match in the received
617 image file.
618
619 CallIDType
620 Identifies the type of indicator in the associated CallIDPattern
621 match. The special type ``calling-number'' enables the faxgetty
622 process to utilize an associated entry in the info database for
623 items such as senderDataSent, senderDataMissed, senderConfuses‐
624 RTN, senderConfusesPIN, senderFumblesECM, senderHasV17Trouble,
625 and senderSkipsV29. See hylafax-info(5F).
626
627 ClocalAsRoot
628 Control whether operations that set the CLOCAL bit on the modem
629 device special file are done with the effective user-ID set to
630 the super-user or the ``fax'' user. By default such operations
631 are done as the fax user, except under IRIX where they are done
632 as the super-user (because IRIX disallows manipulation of CLOCAL
633 by anyone but the super-user).
634
635 ContCoverCmd¹
636 The program to invoke to generate a continuation cover page; see
637 ContCoverPage and mkcover(8C).
638
639 ContCoverPage¹
640 A template file to use in creating continuation cover pages. If
641 this parameter is non-null, then the server will pass the file‐
642 name to the command specified by ContCoverCmd to generate cover
643 pages for outbound jobs that are continued after protocol er‐
644 rors. These cover pages identify the receiver and indicate that
645 the document is a continued transmission. If this parameter is
646 not specified or is null, then the server will not generate con‐
647 tinuation cover pages. The specified pathname must be relative
648 to the top of the fax server's spooling area.
649
650 CountryCode²
651 The local country code in which the facsimile modem resides. As
652 for AreaCode, this value is passed to the dial string rules for
653 use in formulating canonical phone numbers for dialing (among
654 other things.)
655
656 DeviceMode
657 The file protection mode that the server should set for the mo‐
658 dem device file. Note that this value is given in octal. The
659 default value of 0600 implies that only the facsimile user (usu‐
660 ally uucp) can access the modem. See also chmod(2).
661
662 DialStringRules²
663 The pathname of the file that holds the rules for processing
664 user-specified dial strings; c.f. dialrules(5F). The specified
665 pathname must be relative to the top of the fax server's spool‐
666 ing area; e.g. etc/dialrules.
667
668 DistinctiveRings
669 Modern distinctive ring support on most modems indicates the
670 ring cadence rather than the older style of ``RING1'',
671 ``RING2'', etc. To indicate the ring cadence, DRingOn and
672 DRingOff values are presented by the modem to the faxgetty
673 process. The modem indicates the entire cadence between
674 ``RING'' indications Like this:
675
676 RING
677 DROF=40
678 DRON=8
679 DROF=4
680 DRON=8
681 RING
682
683 The corresponding DistinctiveRings parameter for this ring ca‐
684 dence would be:
685
686 DistinctiveRings: F-8-4-8
687
688 where ``F'' tells the faxgetty process that the ring cadence is
689 for a facsimile (``V'' for voice and ``D'' for data), and the
690 other values describe the ring cadence with leading and ending
691 DRingOff values ignored. Multiple ring cadences are indicated
692 by delimiting them with commas in this fashion:
693
694 DistinctiveRings: V-20,F-8-4-8,D-4-2-4-8
695
696
697 DRingOff
698 A string that identifies the ``off'' value in any distinctive
699 ring cadence, for example ``DROF=''. See also DRingOn and Dis‐
700 tinctiveRings.
701
702 DRingOn
703 A string that identifies the ``on'' value in any distinctive
704 ring cadence, for example ``DRON=''. See also DRingOff and Dis‐
705 tinctiveRings.
706
707 DynamicConfig
708 The pathname of the optional program, e.g. ``etc/localid'', that
709 makes dynamic configuration changes, i.e., to LocalIdentifier,
710 based on device ID and call identification. The program is
711 passed those values as the parameters ($1 = device id, $2 = Cal‐
712 lID1, $3 = CallID2, $4 = CallID3, ...), when answering an incom‐
713 ing call. The program can then perform local processing as de‐
714 sired to send on standard output the configuration items to
715 change in a ``parameter:value'' format, i.e. ``LocalIdentifier:
716 +1.800.555.1212''. If there are multiple parameters to be
717 changed, then each item must be on its own line. This is com‐
718 monly used to dynamically alter the local identification of sys‐
719 tems which use DID/DNIS, but it can also be used to allow dif‐
720 ferent modem configurations for different senders. This program
721 can also set the RejectCall options to cause the current call to
722 be rejected instead of answered. Note that this file must be
723 marked as executable by the faxgetty process.
724
725 EGettyArgs
726 A string that indicates whether or not the server should use an
727 an external getty application (egetty) to perhaps deduce and
728 possibly handle an incoming call. If the string value is not
729 null, then it is interpreted as a set of arguments to pass to
730 egetty. Before supplying the arguments, the string is first
731 scanned for ``%''-escape sequences: any appearance of ``%l'' is
732 replaced with the tty name and any appearance of ``%s'' is re‐
733 placed with the serial port speed (in decimal). Any appearance
734 of escaped numbers 1 through 9 (``%1'' through ``%9'') are re‐
735 placed by the match to the corresponding CallIDPattern, if
736 present. The ``%'' character can be specified with ``%%''. If
737 the EGettyArgs parameter is not specified in the configuration
738 file or if the string value is null, then ``extern'' connections
739 will be rejected. Note that in addition to the specified com‐
740 mand line arguments, egetty is invoked with its standard input,
741 output, and error descriptors directed to the controlling tty
742 device.
743
744 When egetty completes, its exit status is evaluated and is in‐
745 terpreted to indicate what, if anything, should be done with the
746 call. An exit status of ``0'' indicates an unknown call type
747 and that the call should be handled as if egetty had not been
748 used. An exit status of ``1'' indicates a data connection and
749 that the getty(8C) program should be used to handle the call if
750 configured (see GettyArgs), otherwise it will assume that the
751 call has been answered and that a data connection is established
752 and that it should proceed by issuing ModemAnswerDataBeginCmd
753 (if configured) to the modem. An exit status of ``2'' indicates
754 a fax connection is established and that it should proceed by
755 issuing ModemAnswerFaxBeginCmd (if configured) to the modem. An
756 exit status of ``3'' indicates a voice call and that the vgetty
757 program should be used to handle the call if configured (see
758 VGettyArgs), otherwise it will assume that the call has been an‐
759 swered and that a voice connection is established and that it
760 should proceed by issuing ModemAnswerVoiceBeginCmd (if config‐
761 ured) to the modem. An exit status of ``4'' is considered to be
762 an error condition. The session will be terminated. An exit
763 status of ``5'' is used to indicate that egetty handled the call
764 entirely, is not an error condition, and that the session is to
765 be considered terminated. Exit status values of ``11'', ``12'',
766 and ``13'' correspond to values ``1'', ``2'', and ``3'' respec‐
767 tively except that values ``11'', ``12'', and ``13'' indicate
768 that the call has not been answered yet with a data, fax, or
769 voice connection. So if GettyArgs is not configured then Mode‐
770 mAnswerDataCmd is first issued to the modem for an exit status
771 of ``11'', ModemAnswerFaxCmd is first issued to the modem for an
772 exit status of ``12'', and if VGettyArgs is not configured then
773 ModemAnswerVoiceCmd is first issued to the modem for an exit
774 status of ``13''.
775
776 FAXNumber
777 The phone number associated with the facsimile modem. This
778 string is used to generate the Transmitter Subscriber Identifi‐
779 cation (TSI) and Caller Subscriber Identification (CSI) informa‐
780 tion passed to remote machines—unless the LocalIdentifier param‐
781 eter is explicitly set. The FAXNumber is also used to name the
782 session log file where information for incoming phone calls is
783 recorded; see hylafax-log(5F). If this phone number is not a
784 fully qualified number the values of AreaCode and CountryCode
785 are used to generate the transmitted CSI and TSI.
786
787 Include²
788 Include the specified config file as if it were part of this
789 config file.
790
791 InternationalPrefix²
792 The string to use to place an international phone call. In the
793 United States, this is ``011''. This string is passed to the
794 dial string rules.
795
796 JobControlCmd¹
797 The command to invoke to which provides Job Control information
798 for a job. See jobcontrol(8C).
799
800 JobReqBusy
801 The delay in seconds to wait before retrying a job whose dialing
802 attempt failed with a ``BUSY'' status result.
803
804 JobReqDataConn
805 The delay in seconds to wait before retrying a facsimile job
806 whose dialing attempt failed because a data modem answered the
807 phone.
808
809 JobReqNoAnswer
810 The delay in seconds to wait before retrying a job whose dialing
811 attempt failed with a ``NO ANSWER'' status result.
812
813 JobReqNoCarrier
814 The delay in seconds to wait before retrying a job whose dialing
815 attempt failed with a ``NO CARRIER'' status result.
816
817 JobReqNoFCon
818 The delay in seconds to wait before retrying a facsimile job
819 whose dialing attempt failed because the initial facsimile pro‐
820 tocol handshake failed (i.e. no ``+FCON:'' result was received
821 from a Class 2/2.0 modem).
822
823 JobReqOther²
824 The delay in seconds to wait before retrying a job that failed
825 for a reason not already covered by one of the JobReq* parame‐
826 ters.
827
828 JobReqProto
829 The delay in seconds to wait before retrying a facsimile job
830 that failed because of a fax protocol error.
831
832 JobRetryBusy
833 The number of times to redial a phone number after receiving a
834 ``BUSY'' result code when the number has not been successfully
835 dialed before.
836
837 JobRetryDataConn
838 The number of times to redial a phone number after the dialing
839 attempt failed because a data modem answered the phone when the
840 number has not been successfully dialed before.
841
842 JobRetryNoAnswer
843 The number of times to redial a phone number after the dialing
844 attempt failed because of NO ANSWER when the number has not been
845 successfully dialed before.
846
847 JobRetryNoCarrier
848 The number of times to redial a phone number after the dialing
849 attempt failed because of NO CARRIER when the number has not
850 been successfully dialed before. In normal operation the fax
851 server will treat this result code to mean that a facsimile mo‐
852 dem/machine did not answer the phone and reject the transmit
853 job. This is done to avoid repeatedly dialing wrong phone num‐
854 bers and depends on the modem distinguishing between no carrier
855 and no answer. However, some modems are not capable of reliably
856 distinguishing between no carrier and no answer, or when in‐
857 structed to do so do not identify a busy signal correctly. For
858 these modems one may find it necessary to increase the value of
859 this parameter to compensate. It is strongly recommended, how‐
860 ever, that this value not be set to a large number.
861
862 JobRetryOther
863 The number of times to redial a phone number after the dialing
864 attempt failed for a reason not already covered by one of the
865 other JobRetry* parameters when the number has not been success‐
866 fully dialed before.
867
868 GettyArgs
869 A string that indicates whether or not the server should invoke
870 the getty(8C) program in response to an incoming call from a
871 data modem. If the string value is not null, then it is inter‐
872 preted as a set of arguments to pass to the getty program. Be‐
873 fore supplying the arguments, the string is first scanned for
874 ``%''-escape sequences: any appearance of ``%l'' is replaced
875 with the tty name and any appearance of ``%s'' is replaced with
876 the serial port speed (in decimal). Any appearance of escaped
877 numbers 1 through 9 (``%1'' through ``%9'') are replaced by the
878 match to the corresponding CallIDPattern, if present. The ``%''
879 character can be specified with ``%%''. If the GettyArgs param‐
880 eter is not specified in the configuration file or if the string
881 value is null, then data connections will be rejected. Note
882 that in addition to the specified command line arguments, the
883 getty program is invoked with its standard input, output, and
884 error descriptors directed to the controlling tty device.
885
886 LocalIdentifier
887 The local station identification string to use when transmitting
888 TSI and CSI strings (see FAXNumber above). NB: while this
889 string may contain any printable ASCII characters; beware that
890 CCITT T.30 specifies a restricted character set and some fax
891 modems and machines may reject or not display non-conforming
892 strings. If the local identifier is not specified, a canonical
893 form of the FAXNumber is used instead.
894
895 LockDataCalls
896 Hold the UUCP lockfile during the time an inbound data call is
897 processed by the external getty program. If this is disabled
898 then the lockfile will be removed just before the getty program
899 is invoked. Note however that doing this introduces a race con‐
900 dition whereby an outbound program may sneak in and take control
901 of the modem after the inbound call has been accepted, but be‐
902 fore the getty program has started up and installed it's own
903 lockfile.
904
905 LockVoiceCalls
906 Hold the UUCP lockfile during the time an inbound data call is
907 processed by the external voice getty program. If this is dis‐
908 abled then the lockfile will be removed just before the voice
909 getty program is invoked. Note however that doing this intro‐
910 duces a race condition whereby an outbound program may sneak in
911 and take control of the modem after the inbound call has been
912 accepted, but before the voice getty program has started up and
913 installed it's own lockfile.
914
915 LogFacility²
916 The symbolic name for the syslog(3) facility to use when logging
917 error messages and informational/debugging messages requested
918 through the ServerTracing parameter. The list of facility names
919 is standardized; it can be found in the system include file
920 <syslog.h>; comparisons are case-insensitive.
921
922 LogCalls
923 Log all incoming calls into xferfaxlog as CALL records. This
924 allows a quick check of all incoming calls, regardless of fax
925 completion or not in a unified manner with other fax logs.
926
927 LogFileMode
928 The file protection mode that should be used when creating files
929 to hold session logs. Note that this value is given in octal.
930 The default value of 0600 implies that the log files are not
931 generally accessible, which is important if sensitive informa‐
932 tion such as calling card access codes are logged. If log files
933 are to be publicly accessible, this value may be set, for exam‐
934 ple, to 0644. See also chmod(2).
935
936 LogRecv
937 Log all recieved faxes into xferfaxlog as RECV records.
938
939 LogSend
940 Log all sent faxes into xferfaxlog as SEND records.
941
942 LongDistancePrefix²
943 The string to use to place a long distance phone call. In the
944 United States, this is ``1''.
945
946 MaxConcurrentCalls¹
947 The default value to use for the maximum number of jobs for the
948 same destination that are processed concurrently. Thus this pa‐
949 rameter defines the maximum number of concurrent phone calls to
950 the same destination. Unless all of your fax destinations have
951 multiple fax lines using the same fax number per destination
952 then MaxConcurrentCalls is probably best left as the default of
953 1 and exceptions should be accommodated by the JobControl mecha‐
954 nism. However, for high-throughput applications the special
955 value of ``0'' may be used; this configuration instructs the
956 server to permit limitless concurrent calls to the same destina‐
957 tion provided that all existing calls to that destination have
958 connected. In this configuration if a busy signal is encoun‐
959 tered for a concurrent call then the various ``dials'' counters
960 are not incremented, and further concurrent calls are temporar‐
961 ily stalled.
962
963 MaxConcurrentPreps¹
964 The maximum number of jobs preparations that may be run simulta‐
965 neously. This is designed to prevent the scheduler from initi‐
966 ating so many job preparations that the system resources become
967 constrained in the operations.
968
969 MaxBatchJobs¹
970 The maximum number of jobs to batch together in a single call.
971
972 MaxConsecutiveBadLines
973 The maximum number of consecutive erroneous rows of image data
974 that the server will receive before it deems a page to have un‐
975 acceptable copy quality. Setting this parameter to zero causes
976 the server to not check the quality of received facsimile. Fac‐
977 simile received with error-correction do not have copy quality
978 checking performed. See also PercentGoodLines.
979
980 MaxDials¹
981 The default value for the maximum number of times the server
982 will place a call for an outbound job. This value may be over‐
983 ridden by rules in the JobControl mechanism. This feature is
984 completely distinct from the identically-named feature in the
985 client-server communication, and jobs triggering these limits
986 will be handled differently for each. See also MaxTries.
987
988 MaxProxyJobs¹
989 The maximum number of jobs which can be concurrently delivered
990 to a proxy for transmission. This limit is to prevent proxy use
991 from overwhelming available system processes.
992
993 MaxRecvPages
994 The maximum number of pages the server will accept in a received
995 facsimile before it aborts the session.
996
997 MaxSendPages¹
998 The default value for the maximum number of pages the server
999 will permit in a transmitted facsimile. Outbound jobs that ex‐
1000 ceed this limit are rejected. This value may be overridden by
1001 rules in the JobControl mechanism.
1002
1003 MaxSetupAttempts
1004 The maximum number of times a HylaFAX server program will at‐
1005 tempt to initialize a modem before considering it ``wedged''.
1006
1007 MaxTraversal¹
1008 The maximum depth into the job queues that the scheduler will
1009 traverse in attempts to batch jobs together in a single call.
1010 This is intended to prevent the scheduler from wasting a lot of
1011 CPU in batching attempts when the job queues get very long
1012 (where batching is unlikely to be useful anyway).
1013
1014 MaxTries¹
1015 The default value for the maximum number of times the server
1016 will attempt to communicate with a remote site. Note that for a
1017 call to be counted against this limit, carrier must be estab‐
1018 lished; this is in contrast to the value of MaxDials which lim‐
1019 its the number of calls that will be placed on behalf of a job.
1020 This value may be overridden by rules in the JobControl mecha‐
1021 nism. This feature is completely distinct from the identically-
1022 named feature in the client-server communication, and jobs trig‐
1023 gering these limits will be handled differently for each. See
1024 also MaxDials.
1025
1026 MinAcceptedLineCount
1027 The minimum number of received scanlines allowed on an ``OK''
1028 page. The use of this setting prevents confirmation from being
1029 sent for very short pages.
1030
1031 MissedPageHandlingMethod
1032 (Class 1/1.0 only) Specifies how to react to a missed page re‐
1033 ceived from the remote sender: one of ``RTN'', ``PIN'', ``DCN'',
1034 or ``CFR''.
1035
1036 If a page is missed (where the modem does not train on the Phase
1037 C carrier) in non-ECM mode then, like BadPageHandlingMethod, it
1038 can be somewhat difficult to inform the sender of the problem.
1039
1040 A setting of ``RTN'' is the proper behavior that fax protocol
1041 employs to request that the sender retransmit the page after re‐
1042 training. Unfortunately, however, some senders will perceive
1043 this as a receipt confirmation and not retransmit the page. If
1044 senderConfusesRTN is set to ``yes'' in the associated hylafax-
1045 info(5F) file for this sender, then this method will not be
1046 used.
1047
1048 A setting of ``PIN'' is the proper behavior that fax protocol
1049 employs to request that the sender retransmit the page after a
1050 procedural interrupt. However, procedural interrupts are rarely
1051 used and may not be widely supported by other systems. If
1052 senderConfusesPIN is set to ``yes'' in the associated hylafax-
1053 info(5F) file for this sender, then this method will not be
1054 used.
1055
1056 A setting of ``DCN'' should trigger a call abortion by the
1057 sender. This should clearly indicate a problem to the sender,
1058 although a retransmission attempt in a later call cannot be
1059 guaranteed.
1060
1061 A setting of ``CFR'' causes an out-of-spec behavior where the
1062 CFR signal is used in response to the post-page message. While
1063 other HylaFAX senders should handle this signal to lead to a re‐
1064 transmision of the page without retraining, most senders will
1065 disconnect after receiving this signal as it is not a permitted
1066 response in Phase D, and the sender response will be undefined.
1067 This method will only be used if it is explicitly configured for
1068 use.
1069
1070 Historically, HylaFAX has employed both ``RTN'' and ``DCN'' be‐
1071 haviors by default with complaints using either. The ``PIN''
1072 and ``CFR'' behaviors were developed in order to evaluate if
1073 other systems besides HylaFAX would tolerate them.
1074
1075 MissedPageHandlingMethod is designed to allow the administrator
1076 the opportunity to vary between these options through the Dynam‐
1077 icConfig feature to acheive a more nuanced approach.
1078
1079 ModemGroup¹
1080 Define a logical name for a set of modem devices. This parame‐
1081 ter can be used to define a name that clients can use to refer
1082 to a collection of modems. The syntax is ``<name>:<defini‐
1083 tion>'' where <name> is the name for the group and <definition>
1084 is of the syntax ``[<limit>:]<regex>'' where <limit> is an op‐
1085 tional formatted expression of the limits for this ModemGroup
1086 and <regex> is a regular expression that faxq(8C) matches
1087 against known modems. Presently <limit> only refers to a number
1088 that is the minimum number of modems in the group that must be
1089 left to stay idle (for receiving) after assigning an active job
1090 to the ModemGroup. The default for <limit> is 0. Thus for ex‐
1091 ample, the default modem to use for a job, any, is defined as
1092 ``any:0:.*''. This parameter may be specified multiple times to
1093 define multiple modem classes. Modem classes may overlap. The
1094 actual set of modems in a modem class that are considered for
1095 use may vary based on which modems are believed to be ready for
1096 use.
1097
1098 ModemPriority
1099 The scheduling priority to use for a modem. Priority values are
1100 in the range 0 to 255 with lesser values signifying higher (more
1101 desirable) priority. The HylaFAX scheduler process assigns the
1102 highest priority modem that is ready for use when scheduling an
1103 outbound job.
1104
1105 If multiple available modems in a job's selected ModemGroup have
1106 the same ModemPriority value, then the HylaFAX scheduler assigns
1107 jobs to them in a round-robin fashion.
1108
1109 NoAnswerVoice
1110 Whether or not to disable the answering of calls indicated as
1111 voice (e.g. by DistinctiveRings ).
1112
1113 NoCarrierRetrys
1114 This is mapped onto JobRetryNoCarrier
1115
1116 ModemReadyState
1117 Define the state transmitted to the HylaFAX scheduler process
1118 each time a modem is made ready by a faxgetty process. State is
1119 one of: ``R'' (ready for use), ``B'' (busy), ``D'' (down), or
1120 ``E'' (exempt). The modem state can be used to control whether
1121 or not modems are assigned to outbound jobs. A modem's state is
1122 initially set to ``R'' (ready). Modem state can be dynamically
1123 changed with the faxstate(8C) program or by setting this config‐
1124 uration parameter with the faxconfig(8C) program. The HylaFAX
1125 scheduler process will not assign jobs to a modem with a Modem‐
1126 ReadyState of anything other than ``R''. The differences be‐
1127 tween ``B'', ``D'', and ``E'' are that ``B'' refers to a tempo‐
1128 rary condition that will automatically clear in the passing of
1129 time (as if the modem were in-use with receiving a fax); ``D''
1130 refers to a condition that will not automatically clear (such as
1131 a wedged condition); and ``E'' refers to a permanent condition
1132 as configured by the administrator (as for a receive-only mo‐
1133 dem). If a user submits a job to a specific modem that has a
1134 ModemReadyState of ``B'' or ``D'' then the job will wait in the
1135 queue until the modem is made available or until the job times
1136 out. In contrast, jobs submitted to a specific modem with a
1137 ModemReadyState of ``E'' will be rejected outright. Exempt
1138 modems should be removed from any ModemGroup to which they be‐
1139 long (i.e. ``any'').
1140
1141 ModemRingResponse
1142 This can be used to cause the command defined by ModemRingRe‐
1143 sponse to be sent to the modem after hearing at least Modem‐
1144 RingsBeforeResponse RINGs in order to receive DID-DTMF data, for
1145 example.
1146
1147 ModemRingsBeforeResponse
1148 This defines the minimum number of RINGs that must be heard be‐
1149 fore ModemRingResponse is first sent to the modem.
1150
1151 NotifyCmd²
1152 The program to invoke to notify a client of a job status change;
1153 see notify(8C).
1154
1155 PageChop¹
1156 Whether or not to automatically truncate trailing whitespace on
1157 pages of outbound facsimile (when possible). If page chopping
1158 is enabled, then pages with at least PageChopThreshold trailing
1159 whitespace on a page will be transmitted as a ``short page'' if
1160 the receiver is capable of accepting variable-length pages. The
1161 possible values are: ``last'' to enable chopping of the last
1162 page of each document, ``all'' to enable chopping of all pages,
1163 or ``none'' to disable page chopping.
1164
1165 PageChopThreshold¹
1166 The minimum amount of trailing whitespace that must be present
1167 on a page before page chopping will be attempted; see PageChop.
1168 Note that this value is specified in inches.
1169
1170 PCL2FaxCmd¹
1171 The command to invoke to convert a HP-PCL document submitted for
1172 transmission to TIFF/F, suitable for transmission.
1173
1174 PercentGoodLines
1175 The minimum percentage of good rows of image data required for a
1176 received facsimile page to be deemed to have acceptable copy
1177 quality. Setting this parameter to zero causes the server to
1178 not check the quality of received facsimile. Facsimile received
1179 with error-correction do not have copy quality checking per‐
1180 formed. See also MaxConsecutiveBadLines.
1181
1182 PollLockPokeModem
1183 When polling for the presence/removal of a UUCP lockfile, also
1184 test to make sure the modem is still reachable. This is useful
1185 for scenarios where the modem is apt to become disconnected
1186 while the modem is idle, such as an external modem that may lose
1187 power, where the administrator wants notification of this (as a
1188 ``wedged'' condition).
1189
1190 PollLockWait
1191 When polling for the presence/removal of a UUCP lockfile, the
1192 time (in seconds) to wait between checks. Lockfile polling oc‐
1193 curs to ensure the fax server doesn't collide with another
1194 process using the modem.
1195
1196 PollModemWait
1197 The time (in seconds) to wait between checks for a modem to be‐
1198 come ready for use. Modem polling occurs when a modem fails to
1199 reset cleanly.
1200
1201 PriorityScheduling
1202 Indicates whether the HylaFAX scheduler should utilize available
1203 priority job scheduling mechanisms to enhance realtime execu‐
1204 tion, particularly with Class 1 configurations on older or
1205 slower systems.
1206
1207 Currently PriorityScheduling is available for IRIX, SVR/4, HP-
1208 UX, and POSIX-compliant (i.e. Linux) operating systems. The de‐
1209 fault value varies to maintain traditional HylaFAX behavior. On
1210 IRIX, SVR/4, and HP-UX systems where the configure script de‐
1211 tects one of the functions schedctl(), priocntl() or rtprio()
1212 the default is true. The only other supported priority mecha‐
1213 nism is POSIX sched_setscheduler(), which is used on Linux,
1214 OpenServer and possibly other systems. On such systems, as well
1215 as on systems where no priority scheduling mechanism exists, the
1216 default is false."
1217
1218 PS2FaxCmd¹
1219 The command to invoke to convert a POSTSCRIPT document submitted
1220 for transmission to TIFF/F, suitable for transmission; see
1221 ps2fax(8C).
1222
1223 QualifyPWD
1224 A string that specifies whether or not the identity of calling
1225 facsimile machines should be checked against an access control
1226 list before receiving facsimile. If QualifyPWD is non-null,
1227 then only messages from facsimile machines identified in the
1228 file specified by the string (typically etc/passwd) will be ac‐
1229 cepted; similar to QualifyTSI.
1230
1231 QualifyTSI
1232 A string that specifies whether or not the identity of calling
1233 facsimile machines should be checked against an access control
1234 list before receiving facsimile. If QualifyTSI is non-null,
1235 then only messages from facsimile machines identified in the
1236 file specified by the string (typically etc/tsi) will be ac‐
1237 cepted; see tsi(5F). If QualifyTSI is not specified in the con‐
1238 figuration file, or the value is null, then all incoming facsim‐
1239 ile messages will be accepted.
1240
1241 RecvDataFormat
1242 The data format (compression scheme) to write received facsimile
1243 data when copy quality checking is performed on the host. (When
1244 copy quality checking is not done by the server, for example
1245 when error correction protocol is used, the received facsimile
1246 data is written exactly as it is received from the modem.) The
1247 format may be one: ``1-D MH'', ``2-D MR'', ``2-D MMR'', or
1248 ``adaptive''. An ``adaptive'' format causes the received data
1249 to be written using the data format negotiated by the sender and
1250 receiver. Note that while 2-D MMR is the most space-efficient
1251 data format the resultant file may not be viewable (certain com‐
1252 monly used programs do not properly read multi-strip TIFF with
1253 2-D MMR data).
1254
1255 RecvFileMode
1256 The file protection mode that should be used when creating files
1257 to hold incoming facsimile. Note that this value is given in
1258 octal. The default value of 0600 implies that only the facsim‐
1259 ile user can read received facsimile. If incoming facsimile are
1260 to be publicly accessible, this value may be set, for example,
1261 to 0644. See also chmod(2).
1262
1263 RejectCall
1264 If this is set to true, the current call will not be answered,
1265 and will be rejected. This option has no effect if set in the
1266 configuration file, but when set by the DynamicConfig program,
1267 controls the current call. This options supersedes the obsolete
1268 QualifyCID option.
1269
1270 RingData
1271 A modem status string that identifies that an incoming call is
1272 for data use. This string should be set when a phone line has
1273 been setup with distinctive ring service. See also RingFax and
1274 RingVoice.
1275
1276 RingExtended
1277 An identifier which matches the initial portion of an extended
1278 RING message sent by the modem to relay CID and/or DNIS data in‐
1279 stead of sending it formatted on separate lines.
1280
1281 RingFax
1282 A modem status string that identifies that an incoming call is
1283 for facsimile use. This string should be set when a phone line
1284 has been setup with distinctive ring service. See also RingData
1285 and RingVoice.
1286
1287 RingsBeforeAnswer
1288 The number of rings to wait before answering the phone. If this
1289 value is set to 0, then the phone will only be answered in re‐
1290 sponse to an explicit answer command; see faxanswer(8C).
1291
1292 RingTimeout
1293 If a ring is heard and the call is not answered, the time in ms
1294 to wait before reinitializing the modem for the next call.
1295
1296 RingVoice
1297 A modem status string that identifies that an incoming call is
1298 for voice use. This string should be set when a phone line has
1299 been setup with distinctive ring service. See also RingData and
1300 RingFax.
1301
1302 RTNHandlingMethod
1303 Specifies how to react to an RTN signal received from the re‐
1304 mote: one of ``Retransmit'', ``Giveup'',``Ignore'', or ``Re‐
1305 transmit-Ignore''.
1306
1307 ``Retransmit'' assumes that the page is not received success‐
1308 fully. HylaFAX will make up to two additional attempts to send
1309 the page, decreasing signalling rate and retraining. If RTN
1310 continues, up to 2 additional calls will be placed. The down‐
1311 side is that if the remote always responds with RTN, the page
1312 will be sent 9 times and no following pages will be sent. Many
1313 fax machines will not behave this way, although T.30 specifica‐
1314 tion seems clear that this is the intent of the RTN signal.
1315
1316 Some fax machines will interpret RTN as meaning to not send the
1317 same data again. That is because RTN may indicate problems with
1318 flow control, incorrectly encoded T.4 data, or some incompati‐
1319 bility other than line noise. Fax machines that interpret RTN
1320 this way will disconnect and require a manual retransmission.
1321 This ``over and out'' behavior can be activated by the
1322 ``Giveup'' value. The advantage to this behavior is that the
1323 same page of image data will not be sent multiple times, but the
1324 downside is that the following pages will not be sent.
1325
1326 ``Ignore'' is similar to ``Giveup'' in that it makes the assump‐
1327 tion the data cannot be automatically accepted by the receiver.
1328 However, rather than disconnecting the page of image data is
1329 abandoned and processing moves on to the next. The remote is
1330 left to decide what to do with the unacceptable page of image
1331 data. The downside to this behavior, is that the remote may or
1332 may not have kept the page, depending on its interpretation of
1333 the RTN signal - but it does allow us to continue on to the next
1334 page.
1335
1336 ``Retransmit-Ignore'' is a combination of ``Retransmit'' and
1337 ``Ignore''. The page of image data is retransmitted up to two
1338 additional times, but rather than disconnecting after a third
1339 RTN signal for the same page, processing then continues on to
1340 the next page. This approach is an effort to satisfy both in‐
1341 terpretations of an RTN signal. It allows the receiver to hope‐
1342 fully receive a better copy of the image data while not failing
1343 to send subsequent pages. If the receiver saves or prints a
1344 copy of pages for which it transmits RTN, then it could save or
1345 print up to three copies of every page.
1346
1347 SaveUnconfirmedPages
1348 Whether or not to save a received facsimile image page if the
1349 sender disconnects without sending the post-page message, with‐
1350 out hearing our message confirmation, without retraining as re‐
1351 quested, or otherwise breaks fax protocol following such pages
1352 for which the sender should not have a ``receipt confirmation''.
1353
1354 SendFaxCmd¹
1355 The command to use to process outbound facsimile jobs; see
1356 faxsend(8C).
1357
1358 SendPageCmd¹
1359 The command to use to process outbound pager jobs; see page‐
1360 send(8C).
1361
1362 SendUUCPCmd¹
1363 The command to use to process outbound UUCP jobs. This parame‐
1364 ter is not currently used, it is for future development.
1365
1366 ServerTracing²
1367 A number that controls the generation of tracing information by
1368 a server when not actively sending or receiving facsimile.
1369 Tracing is divided into areas that are individually controlled.
1370 To enable tracing of multiple areas of operation, the flag asso‐
1371 ciated with each area should be bit-or'd to form the value for
1372 this tag.
1373 Flag Area Description
1374 1 (0x00001) Server Operation queue management and general operation
1375 2 (0x00002) FAX/IXO Protocol T.30 facsimile protocol or IXO/TAP protocol
1376 4 (0x00004) Modem Operations modem hardware manipulation
1377 8 (0x00008) Modem Communications commands passed between host and modem
1378 16 (0x00010) Timeouts timer operations
1379 32 (0x00020) Modem Capabilities modem capabilities
1380 64 (0x00040) HDLC Frames binary T.30 HDLC frames
1381 128 (0x00080) Binary Modem I/O binary communication between host and modem
1382 256 (0x00100) Server State Transitionsserver program state transitions
1383 512 (0x00200) Queue Management job queue management
1384 1024 (0x00400) Copy Quality copy quality checking of received facsimile
1385 2048 (0x00800) Job Management low-level job management
1386 4096 (0x01000) IXO Protocol low-level IXO protocol
1387 8192 (0x02000) Config File Parsing unknown configuration file parameters
1388 16384 (0x04000) FIFO Messages inter-application messages
1389 32768 (0x08000) Modem State Transitions modem state changes (down, busy, ready)
1390 65536 (0x10000) Dial Rules dialstring rules parsing and execution
1391 131072 (0x20000) Docq Changes document reference handling
1392 262144 (0x40000) TIFF library any messages produced by the TIFF library
1393 524288 (0x80000) ECM Frames binary T.30-A HDLC ECM frames
1394 1048576 (0x100000) SSL Fax data SSL Fax data bytes
1395 For example, to enable tracing of server operations and protocol
1396 operations, a value of 1+2=3 should be specified. NB: tracing
1397 timeouts and/or binary modem I/O can adversely affect the opera‐
1398 tion of the fax server; enabling these areas should be done with
1399 extreme care.
1400
1401 Server tracing is directed to syslog(3) using the facility spec‐
1402 ified with the LogFacility configuration parameter. Note that
1403 syslogd(8C) must be configured to capture facility.info, facil‐
1404 ity.debug, facility.warning, and facility.err messages. See hy‐
1405 lafax-log(5F) for a description of the logged messages.
1406
1407 SessionTracing²
1408 A number that controls the generation of tracing information by
1409 a server while sending or receiving facsimile. The number is
1410 interpreted identically to ServerTracing. Note that session
1411 tracing is placed in log files in the log subdirectory; see hy‐
1412 lafax-log(5F) for more information.
1413
1414 ShareCallFailures²
1415 A string which indicates the types of call failures that should
1416 be shared to blocked jobs (in the scheduler config file) or to
1417 batched jobs (in the per-device configuration files). The pur‐
1418 pose of this configuration is to prevent a large set of jobs to
1419 the same destination from stalling for long periods of time in
1420 the queue and repeatedly initiating failed delivery attempts due
1421 to call-related errors (such as an incorrectly-entered destina‐
1422 tion number). Jobs which are batched or blocked (depending on
1423 which configuration file is used) will receive the same failure
1424 indication and ``dials'' increment as the job which was active
1425 and running at the time (or lead the batch). ShareCallFailures
1426 may contain the following key words in any order with any
1427 deliniation:
1428
1429 Key Word Meaning
1430 busy Busy signal detected
1431 nocarrier No carrier detected
1432 noanswer No answer from remote
1433 nodialtone No local dialtone
1434
1435 Alternatively, ShareCallFailures may be set exactly to ``al‐
1436 ways'' which makes it apply to all of the call failure types
1437 listed above and is synonymous with ``busy nocarrier noanswer
1438 nodialtone''.
1439
1440 SpeakerVolume
1441 The volume level that the in-modem speaker should be adjusted to
1442 while in command mode. The possible values are:
1443 Value Description
1444 Off silent
1445 Quiet almost inaudible
1446 Low tolerable in privacy
1447 Medium loud enough to hear in the next room
1448 High intolerable
1449 Note that the speaker is always turned off once carrier is es‐
1450 tablished. Also beware that some modems support fewer volume
1451 settings; see ModemSetVolumeCmd.
1452
1453 StaggerCalls¹
1454 The time, in seconds, to delay between initiating outbound job
1455 calls. If HylaFAX is using a single phone line shared for both
1456 sending and receiving of faxes using a StaggerCalls setting of,
1457 for example, 300 would ensure that outbound calls be made in
1458 succession no more frequently than every 5 minutes, thus allow‐
1459 ing time between jobs for incoming calls to be received.
1460
1461 TagLineFont
1462 The filename of the font to use in imaging tag lines across the
1463 top of each transmitted page. Fonts must be stored in the Por‐
1464 table Compiled Font (PCF) format used by the X11 Window System.
1465 Filenames are specified relative to the root of the spooling
1466 area; e.g. etc/lutRS18.pcf or etc/LiberationSans-25.pcf. If no
1467 font is specified, if a null filename is specified, or if the
1468 specified font file is not readable, then tag lines will not be
1469 generated. Note that the etc/lutRS18.pcf TagLineFont that has
1470 historically been the default with HylaFAX does not have glyphs
1471 available beyond basic ASCII, and to show non-ASCII characters a
1472 different file must be used that has characters matching those
1473 characters found in TagLineFormat as decoded by the TagLineLo‐
1474 cale setting. For this reason, the etc/LiberationSans-25.pcf is
1475 now considered the default as it has unicode support for Latin,
1476 Greek, and Cyrillic characters.
1477
1478 TagLineFormat
1479 The format string to use when imaging tag lines across the top
1480 of each transmitted page. This string may include escape codes
1481 that cause various items to be interpolated into the imaged tag
1482 line. Any escape code supported by strftime(3C) (which use a
1483 single ``%'') may be used as well as the following server-imple‐
1484 mented codes:
1485 Escape Description
1486 %%a destination subaddress
1487 %%c destination company name
1488 %%C sender's company name
1489 %%d destination phone number
1490 %%g sender's geographic location
1491 %%G destination geographic location
1492 %%i job identifier
1493 %%I group identifier
1494 %%j user-specified job tag
1495 %%l job TSI or LocalIdentifier or canonicalized FAXNumber
1496 %%m sender's electronic mail address
1497 %%n canonicalized FAXNumber
1498 %%p current page number of session
1499 %%P current page number of job
1500 %%r receiver's name
1501 %%s sender's name
1502 %%S subject
1503 %%t total pages in session
1504 %%T total pages in job
1505 %%v sender's voice number
1506 %%V destination voice number
1507 %%% ``%''
1508 There are numerous date and time format options available
1509 through strftime(3C). Users are encouraged to refer to its doc‐
1510 umentation for elaboration. Used by default, ``%c'' is defined
1511 as ``The preferred date and time representation for the current
1512 locale.''
1513
1514 In addition, the format string may indicate that text is to be
1515 broken into multiple equal-sized fields by separating text with
1516 ``|'' characters. If the first character in the field is a
1517 ``{'' then the text is left-aligned; if the first character in
1518 the field is a ``}'' then the text is right-aligned; otherwise,
1519 the text is centered in the field. For example, ``{a|b|}c''
1520 would cause the tag line to be broken up into three equal-sized
1521 areas with the string ``a'' left-aligned in the first region,
1522 ``b'' centered in the second region, and ``c'' right-aligned in
1523 the third region. The default tag line format string is ``From
1524 %%n|%c|Page %%P of %%T''. The differences between the %%p or
1525 %%P and the %%t or %%T options are noticed when a fax job is re‐
1526 tried after an incomplete attempt and only the previously unsent
1527 pages are then queued in a successive session. See also
1528 TagLineFont.
1529
1530 TagLineLocale
1531 The locale setting for handling TagLineFormat, for example,
1532 ``en_US.UTF-8''. If TagLineFormat is encoded via UTF-8 then the
1533 correct setting of TagLineLocale is requisite for proper decod‐
1534 ing by the parser. By default the environment settings are
1535 used.
1536
1537 TIFF2FaxCmd²
1538 The command to invoke to convert a TIFF submitted for transmis‐
1539 sion to TIFF/F, suitable for transmission; see tiff2fax(8C). In
1540 the scheduler configuration file this is used in outbound job
1541 preparation. In the per-device configuration files this is used
1542 in conjunction with RTFCC features for comparing relative data
1543 sizes between different formats.
1544
1545 TimeOfDay¹
1546 The default time-of-day restrictions to apply to outbound jobs.
1547 Outbound jobs will be processed only during the specified time.
1548 Any jobs submitted outside this time period will be held until
1549 the start of this time. The syntax for time-of-day restrictions
1550 is designed to be compatible with the syntax used by the UUCP
1551 software. The following BNF describes the syntax:
1552 Syntax = tod ["," tod]
1553 tod = <days><timerange>
1554 days = "Any" | "Wk" | <dayname>+ | nothing
1555 dayname = "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat"
1556 timerange = <start> "-" <end> | nothing
1557 start = <24hrtime>
1558 end = <24hrtime>
1559 24hrtime = {0-9}{0-9}{0-9}{0-9}
1560 nothing =
1561 where start and end are 24-hour times, day names can be either
1562 2- or 3-characters, and a null day or time specification means
1563 any time or day. White space and other syntactic sugar may be
1564 freely inserted between tokens but may not be inserted between
1565 24-hour times in the time range.
1566
1567 This value may be overridden by rules in the JobControl mecha‐
1568 nism.
1569
1570 TSIRecvdCmd
1571 The pathname of the optional program, e.g. ``etc/tsirecvd'',
1572 that similar to DynamicConfig can set the RejectCall option to
1573 cause the current call to be rejected instead of continued.
1574 TSIRecvdCmd should provide a more capable mechanism than Quali‐
1575 fyTSI for those wishing to screen calls based on received TSI.
1576 Note that this file must be marked as executable by the faxgetty
1577 process. Note also that any configuration modifications made by
1578 the TSIRecvdCmd script other than RejectCall is unsupported and
1579 has undefined results.
1580
1581 Unblock¹
1582 Intended to only be used from the faxconfig(8C) utility, this
1583 will force faxq(8C) to unblock one call to the value-specified
1584 destination number. The destination number should be provided
1585 in the format known by faxq(8C), as seen in the hylafax-info(5F)
1586 database files.
1587
1588 Use2D¹ Control the use of 2D-encoded data for transmitted facsimile.
1589
1590 UseJobTagLine
1591 Allow the use of the job-specified tagline instead of the con‐
1592 figured TaglineFormat
1593
1594 UUCPLockMode²
1595 The file protection mode that should be used when creating UUCP
1596 lockfiles. Note that this value is given in octal.
1597
1598 UUCPLockDir²
1599 The pathname of the directory in which UUCP lockfiles are to be
1600 created.
1601
1602 UUCPLockTimeout²
1603 The time in seconds to wait before removing a stale UUCP lock‐
1604 file (i.e. a lockfile whose owner does not appear to exist). If
1605 this value is set to 0, then the fax server will never remove a
1606 stale lockfile.
1607
1608 UUCPLockType²
1609 A string that specifies the type of UUCP lockfile to create.
1610 The string may be one of ``ascii'' or ``binary'' depending on
1611 whether the process-ID of the lock owner is written to the file
1612 as an ascii string or as a binary value, respectively. In addi‐
1613 tion, two prefixes may be used to control the format of the lock
1614 filename. If the type string is prefixed with a ``+'', then
1615 SVR4-style filenames are generated using the major device number
1616 of the tty device and the major and minor device numbers for the
1617 filesystem on which the tty device resides. If the type string
1618 is prefixed with a ``-'', then any upper case letters in the de‐
1619 vice part of the lockfile name are converted to lower case let‐
1620 ters; for example, ``LCK..ttyA01'' is converted to
1621 ``LCK..ttya01''. This upper-to-lower case conversion is useful
1622 for systems such as SCO where the convention is to name devices
1623 with upper-case letters, but create lockfiles with lower-case
1624 letters.
1625
1626 VGettyArgs
1627 A string that indicates whether or not the server should invoke
1628 a voice getty program in response to an incoming voice call. If
1629 the string value is not null, then it is interpreted as a set of
1630 arguments to pass to the vgetty program. Before supplying the
1631 arguments, the string is first scanned for ``%''-escape se‐
1632 quences: any appearance of ``%l'' is replaced with the tty name
1633 and any appearance of ``%s'' is replaced with the serial port
1634 speed (in decimal). Any appearance of escaped numbers 1 through
1635 9 (``%1'' through ``%9'') are replaced by the match to the cor‐
1636 responding CallIDPattern, if present. The ``%'' character can
1637 be specified with ``%%''. If the VGettyArgs parameter is not
1638 specified in the configuration file or if the string value is
1639 null, then voice connections will be rejected. Note that in ad‐
1640 dition to the specified command line arguments, the vgetty pro‐
1641 gram is invoked with its standard input, output, and error de‐
1642 scriptors directed to the controlling tty device.
1643
1644 WedgedCmd¹
1645 The program to invoke when a modem is deemed ``wedged''; see
1646 wedged(8C).
1647
1649 This section lists configuration parameters that are specific to the
1650 setup and operation of the modem. All commands must be specified ex‐
1651 actly as they are to be transmitted to the modem (note that this is a
1652 departure from previous versions of this software that automatically
1653 prepended ``AT'' to each line of commands sent to the modem). When
1654 multi-line commands are required, enclose the commands in quote marks
1655 (``"'') and insert a newline character ``\n'' where lines should be
1656 broken. An example of a multi-line command string is
1657 ``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''.
1658
1659 Command strings sent to the modem may include command escapes that
1660 force the host to alter the DTE-DCE communication rate, the flow con‐
1661 trol scheme used between the host and modem, delay for a period of
1662 time, flush input data, and wait for a specific response from the mo‐
1663 dem. The following escape codes are interpreted:
1664 Escape Effect
1665 <none> enable no flow control between DTE and DCE
1666 <xon> enable software flow control between DTE and DCE
1667 <rts> enable hardware flow control between DTE and DCE
1668 <2400> set the DCE-DTE baud rate to 2400 bps
1669 <4800> set the DCE-DTE baud rate to 4800 bps
1670 <9600> set the DCE-DTE baud rate to 9600 bps
1671 <19200> set the DCE-DTE baud rate to 19200 bps
1672 <38400> set the DCE-DTE baud rate to 38400 bps
1673 <57600> set the DCE-DTE baud rate to 57600 bps
1674 <76800> set the DCE-DTE baud rate to 76800 bps
1675 <115200> set the DCE-DTE baud rate to 115200 bps
1676 <delay:N> delay N x 10 ms on the host (0 <= N <= 255)
1677 <flush> flush any pending input data from the modem
1678 <waitfor:R> wait for the response R from the modem (see below)
1679 <play:C> play the etc/playC.raw audio file (see below)
1680 Note that commands to the left of an escape code are sent to the modem
1681 before the associated actions are carried out on the host. This may be
1682 important when changing baud rates, as the result code from a command
1683 may be returned at the new baud rate. Also, beware that not all baud
1684 rates are supported by all systems and modems; the set of baud rates
1685 supported by a host is usually listed in stty(1).
1686
1687 The ``<waitfor:..>'' escape can be used to override the default behav‐
1688 ior which is to wait for an ``OK'' response to a command sent to the
1689 modem. The possible response codes are:
1690 NOTHING a null response
1691 OK the default response
1692 CONNECT ``CONNECT...''
1693 NOANSWER ``NO ANSWER...''
1694 NOCARRIER ``NO CARRIER...''
1695 NODIALTONE ``NO DIALTONE...''
1696 BUSY ``BUSY''
1697 OFFHOOK ``PHONE OFF-HOOK''
1698 RING ``RING...''
1699 ERROR error status from modem
1700 VCON voice connection indicator
1701 OTHER any unrecognized modem response
1702 For example ``ATO\r<waitfor:CONNECT>'' would send ``ATO\r'' to the mo‐
1703 dem and then wait for a response with a leading ``CONNECT'' in it; and
1704 ``ATS99=2\r<delay:2><flush><waitfor:NOTHING>'' would send ``ATS99=2\r''
1705 to the modem, delay 20 ms, flush any input from the modem, and then
1706 continue (not wait for any response).
1707
1708 The ``<play:C>'' escape can be used to play a raw audio file with a
1709 voice modem. The files are named etc/playC.raw where ``C'' is any
1710 character. This feature can be used, for example, to play a brief au‐
1711 dio message after picking up the line but before answering. A configu‐
1712 ration example may be:
1713
1714 ModemRingResponse: "AT+FCLASS=8;H1\nAT+VSM=131\nAT+VLS=1\nAT+VTX\n<waitfor:CONNECT><play:1><waitfor:OK>AT+VTS=[933,,150]"
1715 ModemAnswerCmd: "<delay:100>AT+FCLASS=1;A"
1716 CallIDPattern: SHIELDED_DTMF
1717 CallIDAnswerLength: 4
1718
1719 In this example using an IS-101 voice-compliant modem, a RING indica‐
1720 tion from the modem will cause the modem to be placed in voice mode,
1721 set ulaw audio compression, and via the connected phone line play back
1722 the etc/play1.raw audio file, which may say, "After the tone enter a
1723 four-digit extension, then start the fax." Following the message a
1724 tone is played.
1725
1726 ModemAnswerCmd
1727 The command to answer the phone. If possible, this command
1728 should generate a result string that identifies whether the in‐
1729 coming call is from a facsimile, voice, or data modem. Typi‐
1730 cally this auto-detection is configured ahead of time; e.g. for
1731 Class 2 modems with the ``AT+FAA=1'' command.
1732
1733 The following table describes how the result codes are inter‐
1734 preted by the facsimile server.
1735 Result String Default Class 1 Class 2 Class2.0
1736 CONNECT FAX Fax - - --
1737 CONNECT Data Unknown - -
1738 NO ANSWER No Answer - - -
1739 NO CARRIER No Carrier - - -
1740 NO DIALTONE No Dialtone - - -
1741 ERROR Error - - -
1742 FAX Fax - - -
1743 DATA Data - - -
1744 +FCON - - Fax Fax
1745 +FCO - - Fax Fax
1746 +FDM - - Data Data
1747 +FHNG: - - Error Error
1748 VCON - - Voice Voice
1749 The ``Default'' column indicates the interpretation made for the
1750 result string in either class 1 or 2 unless explicitly overrid‐
1751 den. The ``Class 1'' column indicates result strings handled
1752 specially for modems operating in class 1, the ``Class 2'' col‐
1753 umn indicates special handling for modems operating in class 2,
1754 and the ``Class 2.0'' column indicates special handling for
1755 modems operating in class 2.0. Unknown entries imply that in‐
1756 terpretation is based on the way in which the call was answered;
1757 if answering is done for an explicit call type, that type is as‐
1758 sumed, otherwise a Fax call is presumed.
1759
1760 ModemAnswerAgainCmd
1761 The command to answer the phone if ModemAnswerCmd appears to
1762 have been ignored. Typically this should include a delay escape
1763 in order to set the timing of the answer away from the ring in
1764 case the modem is incapable of answering so closely following
1765 the ring.
1766
1767 ModemAnswerDataBeginCmd
1768 The command to send to the modem once a data connection has been
1769 established.
1770
1771 ModemAnswerDataCmd
1772 The command to explicitly answer the phone for a data connec‐
1773 tion. This command must generate a result string that identi‐
1774 fies the incoming call is from a data modem. If this parameter
1775 is not specified or is null, then the value of ModemAnswerCmd is
1776 used instead. See also AdaptiveAnswer and AnswerRotary.
1777
1778 ModemAnswerDialCmd
1779 The command to explicitly answer the phone for a dialed connec‐
1780 tion. This command must generate a result string that identi‐
1781 fies the incoming call is from a facsimile modem. If this pa‐
1782 rameter is not specified or is null, then the value of ModemAn‐
1783 swerCmd is used instead.
1784
1785 ModemAnswerFaxBeginCmd
1786 The command to send to the modem once a facsimile connection has
1787 been established.
1788
1789 ModemAnswerFaxCmd
1790 The command to explicitly answer the phone for a facsimile con‐
1791 nection. This command must generate a result string that iden‐
1792 tifies the incoming call is from a facsimile modem. If this pa‐
1793 rameter is not specified or is null, then the value of ModemAn‐
1794 swerCmd is used instead. See also AdaptiveAnswer and AnswerRo‐
1795 tary.
1796
1797 ModemAnswerVoiceBeginCmd
1798 The command to send to the modem once a voice connection has
1799 been established.
1800
1801 ModemAnswerVoiceCmd
1802 The command to explicitly answer the phone for a voice connec‐
1803 tion. This command must generate a result string that identi‐
1804 fies the incoming call is for voice. If this parameter is not
1805 specified or is null, then the value of ModemAnswerCmd is used
1806 instead. See also AdaptiveAnswer and AnswerRotary.
1807
1808 ModemAnswerResponseTimeout
1809 The maximum time, in milliseconds, to wait for a response from
1810 the modem after sending ModemAnswerCmd. Note that you may want
1811 to shorten this value when using the server-based adaptive an‐
1812 swer strategy; see AdaptiveAnswer.
1813
1814 ModemATCmdDelay
1815 A delay, in milliseconds, that should be performed before each
1816 ``AT'' command string is sent to the modem.
1817
1818 ModemBaudRateDelay
1819 The amount of time, in milliseconds, to pause after setting the
1820 baud rate on the serial line. This is only needed for hosts and
1821 modems (such as USRs) where setting the serial line parameters
1822 does not take effect immediately.
1823
1824 ModemCEDCmd
1825 The command to signal CED and raise the V.21 HDLC transmit car‐
1826 rier after a session has started. This is used after a proce‐
1827 dure interrupt. Normally this command is ``ATA'', but if the
1828 modem does not permit ``ATA'' after a session has started, then
1829 ``AT+FTH=3'' should probably be used, instead.
1830
1831 ModemCNGCmd
1832 The command to signal CNG and listen for V.21 HDLC after a ses‐
1833 sion has started. This is used after a procedure interrupt.
1834 Normally this command is ``ATD'', but if the modem does not per‐
1835 mit ``ATD'' after a session has started, then ``AT+FRH=3''
1836 should probably be used, instead.
1837
1838 ModemCommaPauseTimeCmd
1839 The command to set the time, in seconds, that the modem should
1840 pause when encountering a ``,'' modifier in the dialing string.
1841
1842 ModemDialCmd
1843 The command to place a phone call. The string is assumed to be
1844 suitable for use as a parameter to the sprintf(3S) function; so
1845 the ``%'' character should be escaped as ``%%''. The dial com‐
1846 mand must include a single ``%s'' where the number that is to be
1847 dialed is to be substituted. The command may include a single
1848 ``%d'' where the origin number is to be substituted. Facilities
1849 such as tone or pulse dialing, outgoing prefixes to route though
1850 a PBX, and so on should be included in the dialing command
1851 string. It is also important that, if possible, a trailing
1852 ``@'' symbol should be included so that the modem returns result
1853 codes that distinguish between no answer and no carrier. Use of
1854 the ``@'' permits the server to reduce the probability that a
1855 wrong number is continually redialed. If the modem does not
1856 support this facility, then it may be necessary to raise the
1857 number of retries done when a ``NO CARRIER'' result is returned.
1858
1859 ModemDialResponseTimeout
1860 The maximum time to wait, in milliseconds, for a response from
1861 the modem after sending This value should be longer than the
1862 timeout programmed into the modem through the ModemWaitTimeCmd
1863 parameter. This additional server-based timeout is provided to
1864 guard against modems that can ``lock up'' when dialing the tele‐
1865 phone.
1866
1867 ModemDoPhaseCDebug
1868 Whether or not to query the modem for responses during image
1869 data transmission. Normally the modem should not produce any
1870 responses during Phase C data transmission. However, in some
1871 debugging scenarios (i.e. some Class 2.1 modems may show debug‐
1872 ging information) it may be appropriate to query the modem for
1873 responses during the data transmission.
1874
1875 ModemDTRDropDelay
1876 The time, in milliseconds, to pause between placing DTR OFF and
1877 DTR ON while resetting a modem. This value should be at least
1878 equal to the time-value of the analogous S-register, usually
1879 S25. This so-called DTR drop can be bypassed entirely by set‐
1880 ting ModemDTRDropDelay to 0, but this should likely only be used
1881 for debugging purposes.
1882
1883 ModemEchoOffCmd
1884 The command to disable echoing of commands sent to the modem.
1885
1886 ModemFlowControl
1887 The type of flow control to use between DTE and DCE; one of
1888 ``NONE'', ``XONXOFF'' and ``RTSCTS''. This value is used to se‐
1889 lect the string sent to the modem to initially establish DTE-DCE
1890 flow control; one of ModemNoFlowCmd, ModemSoftFlowCmd, and
1891 ModemHardFlowCmd. The current flow control setting is also used
1892 to select the appropriate flow control command to send to the
1893 modem when the software switches to Class 1, 2, or 2.0; see
1894 Class1HFLOCmd, Class1NFLOCmd, Class1SFLOCmd, Class2HFLOCmd,
1895 Class2NFLOCmd, and Class2SFLOCmd.
1896
1897 The server supports both software and hardware flow control for
1898 Class 1, Class 2, and Class 2.0 modems. Whether to use hardware
1899 or software flow control depends on the capabilities of the mo‐
1900 dem and the host hardware and operating system. Communication
1901 rates above 9600 baud often require that hardware flow control
1902 be used for reliable DTE-DCE communication. However, beware
1903 that many modems only support software flow control when sending
1904 or receiving facsimile.
1905
1906 Note that modems usually support software flow control even if
1907 they have no explicit AT-command to activate it; in this case it
1908 is switched on when the modem enters fax mode, having
1909 AT+FCLASS=... from DTE.
1910
1911 ModemFrameFillOrder
1912 The bit order to expect for received HDLC frames and to use when
1913 formulating HDLC frames to send. This value may be either
1914 LSB2MSB when bits are ordered from least-significant-bit to
1915 most-significant-bit (as in the CCITT specification) or MSB2LSB
1916 when bits are ordered in the reverse direction.
1917
1918 ModemHardFlowCmd
1919 The command to setup hardware (RTS/CTS) flow control between DTE
1920 and DCE.
1921
1922 ModemMinSpeed
1923 The minimum acceptable signalling rate for transmitting facsim‐
1924 ile page data. Possible values are: 2400, 4800, 7200, 9600,
1925 12200, and 14400.
1926
1927 ModemMfrQueryCmd
1928 The command to send to the modem to get the manufacturer identi‐
1929 fication string. If this parameter is not set, then it is ini‐
1930 tialized to ``AT+FMFR?'' for Class 2 modems, or to ``AT+FMI?''
1931 for Class 2.0 modems, or to ``ATI3'' for Class 1 modems. If the
1932 parameter begins with a ``!'', then the remainder of the string
1933 is taken to be the identification string and no command is is‐
1934 sued to the modem.
1935
1936 ModemModelQueryCmd
1937 The command to send to the modem to get the model identification
1938 string. If this parameter is not set, then it is initialized to
1939 to ``AT+FMDL?'' for Class 2 modems, or to ``AT+FMM?'' for Class
1940 2.0 modems, or to ``ATI0'' for Class 1 modems. If the parameter
1941 begins with a ``!'', then the remainder of the string is taken
1942 to be the identification string and no command is issued to the
1943 modem.
1944
1945 ModemNoAutoAnswerCmd
1946 The command to stop the modem from automatically answering when
1947 the phone rings.
1948
1949 ModemNoAutoAnswerCmdDelay
1950 The time, in milliseconds, to pause after receiving the OK fol‐
1951 lowing ModemNoAutoAnswerCmd before any further commands are sent
1952 to the modem. All input from the modem is flushed after paus‐
1953 ing.
1954
1955 ModemNoDialtoneRetries
1956 The maximum number of attempts that can be made to obtain dial‐
1957 tone from the line when placing a call.
1958
1959 ModemNoFlowCmd
1960 The command to disable flow control between DTE and DCE.
1961
1962 ModemOnHookCmd
1963 The command to place the phone ``on hook'' (i.e. hangup).
1964
1965 ModemPageDoneTimeout
1966 The maximum time to wait, in milliseconds, for a response from
1967 the modem after sending a page of facsimile data (e.g. the time
1968 to wait for a response to a Class 2/2.0 AT+FET command).
1969
1970 ModemPageStartTimeout
1971 The maximum time to wait, in milliseconds, for an initial re‐
1972 sponse from the modem when sending a page of facsimile data
1973 (e.g. the time to wait for a response to a Class 2/2.0 AT+FDR
1974 command).
1975
1976 ModemRaiseATCommands
1977 Indicates whether or not all configuration AT commands for the
1978 modem should be raised to upper-case automatically. The stan‐
1979 dard is for all upper-case to be used in AT commands, and in‐
1980 deed, some rare modems have been known to malfunction with
1981 lower-case commands. However, sometimes an administrator may
1982 want to use lower-case commands in a rare condition such as to
1983 work around modem blacklisting of dialed numbers.
1984
1985 ModemRate
1986 The baud rate to use for DCE-DTE communication. This value may
1987 be one of: 115200, 76800, 57600, 38400, 19200, 9600, 4800, 2400,
1988 1200. The default value is 19200 because many modems lock the
1989 rate at 19200 when sending or receiving facsimile. Note that
1990 not all values are supported by all operating systems and
1991 modems; consult stty(1) for the available rates on your system.
1992
1993 ModemReadyCmds
1994 A string of commands to issue to the modem during reception ini‐
1995 tialization. This string is sent to the modem after the stan‐
1996 dard set of configuration commands required by the fax server.
1997 This is done, for example, to un-busy a DID line so that calls
1998 can come through.
1999
2000 ModemRecvFillOrder
2001 The bit order to expect for received facsimile data. This value
2002 may be either LSB2MSB when bits are ordered from least-signifi‐
2003 cant-bit to most-significant-bit (as in the CCITT specification)
2004 or MSB2LSB when bits are ordered in the reverse direction. Ac‐
2005 cording to the various specifications all modems should return
2006 data in LSB2MSB order. However most Class 2 modems (except
2007 maybe only Multitech) use MSB2LSB for compatibility with modems
2008 that were built with Rockwell hardware/firmware that included a
2009 bug that was too widespread to correct.
2010
2011 If this parameter is not set, then it is autodetected and set to
2012 LSB2MSB for Class 1 and Class 2.0 modems and MSB2LSB for non-
2013 Multitech Class 2 modems. However this may be wrong for your mo‐
2014 dem, so you will have to specify this parameter explicitly.
2015
2016 ModemRecvSuccessCmd
2017 A string of commands to issue to the modem after a successful
2018 receive session before the call is disconnected.
2019
2020 ModemResetCmds
2021 A string of commands to issue to the modem during initializa‐
2022 tion. This string is sent to the modem before the standard set
2023 of configuration commands required by the fax server. Note that
2024 these commands should not include normal reset commands that are
2025 specified through other parameters. For example, commands to
2026 setup flow control, DCD handling, DTR handling, etc. should be
2027 specified through the appropriate configuration parameters and
2028 not through this parameter. In addition the soft reset command
2029 (usually ``ATZ'') should not be included in this string; the
2030 servers issue this command explicitly.
2031
2032 ModemResetDelay
2033 The time, in milliseconds, to pause after setting DTR ON, while
2034 resetting a modem. DTR ON does not respond with ``OK'', so this
2035 parameter should be long enough to allow the modem time to be
2036 ready for ModemSoftResetCmd successively.
2037
2038 ModemResultCodesCmd
2039 The command to enable result codes.
2040
2041 ModemRevQueryCmd
2042 The command to send to the modem to get a firmware revision
2043 identification string. If this parameter is not set, then it is
2044 initialized to ``AT+FREV?'' for Class 2 modems, or to
2045 ``AT+FMR?'' for Class 2.0 modems. If the parameter begins with
2046 a ``!'', then the remainder of the string is taken to be the
2047 identification string and no command is issued to the modem.
2048
2049 ModemSecondAnswerCmd
2050 The command to send to the modem in the event that the first an‐
2051 swer command results with ``OK'' rather than an otherwise ex‐
2052 pected indication. This command is intended to resume the an‐
2053 swer procedure where the first left off.
2054
2055 ModemSendBeginCmd
2056 The command to send to the modem upon establishing carrier dur‐
2057 ing a transmit operation. This parameter is useful for systems
2058 that are incapable of enabling hardware flow control without DCD
2059 asserted.
2060
2061 ModemSendFillOrder
2062 The bit order the modem expects for transmitted facsimile data.
2063 This value may be either LSB2MSB or MSB2LSB (see also ModemRecv‐
2064 FillOrder above.) Virtually all modems expect transmitted fac‐
2065 simile data in LSB2MSB bit order.
2066
2067 ModemSetOriginCmd
2068 The command to use to set the call origin information before
2069 placing a call. The command may include a single ``%d'' where
2070 the job request ``faxnumber'' string is to be substituted. The
2071 command may also include a single ``%s'' where the job request
2072 ``faxname'' string is to be subsituted.
2073
2074 ModemSetVolumeCmd
2075 The commands to use to set the modem speaker volume levels.
2076 There should be five whitespace-separated commands, one each for
2077 setting the volume to ``Off'', ``Quiet'', ``Low'', ``Medium'',
2078 and ``High''; the default is ``"ATM0 ATL0M1 ATL1M1 ATL2M1
2079 ATL3M1"''. See also SpeakerVolume.
2080
2081 ModemSetupAACmd
2082 The command to setup adaptive answer support in the modem-if
2083 available. Adaptive answer is the term used for the ability to
2084 distinguish between calls from facsimile, voice, and data
2085 sources. Note that this string is the last command issued by
2086 the device drivers during setup, so the command string may, if
2087 necessary, switch to a different operating mode (e.g. on some
2088 Rockwell-based modems it is necessary to issue the ``AT+FAA=1''
2089 command in Class 0).
2090
2091 ModemSetupDCDCmd
2092 The command to setup DCD handling. On most systems the facsim‐
2093 ile server will enable the CLOCAL flag on the tty device to
2094 which the modem is connected. This should ensure that the sys‐
2095 tem does not close an open file descriptor associated with the
2096 modem if carrier is dropped. Thus, for most systems and modems
2097 ModemSetupDCDCmd should setup DCD to reflect carrier.
2098
2099 ModemSetupDTRCmd
2100 The command to setup DTR handling so that the modem is reset
2101 when the DTR signal is lowered by the host. The facsimile
2102 server uses this facility to ensure that modems are not left in
2103 a ``locked up'' state.
2104
2105 ModemSoftFlowCmd
2106 The command to setup software (XON/XOFF) flow control between
2107 DTE and DCE.
2108
2109 ModemSoftResetCmd
2110 The command to force a soft reset of the modem.
2111
2112 ModemSoftResetCmdDelay
2113 The time, in milliseconds, to pause after receiving the OK fol‐
2114 lowing ModemSoftResetCmd before any further commands are sent to
2115 the modem.
2116
2117 ModemSoftRTFCC
2118 Whether or not to enable software-driven Real-Time Fax Compres‐
2119 sion Conversion. RTFCC allows HylaFAX to convert the image com‐
2120 pression between MH MR and MMR formats regardless of how faxq
2121 formatted the image file. Note that when using RTFCC, the com‐
2122 pression format of the file will be ignored, thus the ``-1'',
2123 ``-2'', and ``-3'' options for sendfax, ps2fax, and others will
2124 only influence how the document is prepared by faxq and will not
2125 influence the actual negotiated session parameters. Class2RTFCC
2126 takes precedence over ModemSoftRTFCC and if both are enabled,
2127 then software-driven RTFCC will not be performed in favor of the
2128 firmware-driven RTFCC.
2129
2130 ModemType
2131 This parameter must be set to one of: ``Class2'', ``Class2.0'',
2132 ``Class1'', or ``Class1.0''; to indicate that the modem is a
2133 Class 2-, Class 2.0-, Class 1-, or Class 1.0-style modem, re‐
2134 spectively. If this parameter is not set, then HylaFAX detects
2135 which classes are supported by the modem and makes an internal
2136 decision on which to use. Historically this decision chooses
2137 Class 2.1 over Class 2.0 over Class 2 over Class 1.0 over Class
2138 1. However, some exceptions are made, for instance, with US Ro‐
2139 botics modems where Class 2.0 support is avoided.
2140
2141 ModemVerboseResultsCmd
2142 The command to enable verbose, as opposed to numeric, result
2143 codes.
2144
2145 ModemWaitForConnect
2146 If enabled, the facsimile server will not consider a connection
2147 established when answering an incoming call until a ``CONNECT''
2148 status string is received. This is useful mainly for Rockwell
2149 RC32ACL-based modems that send ``FAX'' and ``DATA'' status mes‐
2150 sages before sending ``CONNECT''.
2151
2152 ModemWaitTimeCmd
2153 The command to set the number of seconds to wait for a carrier
2154 signal when placing a call or answering the phone.
2155
2157 The following parameters apply to the implementation of the CCITT T.30
2158 facsimile protocol in the Class 1 device driver. They should not be
2159 changed without full understanding of the operation of the server.
2160
2161 FaxT1Timer
2162 The value of the T1 timer in milliseconds. This timer is used
2163 to time out the initial session contact; i.e. receipt of
2164 DIS/DCS.
2165
2166 FaxT2Timer
2167 The value of the T2 timer in milliseconds. This timer is used
2168 to time out receiving responses and commands.
2169
2170 FaxT4Timer
2171 The value of the T4 timer in milliseconds. This timer is used
2172 to time out the reception of HDLC frames and, usually, trigger
2173 frame retransmissions.
2174
2176 The following parameters are specific to the configuration of Class
2177 1-style modems; they should not be changed lightly:
2178
2179 Class1Cmd
2180 The command to set the modem into Class 1 operation.
2181
2182 Class1AdaptRecvCmd
2183 The command used to enable adaptive reception support (usually
2184 ``AT+FAR=1''). This feature is new in T.31, and many modems
2185 will not support it. This feature may reduce the number of re‐
2186 ception failures due to errors cascading from +FCERROR messages.
2187
2188 Class10AutoFallback
2189 Whether or not the modem implements an automatic fallback to G3
2190 mode if V.8 handshaking ANSam is not detected for a Class 1.0
2191 V.34-Fax (SuperG3) call.
2192
2193 Class1ColorJPEGSupport
2194 Whether or not to enable support for T.30-E full-color facsimile
2195 with JPEG compression. Enabling this automatically enables
2196 Class1GreyJPEGSupport.
2197
2198 Class1EnableV34Cmd
2199 The command to enable V.34-fax support with at least the desired
2200 maximum primary channel rate.
2201
2202 Class1ECMCheckFrameLength
2203 Whether or not to require the frame length for ECM data frames
2204 to be complete when checking for frame integrity. Normally this
2205 is not beneficial (and can be problematic for some senders), but
2206 in some cases the frame CRC is not reliable because of modem be‐
2207 havior.
2208
2209 Class1ECMSupport
2210 Whether or not to support T.30-A error correction protocol. Use
2211 of ECM will require 64 kilobytes of free memory per modem in ac‐
2212 tive use.
2213
2214 Class1PersistentECM
2215 Whether or not to continue to retransmit and allow to continue
2216 to receive image data in ECM protocol which is not accepted as
2217 valid after four successive attempts.
2218
2219 Class1ECMFrameSize
2220 The size in bytes of image frames to transmit during ECM proto‐
2221 col. This setting will also indicate a preference in receive
2222 sessions. The only acceptable values are 64 and 256. A setting
2223 of 64 may be useful on high-load systems and possibly environ‐
2224 ments with extremely poor line quality.
2225
2226 Class1ExtendedRes
2227 Whether or not to support resolutions other than normal and
2228 fine. This option has been deprecated by Class1Resolutions.
2229
2230 Class1FrameOverhead
2231 The number of extraneous bytes in HDLC frames sent to the host
2232 in response to an ``AT+FRH'' command. For modems that properly
2233 implement the Class 1 interface, this number should be 4 (the
2234 default).
2235
2236 Class1GreyJPEGSupport
2237 Whether or not to enable support for T.30-E greyscale facsimile
2238 with JPEG compression. This is always enabled if Class1Color‐
2239 JPEGSupport is enabled.
2240
2241 Class1HookSensitivity
2242 The number of times to ignore on-hook detections and merely
2243 treat them as command or modem errors.
2244
2245 Class1JBIGSupport
2246 Whether or not to enable support for T.85 monochrome facsimile
2247 with JBIG compression. Options are ``true'' for support in both
2248 sending and receiving, ``false'' for no support, ``send'' for
2249 support only in sending, and ``receive'' for support only in re‐
2250 ceiving. If, during the build process a compatible JBIG library
2251 was found then send support is enabled by default. If, during
2252 the build process the TIFF tools are found to support JBIG then
2253 receive support is enabled by default.
2254
2255 Class1MRSupport
2256 Whether or not to enable support for two-dimensional Modified
2257 Read (MR) image data format compression.
2258
2259 Class1MMRSupport
2260 Whether or not to enable support for two-dimensional Modified
2261 Modified Read (MMR) image data format compression. Note that
2262 MMR support requires also ECM support to be enabled.
2263
2264 Class1HasRHConnectBug
2265 A Class 1 modem should only report CONNECT after AT+FRH=3 when
2266 V.21 HDLC data is detected. However, some modems will incor‐
2267 rectly report CONNECT after AT+FRH=3 whenever any carrier is
2268 present. In such cases Class1HasRHConnectBug should be set to
2269 ``true''.
2270
2271 Class1HasRMHookIndication
2272 A Class 1 modem should result ERROR after AT+FRM=<mod> when it
2273 is on hook. However, some modems will incorrectly use ERROR re‐
2274 port a carrier detection mismatch. In such cases Class1Has‐
2275 RMHookIndication should be set to ``false''.
2276
2277 Class1HFLOCmd
2278 The command to setup hardware (RTS/CTS) flow control between DTE
2279 and DCE when operating in Class 1. This command is issued imme‐
2280 diately after sending the Class1Cmd to switch the modem to Class
2281 1 operation.
2282
2283 Class1NFLOCmd
2284 The command to setup no flow control between DTE and DCE when
2285 operating in Class 1. This command is issued immediately after
2286 sending the Class1Cmd to switch the modem to Class 1 operation.
2287
2288 Class1PageLengthSupport
2289 The coded value for page lengths supported by the modem. The
2290 only correct values and meanings are these: ``1'', A4 page
2291 length; ``3'', both A4 and B4 page length; ``7'', unlimited page
2292 length.
2293
2294 Class1PageWidthSupport
2295 The coded value for page widths supported by the modem. The
2296 only correct values and meanings are these: ``1'', A4 page
2297 width; ``3'', both A4 and B4 page width; ``7'', all of A4, B4,
2298 and A3 page widths.
2299
2300 Class1PPMWaitCmd
2301 The command used to stop and wait before sending the post page
2302 message, except before sending EOP, when Class1EOPWaitCmd is
2303 used instead. We must ensure that the high-speed carrier has
2304 stopped completely. According to T.30, Chapter 5, Note 4, this
2305 delay should be 75 +/- 20 ms.
2306
2307 Class1ResponseWaitCmd
2308 The command used to stop and wait after sending TCF, before at‐
2309 tempting to receive a training response from the remote. Set
2310 this to ``AT+FTS=1'' if the modem responds ``OK'' before actu‐
2311 ally dropping the high-speed TCF carrier.
2312
2313 Class1Resolutions
2314 A bitmapped (bit-or'd) value indicating the resolutions to be
2315 supported during facsimile operation. Individual resolutions
2316 follow Table 21/T.32 and are defined as follows:
2317 Bit Description
2318 0 (0x00) R8 x 3.85 l/mm, Normal
2319 1 (0x01) R8 x 7.7 l/mm, Fine
2320 2 (0x02) R8 x 15.4 l/mm, Superfine
2321 4 (0x04) R16 x 15.4 l/mm, Hyperfine
2322 8 (0x08) 200 dpi x 100 l/inch
2323 16 (0x10) 200 dpi x 200 l/inch
2324 32 (0x20) 200 dpi x 400 l/inch
2325 64 (0x40) 300 dpi x 300 l/inch
2326 Thus, a value of 3 would indicate support for normal, fine, and
2327 superfine resolutions.
2328
2329 Class1RMQueryCmd
2330 The command to send to the modem to get the list of supported
2331 reception bit-rates. If the parameter begins with a ``!'', then
2332 the remainder of the string is taken to be the modem response
2333 and no command is issued to the modem.
2334
2335 Class1TCFWaitCmd
2336 The command used to stop and wait before sending TCF, similar to
2337 Class1PPMWaitCmd. According to T.30, Chapter 5, Note 3, this
2338 delay should be 75 +/- 20 ms.
2339
2340 Class1TMQueryCmd
2341 The command to send to the modem to get the list of supported
2342 transmission bit-rates. If the parameter begins with a ``!'',
2343 then the remainder of the string is taken to be the modem re‐
2344 sponse and no command is issued to the modem.
2345
2346 Class1EOPWaitCmd
2347 The command used to stop and wait before sending the post page
2348 message similar to Class1PPMWaitCmd. We allow a different set‐
2349 ting in the case of EOP, however, because empirically some ma‐
2350 chines may need more time.
2351
2352 Class1ModemHasDLEBug
2353 Used to indicate that the modem does not correctly duplicate DLE
2354 characters in the V.21 communication to the DTE.
2355
2356 Class1MsgRecvHackCmd
2357 If receive failures occur due to +FCERROR just prior to image
2358 data reception, setting Class1MsgRecvHackCmd to AT+FRS=1 may
2359 help.
2360
2361 Class1RecvAbortOK
2362 The time, in milliseconds, to wait for an ``OK'' result code
2363 from the modem after aborting an HDLC frame receive
2364 (``AT+FRH=3''). If this number is zero, then the modem is as‐
2365 sumed to not correctly implement aborting and instead the driver
2366 will wait 200ms, flush any input, and then send ``AT\n'' and
2367 wait 500ms for an ``OK'' result.
2368
2369 Class1RecvIdentTimer
2370 The time, in milliseconds, to wait for an initial DCS when re‐
2371 ceiving a facsimile. CCITT recommendation T.30 specifies this
2372 as the value of the T1 timer. However, adaptive answering
2373 schemes such as that described above under the AdaptiveAnswer
2374 parameter may require that this timer be shortened.
2375
2376 Class1RestrictPoorDestinations¹
2377 The threshold of destination audio quality corruption at which
2378 resolution support should be restricted to ``normal'' and color
2379 support should be disabled. This is intended to reduce the
2380 amount of image data that will be attempted to be sent to a des‐
2381 tination with poor audio quality, thus reducing the call dura‐
2382 tion, and should improve the likelihood of successful session
2383 completion. The threshold is the ratio, expressed as an integer
2384 percentage, of data indicated as corrupt by the destination com‐
2385 pared to total data sent to the destination in the previous
2386 three fax sessions. Although Class1RestrictPoorDestinations is
2387 functional for destinations with a history of both ECM and non-
2388 ECM sessions, the ECM session history is preferred and weighted
2389 considerably higher than non-ECM session history.
2390
2391 Class1RestrictPoorSenders
2392 The threshold of sender audio quality corruption at which reso‐
2393 lution support should be restricted to ``normal'' and color sup‐
2394 port should be disabled. This is intended to reduce the amount
2395 of image data that a sender with poor audio quality will attempt
2396 to transmit, thus reducing the call duration, and should improve
2397 the likelihood of successful session completion. The threshold
2398 is the ratio, expressed as an integer percentage, of corrupt
2399 data received compared to total data received from the current
2400 sender in the previous three fax sessions. Class1RestrictPoorS‐
2401 enders requires that a CallIDType of ``calling-number'' be con‐
2402 figured in order to match a sender with an entry in the info
2403 database.
2404
2405 Class1RMPersistence
2406 The number of times that an attempt to receive the high-speed
2407 data carrier should be made, resulting in +FCERROR, before the
2408 low-speed message carrier reception is attempted. Some modems
2409 are quick to (perhaps incorrectly) return +FCERROR, and for
2410 those modems a value of 2 or 3 should be used. For modems that
2411 are not quick to return +FCERROR, a value of 1 should be used.
2412 Proper tuning of this can provide a type of "adaptive reception
2413 control" for modems that accurately return +FCERROR without sup‐
2414 porting Class1AdaptRecvCmd. For those modems that support
2415 Class1AdaptRecvCmd, Class1RMPersistence should probably not be
2416 set at 1, although +FCERROR should almost never occur with such
2417 modems.
2418
2419 If the modem does not support the reporting of +FCERROR or adap‐
2420 tive reception control, then Class1RMPersistence should probably
2421 be set at 0, which causes the timeout looking for the high-speed
2422 data carrier to be shortened, thus increasing the likelihood of
2423 recovery from any dissynchronization. When Class1RMPersistence
2424 is other than 0 it is assumed that the +FCERROR reporting or
2425 Class1AdaptRecvCmd is functional and therefore the timeout look‐
2426 ing for the high-speed data carrier is lengthened.
2427
2428 Class1SwitchingCmd
2429 The command used to ensure that the sending facsimile device has
2430 turned off its modulator (i.e. loss-of-carrier) as recommended
2431 by T.31: Appendix II.1.
2432
2433 Class1SFLOCmd
2434 The command to setup software (XON/XOFF) flow control between
2435 DTE and DCE when operating in Class 1. This command is issued
2436 immediately after sending the Class1Cmd to switch the modem to
2437 Class 1 operation.
2438
2439 Class1SSLFaxCert
2440 The relative path to the PEM certificate file for SSL Fax use.
2441 This is normally created by faxsetup(8C).
2442
2443 Class1SSLFaxClientTimeout
2444 The time, in milliseconds, that the SSL Fax server should wait
2445 for the client connection to complete before abandoning SSL Fax
2446 and proceeding with a traditional fax operation.
2447
2448 Class1SSLFaxInfo
2449 The formatted hostname and port number for SSL Fax connection
2450 for this modem. (Each modem should use a different port num‐
2451 ber.) This instructs the remote system on how to connect
2452 through the IP network to this system as an SSL Fax server.
2453 Firewalling and port forwarding should be carefully addressed
2454 prior to using this configuration. The format for Class1SSLFax‐
2455 Info is ``<hostname>:<port>''. During fax protocol this infor‐
2456 mation will be made into a URL by prepending ``ssl://<pass‐
2457 code>@'' and communicated as part of CSA and TSA signals for SSL
2458 Fax. (``<passcode>'' is a string of random characters.)
2459
2460 ``<hostname>'' may be specified as an IP address; however, in
2461 such cases it should be bracketed, for example: ``[<ad‐
2462 dress>]:<port>''. This prevents confusion, especially with IPv6
2463 addresses.
2464
2465 Either the sender or the receiver (or both) must signal an SSL
2466 Fax URL in order for SSL Fax to operate. If no Class1SSLFaxInfo
2467 is configured for one system, then it is always dependent on the
2468 remote systems to operate as the SSL Fax server.
2469
2470 Class1SSLFaxProxy
2471 The formatted password, hostname, and port number (``<pass‐
2472 code@<hostname>:<port>'') for an SSL Fax proxy connection to be
2473 used if no Class1SSLFaxInfo is configured. This causes HylaFAX
2474 to establish an outbound SSL Fax connection to a configured SSL
2475 Fax proxy server when fax connections to remote systems support
2476 SSL Fax. The proxy server will provide the proxied SSL Fax URL
2477 back to HylaFAX which will be used in CSA and TSA signals for
2478 SSL Fax.
2479
2480 Class1SSLFaxServerTimeout
2481 The time, in milliseconds, that the SSL Fax client should wait
2482 for the connection to the server to complete before abandoning
2483 SSL Fax and proceeding with a traditional fax operation. Usu‐
2484 ally this must be shorter than 3 seconds.
2485
2486 Class1SSLFaxSupport
2487 Whether or not to enable SSL Fax support.
2488
2489 Class1TCFMaxNonZero
2490 The maximum percentage of non-zero data bytes permitted in an
2491 acceptable received TCF. Note that this number does not include
2492 any leading non-zero data in the received data. See also
2493 Class1TCFMinRun.
2494
2495 Class1TCFMinRun
2496 The duration, in milliseconds, of the minimum run of zero data
2497 in an acceptable received TCF. This value should be specified
2498 according to a 1.5 second transmission of zero data (i.e. it
2499 should be between 0 and 1500). See also Class1TCFMaxNonZero and
2500 Class1TCFMinRunECMMod.
2501
2502 Class1TCFMinRunECMMod
2503 The factor by which Class1TCFMinRun should be modified in the
2504 case of an ECM session. As ECM protocol allows retransmissions
2505 it is commonly faster to accept a lesser-quality data stream and
2506 the subsequent retransmisisons than it is to allow the communi‐
2507 cation speed to slow down (where the demodulation may still not
2508 produce an ideal data stream, anyway).
2509
2510 Class1TCFRecvHackCmd
2511 If receive failures occur due to +FCERROR just prior to TCF data
2512 reception, setting Class1TCFRecvHackCmd to AT+FRS=1 may help.
2513
2514 Class1TCFRecvTimeout
2515 The maximum time to wait, in milliseconds, for the first byte
2516 and again for the entirety of the Training Check (TCF) message
2517 data that is received during the training phase of the facsimile
2518 reception protocol.
2519
2520 Class1TMConnectDelay
2521 The time, in milliseconds, to delay after receiving CONNECT fol‐
2522 lowing +FTM before sending image data. T.31 8.3.3 requires the
2523 modem to respond with CONNECT before the modulation training
2524 pattern. If the modem cannot buffer all of the data sent to it
2525 before successful modulation training then data, especially dur‐
2526 ing TCF (as it is so short), could be lost. Many modems reason‐
2527 ably do not follow T.31 in this regard, and thus the default is
2528 zero; however its use with such modems would likely have a neg‐
2529 ligible effect. When modems are used that can buffer data dur‐
2530 ing the training period then the default is also functional.
2531
2532 The modulator training time period varies by modulation and bi‐
2533 trate. V.17 fast train and V.29 both take less than 400 ms.
2534 However, V.27ter can take twice that long, and V.17 slow train
2535 can take four times as long. Thus, the early CONNECT stipula‐
2536 tion by T.31 8.3.3 becomes programmatically cumbersome for the
2537 DTE.
2538
2539 T.31 8.3.3 requires the modem to transmit constant ones after
2540 modulator training completes and before the DTE supplies data.
2541 Therefore, some receivers have become dependent on seeing a
2542 1-to-0 bit transition at the outset of Phase C ECM data, and
2543 such an expectation for TCF would also not be surprising (as
2544 both Phase C ECM and TCF involve predictable patterns). There‐
2545 fore, when not using SSL Fax or SuperG3 V.34-Fax, HylaFAX trans‐
2546 mits a single byte of ones at the outset of both TCF and Phase C
2547 ECM image data to ensure that there is a 1-to-0 bit transition.
2548 Such does not seem necessary at the outset of non-ECM Phase C
2549 data as the data pattern is not so predictable and any data loss
2550 is likely to go unnoticed.
2551
2552 Class1ValidateV21Frames
2553 Whether or not to use the FCS bits of received V.21 HDLC frames
2554 to check the validity of the frame itself. Most Class 1 modems
2555 perform this check independently (per T.31 7.4) and do not re‐
2556 quire this feature to be enabled.
2557
2559 The following parameters are specific to the configuration of Class 2-
2560 and Class 2.0-style modems:
2561
2562 Class2Cmd
2563 The command to set the modem into Class 2/2.0 operation.
2564
2565 Class2AbortCmd
2566 The command to use to abort an established session. After using
2567 this command to abort a session, the fax software will send
2568 ModemOnHookCmd and then reset the modem by dropping DTR .
2569
2570 Class2APCmd
2571 A largely unused option for modems supporting ITU-T.32, Class
2572 2.1, standards. This command would be used to enable sending
2573 and receiving SUB, SEP, and PWD frames.
2574
2575 Class2APQueryCmd
2576 A largely unused option for modems supporting ITU-T.32, Class
2577 2.1, standards. This command would be used to query the capa‐
2578 bilities of sending and receiving SUB, SEP, and PWD frames. The
2579 value ``none'' may be used if the modem does not support any
2580 Class2APQueryCmd.
2581
2582 Class2BORCmd
2583 The command to setup the bit order of sent and received facsim‐
2584 ile data. Usually the command ``AT+FBOR=0'' is used so that
2585 data is sent and received in direct bit order (LSB2MSB). Some
2586 modems, such as the Everex 24/96D, must use reversed bit order
2587 for Phase B and D data exchanges to avoid a bug that results in
2588 garbage data being placed in the padding of EOL codes. The bit
2589 order specified by this command must correspond to the settings
2590 of the ModemSendFillOrder and ModemRecvFillOrder parameters.
2591
2592 Class2BUGCmd
2593 The command to use to enable or disable the tracing of HDLC
2594 frames sent and received by the modem. This tracing information
2595 should be returned to the host in ``+FHR:'' and ``+FHT:'' status
2596 strings. Note that many Class 2 modems do not support this fa‐
2597 cility, which is largely used for diagnostic purposes. The
2598 value ``none'' may be used if the modem does not support any
2599 Class2BUGCmd.
2600
2601 Class2CIGCmd
2602 The command used to set a polling identifier. This string is
2603 inserted into the format ``%s="<id>"''.
2604
2605 Class2CQCmd
2606 The command to use to set up parameters for copy quality check‐
2607 ing. For example, for an Everex 24/96D modem this parameter
2608 might be set to ``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''.
2609 Class2CQCmd should be configured to set-up all available copy
2610 quality services available per Class2CQQueryCmd. To disable
2611 features that are available, configure Class2CQQueryCmd with a
2612 ``!'', and then set Class2CQCmd accordingly.
2613
2614 Class2CQQueryCmd
2615 The command to send to the modem to get the copy quality capa‐
2616 bilities string. If the parameter begins with a ``!'', then the
2617 remainder of the string is taken to be the capabilities string
2618 and no command is issued to the modem; this can be used together
2619 with the Class2CQCmd to force copy quality checking to be done
2620 in the server instead of in the modem. See also PercentGood‐
2621 Lines and MaxConsecutiveBadLines for parameters used to do
2622 server copy quality checking. If copy quality checking is con‐
2623 figured to be done by the modem then it is not done by the
2624 server.
2625
2626 Class2CRCmd
2627 The command to use to enable the reception of facsimile.
2628
2629 Class2DCCCmd
2630 The command used to set modem capabilities. This string is in‐
2631 serted into the format ``%s=vr,br,wd,ln,df,ec,bf,st''.
2632
2633 Class2DCCQueryCmd
2634 The command to send to the modem to get the Class 2/2.0 capabil‐
2635 ities. If the parameter begins with a ``!'', then the remainder
2636 of the string is taken to be the capabilities string and no com‐
2637 mand is issued to the modem.
2638
2639 Class2DDISCmd
2640 The command to set session parameters before dialing. This
2641 string is inserted into the format
2642 ``%s=vr,br,wd,ln,df,ec,bf,st''. Setting this parameter enables
2643 support for Class 2 modems that do not properly implement the
2644 ``AT+FDIS'' command by setting up session parameters before di‐
2645 aling the telephone.
2646
2647 Class2DISCmd
2648 The command used to set the current session parameters. This
2649 string is inserted into the format
2650 ``%s=vr,br,wd,ln,df,ec,bf,st''.
2651
2652 Class2ECMType
2653 The interpretation of the EC parameter in the modem DCC response
2654 varies between the Class 2, ``2'', and Class 2.0, ``2.0'', spec‐
2655 ifications. This configuration parameter allows the administra‐
2656 tor to specify which type to use. The corresponding specifica‐
2657 tion type is used by default.
2658
2659 Class2HexNSF
2660 Whether or not to parse the NSF strings reported by the modem
2661 using hexadecimal values. By default, they are parsed as hexa‐
2662 decimal values.
2663
2664 Class2HFLOCmd
2665 The command to setup hardware (RTS/CTS) flow control between DTE
2666 and DCE when operating in Class 2/2.0. This command is issued
2667 immediately after sending the Class2Cmd to switch the modem to
2668 Class 2/2.0 operation. For Class 2.0 operation the default is
2669 ``AT+FLO=2''.
2670
2671 Class2JBIGSupport
2672 Whether or not to enable support for T.85 monochrome facsimile
2673 with JBIG compression. Options are ``true'' for support in both
2674 sending and receiving, ``false'' for no support, ``send'' for
2675 support only in sending, and ``receive'' for support only in re‐
2676 ceiving. If the modem supports JBIG, and during the build
2677 process a compatible JBIG library was found then send support is
2678 enabled by default. If the modem supports JBIG, and during the
2679 build process the TIFF tools are found to support JBIG then re‐
2680 ceive support is enabled by default.
2681
2682 Class2JPEGSupport
2683 Whether or not to enable and utilize the JPEG support found in
2684 the modem.
2685
2686 Class2LIDCmd
2687 The command used to set the local identifier string. This
2688 string is inserted into the format ``%s="<id>"''
2689
2690 Class2MINSPCmd
2691 The command used to set the minimum acceptable speed to be nego‐
2692 tiated for transmitting page data. This string is inserted into
2693 the format ``%s=<speed>''
2694
2695 Class2NFLOCmd
2696 The command to setup no flow control between DTE and DCE when
2697 operating in Class 2/2.0. This command is issued immediately
2698 after sending the Class2Cmd to switch the modem to Class 2 oper‐
2699 ation. For Class 2.0 operation the default is ``AT+FLO=0''.
2700
2701 Class2NRCmd
2702 (Class 2.0 only) The command to setup negotiation message re‐
2703 porting. For the correct operation of the Class 2.0 driver this
2704 command must enable the reporting of: receiver parameters,
2705 transmitter parameters, and ID strings. It is not necessary to
2706 enable reporting of non-standard frames for correct operation of
2707 the Class 2.0 driver.
2708
2709 Class2PACmd
2710 A largely unused option for modems supporting ITU-T.32, Class
2711 2.1, standards. This command would be used to set up the
2712 polling address string enabled by the Class2APCmd.
2713
2714 Class2PHCTOCmd
2715 The command to use to set the Phase C timeout parameter (in sec‐
2716 onds). The value ``none'' may be used if the modem does not
2717 support any Class2PHCTOCmd.
2718
2719 Class2PIECmd
2720 (Class 2.0 only) The command to use to control procedure inter‐
2721 rupt handling. Procedure interrupts should be disabled because
2722 HylaFAX does not provide a mechanism for dispatching procedure
2723 interrupts to an administrator.
2724
2725 Class2PTSCmd
2726 The command to use to set the received page status code. When
2727 copy quality checking is done in the host, this command may be
2728 used to control the post-page response delivered to the sender.
2729 Beware that some modems do not properly implement this command
2730 in which case the server should be configured to not do copy
2731 quality check: see the PercentGoodLines and MaxConsecutiveBad‐
2732 Lines parameters to understand how to defeat copy quality check‐
2733 ing.
2734
2735 Class2PTSQueryCmd
2736 The command to use to query the received page status code. This
2737 command may be used to determine the post-page response returned
2738 from the receiver. Beware that some modems do not properly im‐
2739 plement this command in which case this setting should be set to
2740 ``none''.
2741
2742 Class2PWCmd
2743 A largely unused option for modems supporting ITU-T.32, Class
2744 2.1, standards. This command would be used to set up the pass‐
2745 word string enabled by the Class2APCmd.
2746
2747 Class2RecvDataTrigger
2748 The character to send to the modem to trigger the transmission
2749 of received data from the modem to the host. This character is
2750 specified to be DC1 (octal 21) in the draft specification 2388-A
2751 and DC2 (octal 22) in the 2388-B specification. Most Class 2
2752 modems accept DC1 or both DC1 and DC2. Some modems however only
2753 accept DC2. Note that string parameters may use C-style escape
2754 sequences, so DC2, for example, would be specified as
2755 ``"\022"''.
2756
2757 Class2RELCmd
2758 The command to use to enable the delivery of byte-aligned EOL
2759 codes in received facsimile. If this parameter is defined, then
2760 received facsimile data will be marked to indicate that EOL
2761 codes are byte-aligned; otherwise they will be marked as not
2762 (necessarily) having byte-aligned codes.
2763
2764 Class2RTFCC
2765 Whether or not to enable MultiTech's Real-Time Fax Compression
2766 Conversion which is available in later firmware revisions for
2767 the MT5634ZBA-V92, MT5634ZPX-PCI-V92, and other models. RTFCC
2768 allows HylaFAX to convert the image compression between MH MR
2769 and MMR formats regardless of how faxq formatted the image file.
2770 If RTFCC is available with your firmware, then the response to
2771 ``AT+FFC=?'' is non-zero. Note that when using RTFCC, the com‐
2772 pression format of the file will be ignored, thus the ``-1'',
2773 ``-2'', and ``-3'' options for sendfax, ps2fax, and others will
2774 not influence the actual negotiated session parameters.
2775
2776 Class2SACmd
2777 A largely unused option for modems supporting ITU-T.32, Class
2778 2.1, standards. This command would be used to set up the desti‐
2779 nation subaddress string enabled by the Class2APCmd.
2780
2781 Class2SendRTC
2782 Whether or not to append an explicit ``Return To Control'' (RTC)
2783 signal to the page data when transmitting. The Class 2 and
2784 Class 2.0 specs (i.e. SP-2388-A and TIA/EIA-592) state that the
2785 modem will append RTC when it receives the post-page message
2786 command from the host; this parameter is provided in case the
2787 modem does not correctly implement this.
2788
2789 Class2SFLOCmd
2790 The command to setup software (XON/XOFF) flow control between
2791 DTE and DCE when operating in Class 2/2.0. This command is is‐
2792 sued immediately after sending the Class2Cmd to switch the modem
2793 to Class 2/2.0 operation. For Class 2.0 operation the default
2794 is ``AT+FLO=1''.
2795
2796 Class2SPLCmd
2797 The command to use to enable a polling request. The value
2798 ``none'' may be used if the modem does not support any
2799 Class2SPLCmd.
2800
2801 Class2TBCCmd
2802 The command to use to enable stream-mode communication between
2803 the host and modem. The value ``none'' may be used if the modem
2804 does not support any Class2TBCCmd.
2805
2806 Class2UseLineCount
2807 Whether or not to use the line count reported to HylaFAX by the
2808 modem firmware decoder.
2809
2810 Class2UseHex
2811 Whether or not to parse the capabilities strings reported by the
2812 modem using hexadecimal values. By default, they are parsed as
2813 decimal values.
2814
2815 Class2XmitWaitForXON
2816 Whether or not to wait for an XON character from the modem be‐
2817 fore sending facsimile data to the modem for transmission. Note
2818 that this is only relevant for modems that conform to the Class
2819 2 spec (i.e. SP-2388-A). The Class 2.0 specification states
2820 that the host may transmit data immediately upon receiving CON‐
2821 NECT and that no XON character will be sent to the host.
2822
2824 The following parameters are specific to the configuration and opera‐
2825 tion of the IXO/TAP and UCP support for sending pager messages and GSM
2826 SM. Parameter not used for UCP are marked with ``(IXO/TAP only)''.
2827
2828 PagerSetupCmds
2829 The commands to send to a modem to prepare the modem for a call
2830 to pager service provider. Typically these commands place di‐
2831 rect the modem to communicate with the service provider at 300
2832 bps using the V.21 protocol. Per-service provider command
2833 strings can be setup in the info database; see hylafax-info(5F).
2834
2835 PagerMaxMsgLength
2836 The maximum length for a pager text message. Messages longer
2837 than this number are truncated. Per-service provider message
2838 lengths can be setup in the info database; see hylafax-info(5F).
2839
2840 IXOService
2841 (IXO/TAP only) The service identification string transmitted as
2842 part of the IXO/TAP protocol.
2843
2844 IXODeviceID
2845 (IXO/TAP only) The terminal device identification string trans‐
2846 mitted as part of the IXO/TAP protocol.
2847
2848 IXOMaxUnknown
2849 The maximum number of unrecognized messages that will be ac‐
2850 cepted at various stages of the IXO/TAP protocol before the
2851 sender will abort and hang up the phone.
2852
2853 IXOIDProbe
2854 (IXO/TAP only) The time, in seconds, between sending a ``\r''
2855 during the initial ID recognition sequence of the IXO/TAP proto‐
2856 col.
2857
2858 IXOIDTimeout
2859 (IXO/TAP only) The maximum time, in seconds, to wait for the
2860 initial ID response from the service provider.
2861
2862 IXOLoginRetries
2863 (IXO/TAP only) The maximum number of attempts to login to a ser‐
2864 vice provider.
2865
2866 IXOLoginTimeout
2867 (IXO/TAP only) The maximum time, in seconds, to wait to complete
2868 the login procedure.
2869
2870 IXOGATimeout
2871 (IXO/TAP only) The maximum time, in seconds, to wait for a Go-
2872 Ahead message from the service provider.
2873
2874 IXOXmitRetries
2875 The maximum number of times to try sending a text message block
2876 in a single call.
2877
2878 IXOXmitTimeout
2879 The maximum time, in seconds, to try transmitting a text message
2880 block.
2881
2882 IXOAckTimeout
2883 (IXO/TAP only) integer 30 IXO: max
2884 time to wait for msg block ack (secs) The maximum time, in sec‐
2885 onds, to wait for an acknowledgement to a transmitted message.
2886
2888 Per-modem configuration files are typically derived from prototype
2889 files that have been created for known modems. These prototype files
2890 are kept in the config subdirectory and, by convention, have names that
2891 identify a brand or type of modem and the DTE-DCE flow control scheme
2892 the prototype files configures. The faxaddmodem(8C) program that is
2893 used to configure a modem for use with HylaFAX selects a prototype con‐
2894 figuration file using information retrieved from the modem and comments
2895 embedded in the prototype files. For Class 1 modems the product ID
2896 code returned by the command ``ATI0'' and the response from the command
2897 ``ATI3'' are used to select a prototype configuration file, while for
2898 Class 2 modems the manufacturer and model as returned by ``AT+FMFR?''
2899 and ``AT+FMDL?'', respectively, are used (or ``AT+FMI?'' and
2900 ``AT+FMM?'' for Class 2.0 modems).
2901
2902 A Class 1 prototype configuration file is identified for use by faxad‐
2903 dmodem by searching for a comment of the form:
2904 # CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport
2905 In this example ``144'' is the product ID code for an AT&T DataPort mo‐
2906 dem, ``.*'' is a regular expression matched against the result string
2907 returned by the ``ATI3'' command, and ``RTSCTS'' indicates the modem is
2908 configured to use hardware flow control during fax operation. The re‐
2909 mainder of the line is evaluated by the sh(1) and used to specify the
2910 modem's manufacturer and model (since Class 1 modems do not have stan‐
2911 dard commands to query this information).
2912
2913 Class 2 and 2.0 prototype configuration files match the string ``manu‐
2914 facturer-model-flowcontrol'' against a sh(1) glob pattern specified in
2915 the configuration file, where manufacturer and model are the strings
2916 returned by querying the modem and flowcontrol is either ``RTSCTS'' for
2917 hardware flow control or ``XONXOFF'' for software flow control. For
2918 example:
2919 # CONFIG: CLASS2: ZyXEL*-RTSCTS
2920 # CONFIG: CLASS2.0: USRobotics*-XONXOFF
2921 are configuration comments that appear in the prototype file for a
2922 ZyXEL 1496E with Class 2 support, and for a US Robotics Courier modem
2923 with Class 2.0 firmware.
2924
2925 The faxaddmodem program merges server-specific configuration parameters
2926 into a prototype configuration according to comments placed in the pro‐
2927 totype file. All lines between ``BEGIN-SERVER'' and ``END-SERVER''
2928 comments are placed with the appropriate server configuration parame‐
2929 ters. Note that this means modem-related configuration parameters must
2930 be placed outside this area of the file.
2931
2933 faxaddmodem(8C), faxq(8C), faxgetty(8C), faxsend(8C), hylafax-
2934 server(5F)
2935
2936
2937
2938 $Date: 2013-02-26 15:46:36 -0800 (Tue, 26 Feb 20H1Y3L)AF$AX-CONFIG(5F)