NAME
config - HylaFAX configuration database
DESCRIPTION
HylaFAX uses a configuration file for the central queueing agent and
for each facsimile modem attached to a machine. These files contain
information about the modems and about how the HylaFAX server processes
that service these modem should operate. Configuration files are
located in the etc subdirectory. The configuration file for the
faxq(8) program is named config. The per-modem configuration files
used by the faxgetty(8), faxsend(8), and pagesend(8) programs have
names of the form config.devid, where devid is an identifier derived
from the name of the modem's device file; for example ttym2 for
/dev/ttym2, term_10 for /dev/term/10.
Configuration files have a simple format and are entirely ASCII. A
configuration parameter is of the form
tag: value
where a tag identifies a parameter and a value is either a string,
number, or boolean value. Comments are introduced by the ``#''
character and extend to the end of the line. String values start at
the first non-blank character after the ``:'' and continue to the first
non-whitespace character or, if whitespace is to be included, may be
enclosed in quote marks (``"''). String values enclosed in quote marks
may also use the standard C programming conventions for specifying
escape codes; e.g. ``\n'' for a newline character and ``\xxx'' for an
octal value. Numeric values are specified according to the C
programming conventions (leading ``0x'' for hex, leading ``0'' for
octal, otherwise decimal), except for a few parameters, such as
RecvFileMode, whose value is interpreted strictly as an octal number
and PageChopThreshold whose value is interpreted strictly as a floating
point number. Boolean values are case insensitive. For a true value,
either ``Yes'' or ``On'' should be used. For a false value, use ``No''
or ``Off''.
The following table itemizes the tags and the expected type of their
value. The first part lists items specific to the operation of each
server, while the second part has items related to the servicing of the
modem. Parameters marked with a 1 are used only by the HylaFAX
scheduler process and should appear only in the file named config.
Parameters marked with a 2 are used by both the scheduler and the per-
device applications and so should appear in all appropriate
configuration files (i.e. config and any per-device files that make
sense). Parameters not otherwise marked should appear only in per-
device configuration files. More detailed information about each item
is given following the table.
Tag Type Default Description
AdaptiveAnswer boolean No enable adaptive answer of inbound calls
AdminGroup string faxadmin System user group for administration (if PAM enabled)
AnswerRotary string Any alternatives for answering calls
AnswerBias integer - bias to apply to successful rotary answer
AreaCode2 string - local area code
AuditHook1 string - command to run for faxq event auditing
BadPageHandlingMethod string RTN-SAVE bad page received handling method
BatchLogs1 boolean Yes keep all session logs of a batch in a single log
CallIDAnswerLength integer - answer call when CallIDPattern received
CallIDPattern strint - call identification pattern string
CIDName string - equivalent to CallIDPattern (2)
CIDNameAnswerLength integer 0 equivalent to CallIDAnswerLength (2)
CIDNumber string - equivalent to CallIDPattern (1)
CIDNumberAnswerLength integer 0 equivalent to CallIDAnswerLength (1)
ClocalAsRoot boolean No set CLOCAL using root UID
ContCoverCmd1 string bin/mkcover continuation cover page generation script
ContCoverPage1 string - continuation cover page template filename
CountryCode2 string - local country code
CountSkippedPages boolean Yes Count skipped pages in the page counts/totals when sending
DestControls1 obsolete - Obsoleted by JobControl
DeviceMode octal 0600 protection mode to use for modem device
DialStringRules2 string - dial string rules file
DistinctiveRings string - configuration for distinctive ring cadences
DRingOff string - distinctive ring ``off'' cadence indicator
DRingOn string - distinctive ring ``on'' cadence indicator
DynamicConfig string - script for dynamic receive configuration
EGettyArgs string - arguments passed to external getty program
FAXNumber string - facsimile modem phone number
FaxRcvdCmd string bin/faxrcvd notification script for received facsimile
GettyArgs string - arguments passed to getty program
Include2 string - include another file
InternationalPrefix2 string - dialing prefix for international calls
JobControlCmd1 string - job control command
JobReqBusy integer 180 requeue interval for BUSY dial result
JobReqDataConn integer 300 requeue interval for data connection dial result
JobReqNoAnswer integer 300 requeue interval for NO ANSWER dial result
JobReqNoCarrier integer 300 requeue interval for NO CARRIER dial result
JobReqNoFCon integer 300 requeue interval for carrier without +FCON dial result
JobReqOther2 integer 300 requeue interval for ``other'' problems
JobReqProto integer 60 requeue interval after fax protocol error
JobRetryBusy integer - number of retries for BUSY dial result
JobRetryDataConn integer - number of retries for data connection dial result
JobRetryNoAnswer integer - number of retries for NO ANSWER dial result
JobRetryNoCarrier integer 1 number of retries for NO CARRIER dial result
JobRetryOther integer - number of retries for ``other'' problems
LockDataCalls boolean Yes lock modem for the duration of an inbound data call
LockVoiceCalls boolean Yes lock modem for the duration of an inbound voice call
LogCalls boolean Yes Log all incoming calls as CALL records in xferfaxlog
LogFacility2 string daemon syslog facility name for ServerTracing messages
LogFileMode octal 0600 protection mode to use for session log files
LocalIdentifier string - local station identification string
LongDistancePrefix string - dialing prefix for long distance calls
MaxBatchJobs1 integer 64 max jobs in a batch
MaxConcurrentCalls1 integer 1 max concurrent jobs to process for a destination
MaxConsecutiveBadLines integer 5 max consecutive bad rows for OK page quality
MaxDials1 integer 12 max phone calls to make to transmit a job
MaxRecvPages integer unlimited max pages to permit in a receive
MaxSendPages1 integer unlimited max pages to permit in a send
MaxSetupAttempts integer 2 max attempts to initialize a modem
MaxTries1 integer 3 max attempts to transmit a job
MinAcceptedLineCount integer 10 min number of rows for OK page quality
ModemGroup1 string - define a name for a set of modems
ModemPriority integer 255 scheduling priority for outbound jobs
ModemReadyState string R ``ready state'' sent by faxgetty
ModemRingResponse string - command to respond after hearing RING
ModemRingsBeforeResponse integer 0 the number of rings before ModemRingResponse
NoAnswerVoice boolean false disable the answering of voice-indicated calls
NoCarrierRetrys integer - Deprecated - See JobRetryNoCarrier
NotifyCmd1 string bin/notify user notification command script
PageChop1 string last control automatic truncation of trailing whitespace
PageChopThreshold1 float 3.0 whitespace truncation threshold (inches)
PCL2FaxCmd1 string bin/pcl2fax PCL RIP command script
PercentGoodLines integer 95 percentage of good rows for OK page quality
PollLockPokeModem boolean false check on modem every time the lock is polled
PollLockWait2 integer 30 polling interval for lockfile presence/removal (secs)
PollModemWait integer 30 polling interval when in ``modem wait'' state (secs)
PollRcvdCmd string bin/pollrcvd delivery script for facsimile received by polling
PostScriptTimeout1 integer 300 timeout on POSTSCRIPT interpreter runs (secs)
PriorityScheduling boolean see below use available priority job scheduling mechanism
PS2FaxCmd1 string bin/ps2fax POSTSCRIPT RIP command script
QualifyCID obsolete - See DynamicConfig and RejectCall for rejecting calls
QualifyPWD string - file of PWD patterns for qualifying senders
QualifyTSI string - file of TSI patterns for qualifying senders
RecvDataFormat string adaptive format for received facsimile data
RecvFileMode octal 0600 protection mode to use for received facsimile files
RejectCall boolean false Reject the current call
RingData string - distinctive ring data call identifier
RingExtended string - extended ring message identifier
RingFax string - distinctive ring fax call identifier
RingsBeforeAnswer integer 0 rings to wait before answering phone
RingTimeout integer 6000 timeout in ms after RING before reset
RingVoice string - distinctive ring voice call identifier
RTNHandlingMethod string Retransmit-IgnoreRTN signal handling method
SaveUnconfirmedPages boolean true save or delete unconfirmed pages
SendFaxCmd1 string bin/faxsend fax transmit command script
SendPageCmd1 string bin/pagesend pager transmit command script
SendUUCPCmd1 string bin/uucpsend UUCP transmit command script
ServerTracing2 integer 1 non-session server tracing
SessionTracing2 integer 1 send and receive session tracing
SpeakerVolume string Quiet volume level for modem speaker
TagLineCoverNumString string - String substition when not counting cover pages
TagLineFont string - tag line font filename
TagLineFormat string see below tag line format string
TIFF2FaxCmd1 string bin/tiff2fax TIFF converter command script
TimeOfDay1 string Any default time-of-day restrictions
Use2D1 boolean Yes restrict/permit use of 2D-encoded fax data
UseJobTSI boolean No use job-specified TSI instead of LocalIdentifier
UseJobTagLine boolean Yes Allow use of job-specified Tagline instead of TagLineFormat
UUCPLockMode2 octal 0600 protection mode for UUCP lock files
UUCPLockDir2 string see below UUCP lockfile directory
UUCPLockTimeout2 integer 30 time before removing stale UUCP lockfile
UUCPLockType2 string see below UUCP lockfile type
VGettyArgs string - arguments passed to voice getty program
WedgedCmd1 string bin/wedged command to run when modem is wedged
ModemAnswerCmd string ATA command for answering phone
ModemAnswerDataBeginCmd string - command for start of answered data call
ModemAnswerDataCmd string ATA command for answering data call
ModemAnswerDialCmd string ATA command for answering data call
ModemAnswerFaxBeginCmd string - command for start of answered fax call
ModemAnswerFaxCmd string ATA command for answering fax call
ModemAnswerResponseTimeout integer 180000 answer command timeout (ms)
ModemAnswerVoiceBeginCmd string - command for start of answered voice call
ModemAnswerVoiceCmd string ATA command for answering voice call
ModemATCmdDelay integer 0 delay before sending modem an AT cmd (ms)
ModemBaudRateDelay integer 10 delay (ms) after setting baud rate
ModemClassQueryCmd string AT+FCLASS=? command for querying modem services
ModemCommaPauseTimeCmd string ATS8=2 command for setting time to pause for ``,'' in dialing string
ModemDialCmd string ATDT%s command for dialing (%s for number to dial)
ModemDialResponseTimeout integer 180000 dialing command timeout (ms)
ModemDoPhaseCDebug boolean No query modem responses during Phase C transmit
ModemDTRDropDelay integer 75 delay (ms) between DTR OFF and DTR ON
ModemEchoOffCmd string ATE0 command for disabling command echo
ModemFlowControl string XONXOFF DTE-DCE flow control scheme
ModemFrameFillOrder string LSB2MSB bit order for HDLC frames
ModemHardFlowCmd string - command for setting hardware flow control between DTE and DCE
ModemMinSpeed string 2400 minimum acceptable transmit speed
ModemMfrQueryCmd string - command for querying modem manufacturer
ModemModelQueryCmd string - command for querying modem model
ModemNoAutoAnswerCmd string ATS0=0 command for disabling auto-answer
ModemNoAutoAnswerCmdDelay integer 0 time, in ms, to pause after a disabling auto-answer
ModemNoFlowCmd string - command for disabling hardware flow control between DTE and DCE
ModemOnHookCmd string ATH0 command for placing phone ``on hook''
ModemPageDoneTimeout integer 180000 page send/receive timeout (ms)
ModemPageStartTimeout integer 180000 page send/receive timeout (ms)
ModemRaiseATCommands boolean Yes raise AT commands in configuration to upper-case
ModemRate integer 19200 baud rate to use for DCE-DTE communication
ModemReadyCmds string - additional final commands when resetting modem
ModemRecvFillOrder string see below bit order for received facsimile data
ModemRecvSuccessCmd string - command to send after a successful reception
ModemResetCmds string - additional commands when resetting modem
ModemResetDelay integer 2600 delay (ms) after placing DTR ON
ModemResultCodesCmd string ATQ0 command for enabling result codes
ModemRevQueryCmd string see below command for querying modem firmware revision
ModemSendBeginCmd string - command to send on establishing carrier
ModemSendFillOrder string LSB2MSB bit order for sending facsimile data
ModemSetVolumeCmd string see below commands for setting modem speaker volume level
ModemSetupAACmd string - command for setting up adaptive answer
ModemSetupDCDCmd string - command for setting up DCD handling
ModemSetupDTRCmd string - command for setting up DTR handling
ModemSoftFlowCmd string - command for setting software flow control between DTE and DCE
ModemSoftResetCmd string ATZ command for doing a soft reset
ModemSoftResetCmdDelay integer 3000 time, in ms, to pause after a soft reset
ModemSoftRTFCC boolean Yes enable software-driven real-time fax compression conversion
ModemType string see below modem type
ModemVerboseResultsCmd string ATV1 command for enabling verbose result codes
ModemWaitForConnect boolean No force server to wait for ``CONNECT'' response on answer
ModemWaitTimeCmd string ATS7=60 command for setting time to wait for carrier when dialing
FaxT1Timer integer 35000 CCITT T.30 T1 timer (ms)
FaxT2Timer integer 7000 CCITT T.30 T2 timer (ms)
FaxT4Timer integer 3100 CCITT T.30 T4 timer (ms)
Class0Cmd string AT+FCLASS=0 Class 0: command to enter class 0
Class1Cmd string AT+FCLASS=1 Class 1: command to enter class 1
Class1Cmd string AT+FCLASS=1.0 Class 1.0: command to enter class 1
Class1AdaptRecvCmd string - Class 1/1.0: command for adaptive reception support
Class1ColorJPEGSupport boolean No Class 1/1.0: to enable color JPEG fax support
Class1EnableV34Cmd string - Class 1/1.0: command to enable V.34-fax support
Class1ECMSupport boolean Yes Class 1/1.0: enable T.30-A ECM support
Class1PersistentECM boolean Yes Class 1/1.0: to continue to correct while in ECM
Class1ECMFrameSize integer 256 Class 1/1.0: image frame size in ECM protocol
Class1ExtendedRes boolean - Class 1/1.0: enable extended resolution support
Class1HasRHConnectBug boolean No Class 1/1.0: modem can report CONNECT incorrectly
Class1HFLOCmd string - Class 1/1.0: command to set hardware flow control
Class1FrameOverhead integer 4 Class 1/1.0: extra bytes in a received HDLC frame
Class1GreyJPEGSupport boolean No Class 1/1.0: to enable grey JPEG fax support
Class1HookSensitivity integer 0 Class 1/1.0: times to ignore on-hook detection
Class1JBIGSupport string see below Class 1/1.0: to enable monochrome JBIG fax support
Class1MRSupport boolean Yes Class 1/1.0: enable 2-D MR support
Class1MMRSupport boolean Yes Class 1/1.0: enable 2-D MMR support
Class1NFLOCmd string - Class 1/1.0: command to set no flow control
Class1PageLengthSupport integer 7 Class 1/1.0: coded value for modem page length support
Class1PageWidthSupport integer 7 Class 1/1.0: coded value for modem page width support
Class1RecvAbortOK integer 200 Class 1/1.0: max wait (ms) for ``OK'' after recv abort
Class1RecvIdentTimer integer 40000 Class 1/1.0: max wait (ms) for initial ident frame
Class1RMPersistence integer 2 Class 1/1.0: times to attempt high-speed carrier recv
Class1SFLOCmd string - Class 1/1.0: command to set software flow control
Class1PPMWaitCmd string AT+FTS=7 Class 1/1.0: command to stop and wait before PPM
Class1ResponseWaitCmd string - Class 1/1.0: command to wait before TCF response
Class1Resolutions integer 0x7F Class 1/1.0: bitmap of supported resolutions
Class1RMQueryCmd string AT+FRM=? Class 1/1.0: command to query modem data reception rates
Class1TCFWaitCmd string AT+FTS=7 Class 1/1.0: command to stop and wait before TCF
Class1TMQueryCmd string AT+FTM=? Class 1/1.0: command to query modem data transmission rates
Class1EOPWaitCmd string AT+FTS=9 Class 1/1.0: command to stop and wait before EOP
Class1ModemHasDLEBug boolean No Class 1/1.0: modem fails to double DLE in V.21
Class1MsgRecvHackCmd string "" Class 1/1.0: command to avoid +FCERROR before image data
Class1TCFRecvHackCmd string "" Class 1/1.0: command to avoid +FCERROR before TCF
Class1TCFMaxNonZero integer 10 Class 1/1.0: max% of non-zero data in good TCF
Class1TCFMinRun integer 1000 Class 1/1.0: minimum zero run in good TCF
Class1TCFMinRunECMMod integer 2 Class 1/1.0: modify minimum zero run in ECM by this factor
Class1TCFRecvTimeout integer 4500 Class 1/1.0: max wait (ms) for TCF
Class1TMConnectDelay integer 0 Class 1/1.0: delay between +FTM CONNECT and data transmission
Class1SwitchingCmd string AT+FRS=7 Class 1/1.0: command to ensure silence after HDLC reception
Class1ValidateV21Frames boolean No Class 1/1.0: check FCS against received frames
Class2Cmd string AT+FCLASS=2 Class 2: command to enter class 2/2.0
Class2AbortCmd string AT+FK Class 2: command to abort active session
Class2APCmd string AT+FAP Class 2: enable support for sending and receiving SUB, SEP, and PWD frames
Class2APQueryCmd string AT+FAP=? Class 2: query capabilities for sending and receiving SUB, SEP, and PWD frames
Class2BORCmd string AT+FBOR=0 Class 2: command to setup bit order
Class2BUGCmd string AT+FBUG=1 Class 2: command to enable HDLC frame tracing
Class2CIGCmd string AT+FCIG Class 2: command to set polling identifier
Class2CRCmd string AT+FCR=1 Class 2: command to enable receive capability
Class2CQCmd string - Class 2: command to setup copy quality parameters
Class2CQQueryCmd string AT+FCQ=? Class 2: command to query modem copy quality capabilities
Class2DCCCmd string AT+FDCC Class 2: command to set modem capabilities
Class2DCCQueryCmd string AT+FDCC=? Class 2: command to query modem capabilities
Class2DisableV17Cmd string - Class 2: command to disable V.17 support
Class2DISCmd string AT+FDIS Class 2: command to set session parameters
Class2DDISCmd string - Class 2: command to set session parameters before dialing
Class2ECMType string ``2'' Class 2: ECM specification type to follow
Class2HexNSF boolean Yes Class 2: parse NSF strings as hex values
Class2HFLOCmd string - Class 2: command to set hardware flow control
Class2JPEGSupport boolean No Class 2: use modem JPEG support
Class2LIDCmd string AT+FLID Class 2: command to set local identifier string
Class2MINSPCmd string AT+FMINSP Class 2: command to set minimum transmit speed
Class2NFLOCmd string - Class 2: command to set no flow control
Class2PACmd string AT+FPA Class 2: set polling address string
Class2PHCTOCmd string AT+FPHCTO=30 Class 2: command to set Phase C timeout parameter
Class2PTSCmd string AT+FPTS Class 2: command to set received page status
Class2PWCmd string AT+FPW Class 2: set password string
Class2RecvDataTrigger string ``\21'' Class 2: character to send to trigger recv
Class2RELCmd string - Class 2: command to enable byte-aligned EOL codes
Class2SACmd string AT+FSA Class 2: set destination subaddress string
Class2SendRTC boolean No Class 2: append RTC to page data on transmit
Class2SFLOCmd string - Class 2: command to set software flow control
Class2SPLCmd string AT+FSPL Class 2: command to set polling request
Class2TBCCmd string AT+FTBC=0 Class 2: command to enable stream mode
Class2UseLineCount boolean No Class 2: use the line count from the firmware decoder
Class2UseHex boolean No Class 2: parse capabilities strings as hex values
Class2XmitWaitForXON boolean Yes Class 2: wait for XON before sending facsimile data
Class2Cmd string AT+FCLASS=2.0 Class 2.0: command to enter class 2/2.0
Class2AbortCmd string AT+FKS Class 2.0: command to abort active session
Class2APCmd string AT+FAP Class 2.0: enable support for sending and receiving SUB, SEP, and PWD frames
Class2APQueryCmd string AT+FAP=? Class 2.0: query capabilities for sending and receiving SUB, SEP, and PWD frames
Class2BORCmd string AT+FBO=0 Class 2.0: command to setup bit order
Class2BUGCmd string AT+FBU=1 Class 2.0: command to enable HDLC frame tracing
Class2CIGCmd string AT+FPI Class 2.0: command to set polling identifier
Class2CRCmd string AT+FCR=1 Class 2.0: command to enable receive capability
Class2CQCmd string - Class 2.0: command to setup copy quality parameters
Class2CQQueryCmd string AT+FCQ=? Class 2.0: command to query modem copy quality capabilities
Class2DCCCmd string AT+FCC Class 2.0: command to set modem capabilities
Class2DCCQueryCmd string AT+FCC=? Class 2.0: command to query modem capabilities
Class2DisableV17Cmd string - Class 2.0: command to disable V.17 support
Class2DISCmd string AT+FIS Class 2.0: command to set session parameters
Class2ECMType string ``2.0'' Class 2.0: ECM specification type to follow
Class2HexNSF boolean Yes Class 2.0: parse NSF strings as hex values
Class2HFLOCmd string AT+FLO=2 Class 2.0: command to set hardware flow control
Class2JPEGSupport boolean No Class 2.0: use modem JPEG support
Class2LIDCmd string AT+FLI Class 2.0: command to set local identifier string
Class2MINSPCmd string AT+FMS Class 2.0: command to set minimum transmit speed
Class2NFLOCmd string AT+FLO=0 Class 2.0: command to set no flow control
Class2NRCmd string AT+FNR=1,1,1,1 Class 2.0: command to set negotiation message reporting
Class2PACmd string AT+FPA Class 2.0: set polling address string
Class2PHCTOCmd string AT+FCT=30 Class 2.0: command to set Phase C timeout parameter
Class2PIECmd string AT+FIE=0 Class 2.0: command to set procedure interrupt handling
Class2PWCmd string AT+FPW Class 2.0: set password string
Class2PTSCmd string AT+FPS Class 2.0: command to set received page status
Class2PTSQueryCmd string AT+FPS? Class 2.0: command to query received page status
Class2RecvDataTrigger string ``\22'' Class 2.0: character to send to trigger recv
Class2RELCmd string - Class 2.0: command to enable byte-aligned EOL codes
Class2RTFCC boolean No Class 2.0: enable real-time fax compression conversion
Class2SACmd string AT+FSA Class 2.0: set destination subaddress string
Class2SendRTC boolean No Class 2.0: append RTC to page data on transmit
Class2SFLOCmd string AT+FLO=1 Class 2.0: command to set software flow control
Class2SPLCmd string AT+FSP Class 2.0: command to set polling request
Class2TBCCmd string AT+FPP=0 Class 2.0: command to enable stream mode
Class2UseLineCount boolean No Class 2.0: use the line count from the firmware decoder
Class2UseHex boolean No Class 2.0: parse capabilities strings as hex values
PagerSetupCmds string - commands for setting up modem for a pager call
PagerMaxMsgLength integer 128 max length of a text message
IXOService string ``PG'' IXO: service identification string
IXODeviceID string ``1'' IXO: device identification string
IXOMaxUnknown integer 3 IXO and UCP: max unknown responses before abort
IXOIDProbe integer 2 IXO: time between sending \r during ID sequence (secs)
IXOIDTimeout integer 20 IXO: max time to wait for ID= response (secs)
IXOLoginRetries integer 3 IXO: max attempts to login
IXOLoginTimeout integer 15 IXO: max time to complete login (secs)
IXOGATimeout integer 30 IXO: max time to wait for Go-Ahead response (secs)
IXOXmitRetries integer 3 IXO and UCP: max retries to send text msg block
IXOXmitTimeout integer 15 IXO and UCP: max time to transmit text msg block
IXOAckTimeout integer 30 IXO: max time to wait for msg block ack (secs)
SERVER-ORIENTED CONFIGURATION PARAMETERS
These configuration parameters affect the general operation of the fax
server.
AdaptiveAnswer
Control whether or not an adaptive answering strategy is used
whereby an incoming call is answered in multiple ways according
to the list specified in the AnswerRotary parameter. For
example, if adaptive answering is enabled and AnswerRotary
specifies ``fax data'', then an incoming call will first be
answered as fax using ModemAnswerFaxCmd and then, if that fails,
as data using ModemAnswerDataCmd. If the adaptive answer
strategy is not enabled, then calls are answered using the
appropriate ModemAnswer*Cmd parameter (normally ModemAnswerCmd
for unattended operation). Note that the adaptive answer
strategy depends on many factors that limit its usefulness.
When calls are answered first as fax, it typically only works
with a Class 1 modem because it is important that the sequence
of operations related to answering as fax be completed in a
short enough time that a subsequent answer for data be done
before the caller times out and hangs up the telephone (for this
reason Class1RecvIdentTimer should be set to a value that is
shorter than FaxT1Timer.) Also, note that it is sometimes
necessary to arrange that the phone be placed on-hook between
successive answers; this can typically be done by inserting the
appropriate command at the start of the second and subsequent
ModemAnswer*Cmds.
AdminGroup
Tells PAM what user group is allowed to administer the fax
server. Only useful if the server is compiled with PAM enabled.
AnswerRotary
The sequence of answering techniques the server should ``rotate
through'' when answer incoming calls. Answering techniques are:
Name Description
fax answer a fax call
data answer a data call
voice answer a voice call
extern use the vgetty application to answer a call
any answer a call of any/unknown type
When a call is not answered successfully, the server advances
the rotary to the next specified answering technique. If
AdaptiveAnswer is enabled, the server will try all the answering
techniques for each incoming call. Otherwise, the rotary is
advanced between unsuccessful phone calls. For example, if
AdaptiveAnswer is disabled and AnswerRotary is ``fax data'',
then the calls will initially be answered as fax until the first
call is received that does not appear to be from a fax machine;
after that calls will be answered as if they were from a data
modem until the next unsuccessful call; after which they will
one again be answered as fax. Only the first three techniques
listed are used; any additional ones are (silently) ignored.
See also AnswerBias.
AnswerBias
The index into the AnswerRotary list that the server should
rotate the list to after each successful incoming phone call.
List indices are numbered starting at zero. For example, if
AnswerRotary is ``fax data'' and AnswerBias is 1, then after
each successful inbound call, the next call will be answered as
data.
AreaCode2
The local area code in which the facsimile modem resides. This
value is passed to the dial string rules that are used, for
example, to formulate canonical phone numbers for dialing (see
DialStringRules below.)
AuditHook1
Specifies a program command and an interest specification
indicating which events as described in faxwatch(8) should
trigger the execution of the program. For example, this
configuration:
AuditHook: "bin/hook: J*S*M*R*"
would cause bin/hook to be executed upon every event. The
arguments passed to the hook program are respectively <class>,
<mask>, <id>, and optionally [info] where...
<class> = JOB | SEND | MODEM | RECV
<mask> = the specific event
<id> = id of the job/modem with which the event is associated
[info] = additional information
BadPageHandlingMethod
(Class 1/1.0 only) Specifies how to react to a bad page received
from the remote sender: one of ``RTN'', ``DCN'', or ``RTN-
SAVE''.
If a page is received in non-ECM mode with unacceptable quality
according to PercentGoodLines or MaxConseutiveBadLines then it
can be somewhat difficult to inform the sender of the problem.
Historically, HylaFAX has assumed that signalling RTN to the
sender will accomplish this. However, some senders are
incapable of retransmitting pages, and to reduce burden they
treat an RTN signal as a receipt confirmation and proceed to the
next page without notifying the sending user of the potential
problem in readability on the receive-end. (The assumption
there being that the receiving user will notify the sending user
if there actually is a readability problem.)
A setting of ``RTN'' is the historic behavior and assumes that
an RTN signal will be enough to get the sender to retransmit or
be otherwise informed of a potential readability problem on the
receive-end. The previously-received page data is marked to be
overwritten by the next page data received from the sender.
A setting of ``DCN'' tells HylaFAX to transmit a DCN signal in
response to the post-page message and should trigger a call
abortion by the sender. This should clearly indicate a problem
in page readability to the sender, although the receipt of any
following pages in a later call cannot be guaranteed.
A setting of ``RTN-SAVE'' more closely approximates the behavior
of other fax receivers (especially fax machines). It causes
HylaFAX to send the RTN signal but it saves the previously
received page data and places the next transmitted page data in
another page. This is the default setting. However, this could
result in multiple copies of the same page image being saved in
the same file - if the sender does indeed retransmit the
unacceptable pages during the same call.
BatchLogs1
When sending or receiving multiple documents (denoted by EOM),
this value determines if the session logs span the entire batch
or, if set to no, only contain a single document.
CallIDPattern
A string that identifies the caller's identity in any call
identification messages provided by the modem (such as Caller*ID
or DNIS/DID). The specified string is compared against any
unrecognized status messages received from the modem before
ModemAnswerCmd is sent to the modem. If there is a match, then
the remainder of the message is returned as CallIDn where n
corresponds to the n'th instance that this CallIDPattern is from
the top in the modem configuration file. For example, for the
ZyXEL U-1496 this parameter would be set to
CallIDPattern: ``CALLER NAME: '' (note the trailing space).
If more than one message matches between instances of "RING"
messages, then the message remainders are concatenated.
The special CallID value of "SHIELDED_DTMF" is used in
conjunction with ModemRingResponse and CallIDAnswerLength.
After executing ModemRingResponse, HylaFAX will expect DTMF data
(usually DLE-shielded) for CallIDn until CallIDAnswerLength is
reached. Note that if the modem is in voice mode to hear these
DTMF digits, then it must be returned to fax mode in the
ModemAnswerCmd. In order to prevent this feature from losing
incoming fax calls, if fax sender CNG is detected while waiting
for DTMF or if ten seconds elapse without sufficient DTMF then
the remaining expected digits will be populated by whitespace,
triggering fax answering.
For example, the following settings will cause HylaFAX to enter
voice mode and go off-hook when a RING is detected. It will
then expect four DTMF digits (presumably for routing), and then
it will pause for 100 ms before returning to fax mode and
answering the call.
ModemRingResponse: AT+FCLASS=8;H1
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
ModemAnswerCmd: <delay:100>AT+FCLASS=1;A
For modems that do not support AT+FCLASS=8 (such as some USR
modems) this may be an appropriate equivalent:
ModemRingResponse: "AT#CLS=8\nAT#VLS=4\nATA"
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
ModemAnswerCmd: "<delay:100>AT+FCLASS=1\nATA"
Multiple entries of CallIDPattern are used together in one modem
configuration file in order to capture multiple CallID
responses. For example, the following settings would capture
"NDID" responses from the modem as CallID1, "NMBR" responses
from the modem as CallID2, "NAME" responses as CallID3, and it
would trigger ModemAnswerCmd whenever CallID1 or CallID2 were
longer than 7 or 10 characters, respectively.
CallIDPattern: "NDID="
CallIDAnswerLength: 7
CallIDPattern: "NMBR="
CallIDAnswerLength: 10
CallIDPattern: "NAME="
Note that this example is only given as an example, and probably
would cause unexpected results. Because pattern-matching ends
when ModemAnswerCmd is sent to the modem, if "NDID", "NMBR", and
"NAME" responses came from the modem in that order, and the
"NDID" response was at least 7 characters long, then
ModemAnswerCmd would be sent to the modem immediately following
the "NDID" response, and the "NMBR" and "NAME" responses would
be ignored. Generally only one CallIDAnswerLength item should
be in a modem configuration file.
CallIDAnswerLength
An integer indicating the minimum number of characters in a
CallID matching the previous CallIDPattern to be received when
ModemAnswerCmd is sent to the modem irrespective of any
RingsBeforeAnswer value greater than zero. This allows the
answering of calls which deliver CID/DID data but not RINGs.
For example,
CallIDAnswerLength: ``7''
would cause the call to be answered when CallID2 reached a
length of seven digits. A value of zero for CallIDAnswerLength
disables this feature.
ClocalAsRoot
Control whether operations that set the CLOCAL bit on the modem
device special file are done with the effective user-ID set to
the super-user or the ``fax'' user. By default such operations
are done as the fax user, except under IRIX where they are done
as the super-user (because IRIX disallows manipulation of CLOCAL
by anyone but the super-user).
ContCoverCmd1
The command to invoke to generate a continuation cover page; see
ContCoverPage and mkcover(8).
ContCoverPage1
A template file to use in creating continuation cover pages. If
this parameter is non-null, then the server will pass the
filename to the command specified by ContCoverCmd to generate
cover pages for outbound jobs that are continued after protocol
errors. These cover pages identify the receiver and indicate
that the document is a continued transmission. If this
parameter is not specified or is null, then the server will not
generate continuation cover pages. The specified pathname must
be relative to the top of the fax server's spooling area.
CountryCode2
The local country code in which the facsimile modem resides. As
for AreaCode, this value is passed to the dial string rules for
use in formulating canonical phone numbers for dialing (among
other things.)
CountSkippedPages
If a page range has been specified in the job, and pages are
being skipped during the send, this controls if the pages
skipped are counted in the pages counted and totaled. If
skipped pages are to be counted, it will appear as if the pages
were instantly sent in 0:00 with no data. The tagline counts
will be incremented on skipped pages, and faxq will notify
clients via triggers of them as well. If the are not to be
counted, then tagline page counts will act as if the pages never
existed, and not faxq trigger notifications will be sent.
DeviceMode
The file protection mode that the server should set for the
modem device file. Note that this value is given in octal. The
default value of 0600 implies that only the facsimile user
(usually uucp) can access the modem. See also chmod(2).
DialStringRules2
The pathname of the file that holds the rules for processing
user-specified dial strings; c.f. dialrules(5). The specified
pathname must be relative to the top of the fax server's
spooling area; e.g. etc/dialrules.
DistinctiveRings
Modern distinctive ring support on most modems indicates the
ring cadence rather than the older style of ``RING1'',
``RING2'', etc. To indicate the ring cadence, DRingOn and
DRingOff values are presented by the modem to the faxgetty
process. The modem indicates the entire cadence between
``RING'' indications Like this:
RING
DROF=40
DRON=8
DROF=4
DRON=8
RING
The corresponding DistinctiveRings parameter for this ring
cadence would be:
DistinctiveRings: F-8-4-8
where ``F'' tells the faxgetty process that the ring cadence is
for a facsimile (``V'' for voice and ``D'' for data), and the
other values describe the ring cadence with leading and ending
DRingOff values ignored. Multiple ring cadences are indicated
by delimiting them with commas in this fashion:
DistinctiveRings: V-20,F-8-4-8,D-4-2-4-8
DRingOff
A string that identifies the ``off'' value in any distinctive
ring cadence, for example ``DROF=''. See also DRingOn and
DistinctiveRings.
DRingOn
A string that identifies the ``on'' value in any distinctive
ring cadence, for example ``DRON=''. See also DRingOff and
DistinctiveRings.
DynamicConfig
The pathname of the optional program, e.g. ``etc/localid'', that
makes dynamic configuration changes, i.e., to LocalIdentifier,
based on device ID and call identification. The program is
passed those values as the parameters ($1 = device id, $2 =
CallID1, $3 = CallID2, $4 = CallID3, ...), when answering an
incoming call. The program can then perform local processing as
desired to send on standard output the configuration items to
change in a ``parameter:value'' format, i.e. ``LocalIdentifier:
+1.800.555.1212''. If there are multiple parameters to be
changed, then each item must be on its own line. This is
commonly used to dynamically alter the local identification of
systems which use DID/DNIS, but it can also be used to allow
different modem configurations for different senders. This
program can also set the RejectCall options to cause the current
call to be rejected instead of answered. Note that this file
must be marked as executable by the faxgetty process.
EGettyArgs
A string that indicates whether or not the server should use an
an external getty application to deduce and possibly handle an
incoming call. If the string value is not null, then it is
interpreted as a set of arguments to pass to the getty program.
Before supplying the arguments, the string is first scanned for
``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal). Any appearance of escaped
numbers 1 through 9 (``%1'' through ``%9'') are replaced by the
match to the corresponding CallIDPattern, if present. The ``%''
character can be specified with ``%%''. If the EGettyArgs
parameter is not specified in the configuration file or if the
string value is null, then ``extern'' connections will be
rejected. Note that in addition to the specified command line
arguments, the external getty program is invoked with its
standard input, output, and error descriptors directed to the
controlling tty device.
When the external getty application completes, its exit status
is evaluated and is interpreted to indicate what, if anything,
should be done with the call. An exit status of ``0'' indicates
an unknown call type and that the call should be handled as if
the external getty program had not been used. An exit status of
``1'' indicates a data connection and that the getty(8) program
should be used to handle the call (see GettyArgs) after being
answered with ModemAnswerDataBeginCmd . An exit status of ``2''
indicates a fax connection that should be handled after being
answered with ModemAnswerFaxBeginCmd. An exit status of ``3''
indicates a voice call and that the vgetty program should be
used to handle the call (see VGettyArgs) after being answered
with BR ModemAnswerVoiceBeginCmd . An exit status of ``4'' is
considered to be an error condition. The session will be
terminated. An exit status of ``5'' is used to indicate that
the external getty program handled the call entirely, is not an
error condition, and that the session is to be considered
terminated.
FAXNumber
The phone number associated with the facsimile modem. This
string is used to generate the Transmitter Subscriber
Identification (TSI) and Caller Subscriber Identification (CSI)
information passed to remote machines--unless the
LocalIdentifier parameter is explicitly set. The FAXNumber is
also used to name the session log file where information for
incoming phone calls is recorded; see hylafax-log(5). If this
phone number is not a fully qualified number the values of
AreaCode and CountryCode are used to generate the transmitted
CSI and TSI.
Include2
Include the specified file and parse it as a config file
InternationalPrefix2
The string to use to place an international phone call. In the
United States, this is ``011''. This string is passed to the
dial string rules.
JobControlCmd1
The command to invoke to which provides Job Control information
for a job. See JobControl(8).
JobReqBusy
The delay in seconds to wait before retrying a job whose dialing
attempt failed with a ``BUSY'' status result.
JobReqDataConn
The delay in seconds to wait before retrying a facsimile job
whose dialing attempt failed because a data modem answered the
phone.
JobReqNoAnswer
The delay in seconds to wait before retrying a job whose dialing
attempt failed with a ``NO ANSWER'' status result.
JobReqNoCarrier
The delay in seconds to wait before retrying a job whose dialing
attempt failed with a ``NO CARRIER'' status result.
JobReqNoFCon
The delay in seconds to wait before retrying a facsimile job
whose dialing attempt failed because the initial facsimile
protocol handshake failed (i.e. no ``+FCON:'' result was
received from a Class 2/2.0 modem).
JobReqOther2
The delay in seconds to wait before retrying a job that failed
for a reason not already covered by one of the JobReq*
parameters.
JobReqProto
The delay in seconds to wait before retrying a facsimile job
that failed because of a fax protocol error.
JobRetryBusy
The number of times to redial a phone number after receiving a
``BUSY'' result code when the number has not been successfully
dialed before.
JobRetryDataConn
The number of times to redial a phone number after the dialing
attempt failed because a data modem answered the phone when the
number has not been successfully dialed before.
JobRetryNoAnswer
The number of times to redial a phone number after the dialing
attempt failed because of NO ANSWER when the number has not been
successfully dialed before.
JobRetryNoCarrier
The number of times to redial a phone number after the dialing
attempt failed because of NO CARRIER when the number has not
been successfully dialed before. In normal operation the fax
server will treat this result code to mean that a facsimile
modem/machine did not answer the phone and reject the transmit
job. This is done to avoid repeatedly dialing wrong phone
numbers and depends on the modem distinguishing between no
carrier and no answer. However, some modems are not capable of
reliably distinguishing between no carrier and no answer, or
when instructed to do so do not identify a busy signal
correctly. For these modems one may find it necessary to
increase the value of this parameter to compensate. It is
strongly recommended, however, that this value not be set to a
large number.
JobRetryOther
The number of times to redial a phone number after the dialing
attempt failed for a reason not already covered by one of the
other JobRetry* parameters when the number has not been
successfully dialed before.
GettyArgs
A string that indicates whether or not the server should invoke
the getty(8) program in response to an incoming call from a data
modem. If the string value is not null, then it is interpreted
as a set of arguments to pass to the getty program. Before
supplying the arguments, the string is first scanned for
``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal). Any appearance of escaped
numbers 1 through 9 (``%1'' through ``%9'') are replaced by the
match to the corresponding CallIDPattern, if present. The ``%''
character can be specified with ``%%''. If the GettyArgs
parameter is not specified in the configuration file or if the
string value is null, then data connections will be rejected.
Note that in addition to the specified command line arguments,
the getty program is invoked with its standard input, output,
and error descriptors directed to the controlling tty device.
LocalIdentifier
The local station identification string to use when transmitting
TSI and CSI strings (see FAXNumber above). NB: while this
string may contain any printable ASCII characters; beware that
CCITT T.30 specifies a restricted character set and some fax
modems and machines may reject or not display non-conforming
strings. If the local identifier is not specified, a canonical
form of the FAXNumber is used instead.
LockDataCalls
Hold the UUCP lockfile during the time an inbound data call is
processed by the external getty program. If this is disabled
then the lockfile will be removed just before the getty program
is invoked. Note however that doing this introduces a race
condition whereby an outbound program may sneak in and take
control of the modem after the inbound call has been accepted,
but before the getty program has started up and installed it's
own lockfile.
LockVoiceCalls
Hold the UUCP lockfile during the time an inbound data call is
processed by the external voice getty program. If this is
disabled then the lockfile will be removed just before the voice
getty program is invoked. Note however that doing this
introduces a race condition whereby an outbound program may
sneak in and take control of the modem after the inbound call
has been accepted, but before the voice getty program has
started up and installed it's own lockfile.
LogFacility2
The symbolic name for the syslog(3) facility to use when logging
error messages and informational/debugging messages requested
through the ServerTracing parameter. The list of facility names
is standardized; it can be found in the system include file
<syslog.h>; comparisons are case-insensitive.
LogCalls
Log all incoming calls into xferfaxlog as CALL records. This
allows a quick check of all incoming calls, regardless of fax
completion or not in a unified manner with other fax logs.
LogFileMode
The file protection mode that should be used when creating files
to hold session logs. Note that this value is given in octal.
The default value of 0600 implies that the log files are not
generally accessible, which is important if sensitive
information such as calling card access codes are logged. If
log files are to be publicly accessible, this value may be set,
for example, to 0644. See also chmod(2).
LongDistancePrefix2
The string to use to place a long distance phone call. In the
United States, this is ``1''.
MaxConcurrentCalls1
The default value to use for the maximum number of jobs for the
same destination that are processed concurrently. Thus this
parameter defines the maximum number of concurrent phone calls
to the same destination. Unless all of your fax destinations
have multiple fax lines using the same fax number per
destination then MaxConcurrentCalls is probably best left as the
default of 1 and exceptions should be accommodated by the
JobControl mechanism.
MaxBatchJobs1
The maximum number of jobs to batch together in a single call.
MaxConsecutiveBadLines
The maximum number of consecutive erroneous rows of image data
that the server will receive before it deems a page to have
unacceptable copy quality. Setting this parameter to zero
causes the server to not check the quality of received
facsimile. Facsimile received with error-correction do not have
copy quality checking performed. See also PercentGoodLines.
MaxDials1
The default value for the maximum number of times the server
will place a call for an outbound job. This value may be
overridden by rules in the JobControl mechanism. See also
MaxTries.
MaxRecvPages
The maximum number of pages the server will accept in a received
facsimile before it aborts the session.
MaxSendPages1
The default value for the maximum number of pages the server
will permit in a transmitted facsimile. Outbound jobs that
exceed this limit are rejected. This value may be overridden by
rules in the JobControl mechanism.
MaxSetupAttempts
The maximum number of times a HylaFAX server program will
attempt to initialize a modem before considering it ``wedged''.
MaxTries1
The default value for the maximum number of times the server
will attempt to communicate with a remote site. Note that for a
call to be counted against this limit, carrier must be
established; this is in contrast to the value of MaxDials which
limits the number of calls that will be placed on behalf of a
job. This value may be overridden by rules in the JobControl
mechanism. See also MaxDials.
MinAcceptedLineCount
The minimum number of received scanlines allowed on an ``OK''
page. The use of this setting prevents confirmation from being
sent for very short pages.
ModemGroup1
Define a logical name for a set of modem devices. This
parameter can be used to define a name that clients can use to
refer to a collection of modems. The syntax is ``<name>
<regex>'' where <name> is the name for the group and <regex> is
a regular expression that faxq(8) matches against known modems.
Thus for example, the default modem to use for a job, any, is
defined as ``any:.*''. This parameter may be specified multiple
times to define multiple modem classes. Modem classes may
overlap. The actual set of modems in a modem class that are
considered for use may vary based on which modems are believed
to be ready for use.
ModemPriority
The scheduling priority to use for a modem. Priority values are
in the range 0 to 255 with lesser values signifying higher (more
desirable) priority. The HylaFAX scheduler process assigns the
highest priority modem that is ready for use when scheduling an
outbound job.
If multiple available modems in a job's selected ModemGroup have
the same ModemPriority value, then the HylaFAX scheduler assigns
jobs to them in a round-robin fashion.
NoAnswerVoice
Whether or not to disable the answering of calls indicated as
voice (e.g. by DistinctiveRings ).
NoCarrierRetrys
This is mapped onto JobRetryNoCarrier
ModemReadyState
Define the state transmitted to the HylaFAX scheduler process
each time a modem is made ready by a faxgetty process. State is
one of: ``R'' (ready for use), ``B'' (busy), or ``D'' (down).
The modem state can be used to control whether or not modems are
assigned to outbound jobs. A modem's state is initially set to
``R'' (ready). Modem state can be dynamically changed with the
faxstate(8) program or by setting this configuration parameter
with the faxconfig(8) program.
ModemRingResponse
This can be used to cause the command defined by
ModemRingResponse to be sent to the modem after hearing at least
ModemRingsBeforeResponse RINGs in order to receive DID-DTMF
data, for example.
ModemRingsBeforeResponse
This defines the minimum number of RINGs that must be heard
before ModemRingResponse is first sent to the modem.
NotifyCmd2
The command to invoke to notify a client of a job status change;
see notify(8).
PageChop1
Whether or not to automatically truncate trailing whitespace on
pages of outbound facsimile (when possible). If page chopping
is enabled, then pages with at least PageChopThreshold trailing
whitespace on a page will be transmitted as a ``short page'' if
the receiver is capable of accepting variable-length pages. The
possible values are: ``last'' to enable chopping of the last
page of each document, ``all'' to enable chopping of all pages,
or ``none'' to disable page chopping.
PageChopThreshold1
The minimum amount of trailing whitespace that must be present
on a page before page chopping will be attempted; see PageChop.
Note that this value is specified in inches.
PCL2FaxCmd1
The command to invoke to convert a HP-PCL document submitted for
transmission to TIFF/F, suitable for transmission.
PercentGoodLines
The minimum percentage of good rows of image data required for a
received facsimile page to be deemed to have acceptable copy
quality. Setting this parameter to zero causes the server to
not check the quality of received facsimile. Facsimile received
with error-correction do not have copy quality checking
performed. See also MaxConsecutiveBadLines.
PollLockPokeModem
When polling for the presence/removal of a UUCP lockfile, also
test to make sure the modem is still reachable. This is useful
for scenarios where the modem is apt to become disconnected
while the modem is idle, such as an external modem that may lose
power, where the administrator wants notification of this (as a
``wedged'' condition).
PollLockWait
When polling for the presence/removal of a UUCP lockfile, the
time (in seconds) to wait between checks. Lockfile polling
occurs to ensure the fax server doesn't collide with another
process using the modem.
PollModemWait
The time (in seconds) to wait between checks for a modem to
become ready for use. Modem polling occurs when a modem fails
to reset cleanly.
PriorityScheduling
Indicates whether the HylaFAX scheduler should utilize available
priority job scheduling mechanisms to enhance realtime
execution, particularly with Class 1 configurations on older or
slower systems.
Currently PriorityScheduling is available for IRIX, SVR/4, HP-
UX, and POSIX-compliant (i.e. Linux) operating systems. The
default value varies to maintain traditional HylaFAX behavior.
On IRIX, SVR/4, and HP-UX systems where the configure script
detects one of the functions schedctl(), priocntl() or rtprio()
the default is true. The only other supported priority
mechanism is POSIX sched_setscheduler(), which is used on Linux,
OpenServer and possibly other systems. On such systems, as well
as on systems where no priority scheduling mechanism exists, the
default is false."
PS2FaxCmd1
The command to invoke to convert a POSTSCRIPT document submitted
for transmission to TIFF/F, suitable for transmission; see
ps2fax(8).
QualifyPWD
A string that specifies whether or not the identity of calling
facsimile machines should be checked against an access control
list before receiving facsimile. If QualifyPWD is non-null,
then only messages from facsimile machines identified in the
file specified by the string (typically etc/passwd) will be
accepted; similar to QualifyTSI.
QualifyTSI
A string that specifies whether or not the identity of calling
facsimile machines should be checked against an access control
list before receiving facsimile. If QualifyTSI is non-null,
then only messages from facsimile machines identified in the
file specified by the string (typically etc/tsi) will be
accepted; see tsi(5). If QualifyTSI is not specified in the
configuration file, or the value is null, then all incoming
facsimile messages will be accepted.
RecvDataFormat
The data format (compression scheme) to write received facsimile
data when copy quality checking is performed on the host. (When
copy quality checking is not done by the server, for example
when error correction protocol is used, the received facsimile
data is written exactly as it is received from the modem.) The
format may be one: ``1-D MH'', ``2-D MR'', ``2-D MMR'', or
``adaptive''. An ``adaptive'' format causes the received data
to be written using the data format negotiated by the sender and
receiver. Note that while 2-D MMR is the most space-efficient
data format the resultant file may not be viewable (certain
commonly used programs do not properly read multi-strip TIFF
with 2-D MMR data).
RecvFileMode
The file protection mode that should be used when creating files
to hold incoming facsimile. Note that this value is given in
octal. The default value of 0600 implies that only the
facsimile user can read received facsimile. If incoming
facsimile are to be publicly accessible, this value may be set,
for example, to 0644. See also chmod(2).
RejectCall
If this is set to true, the current call will not be answered,
and will be rejected. This option has no effect if set in the
configuration file, but when set by the DynamicConfig program,
controls the current call. This options supersedes the obsolete
QualifyCID option.
RingData
A modem status string that identifies that an incoming call is
for data use. This string should be set when a phone line has
been setup with distinctive ring service. See also RingFax and
RingVoice.
RingExtended
An identifier which matches the initial portion of an extended
RING message sent by the modem to relay CID and/or DNIS data
instead of sending it formatted on separate lines.
RingFax
A modem status string that identifies that an incoming call is
for facsimile use. This string should be set when a phone line
has been setup with distinctive ring service. See also RingData
and RingVoice.
RingsBeforeAnswer
The number of rings to wait before answering the phone. If this
value is set to 0, then the phone will only be answered in
response to an explicit answer command; see faxanswer(8).
RingTimeout
If a ring is heard and the call is not answered, the time in ms
to wait before reinitializing the modem for the next call.
RingVoice
A modem status string that identifies that an incoming call is
for voice use. This string should be set when a phone line has
been setup with distinctive ring service. See also RingData and
RingFax.
RTNHandlingMethod
Specifies how to react to an RTN signal received from the
remote: one of ``Retransmit'', ``Giveup'',``Ignore'', or
``Retransmit-Ignore''.
``Retransmit'' assumes that the page is not received
successfully. HylaFAX will make up to two additional attempts
to send the page, decreasing signalling rate and retraining. If
RTN continues, up to 2 additional calls will be placed. The
downside is that if the remote always responds with RTN, the
page will be sent 9 times and no following pages will be sent.
Many fax machines will not behave this way, although T.30
specification seems clear that this is the intent of the RTN
signal.
Many fax machines will interpret RTN as meaning to not send the
same data again. That is because RTN may indicate problems with
flow control, incorrectly encoded T.4 data, or some
incompatibility other than line noise. Fax machines that
interpret RTN this way will disconnect and require a manual
retransmission. This ``over and out'' behaviour can be
activated by the ``Giveup'' value. The advantage to this
behavior is that the same page of image data will not be sent
multiple times, but the downside is that the following pages
will not be sent.
``Ignore'' is similar to ``Giveup'' in that it makes the
assumption the data cannot be automatically accepted by the
receiver. However, rather than disconnecting the page of image
data is abandoned and processing moves on to the next. The
remote is left to decide what to do with the unacceptable page
of image data. The downside to this behavior, is that the
remote may or may not have kept the page, depending on its
interpretation of the RTN signal - but it does allow us to
continue on to the next page.
``Retransmit-Ignore'' is a combination of ``Retransmit'' and
``Ignore''. The page of image data is retransmitted up to two
additional times, but rather than disconnecting after a third
RTN signal for the same page, processing then continues on to
the next page. This approach is an effort to satisfy both
interpretations of an RTN signal. It allows the receiver to
hopefully receive a better copy of the image data while not
failing to send subsequent pages. If the receiver saves or
prints a copy of pages for which it transmits RTN, then it could
save or print up to three copies of every page.
SaveUnconfirmedPages
Whether or not to save a received facsimile image page if the
sender disconnects without sending the post-page message,
without hearing our message confirmation, without retraining as
requested, or otherwise breaks fax protocol following such pages
for which the sender should not have a ``receipt confirmation''.
SendFaxCmd1
The command to use to process outbound facsimile jobs; see
faxsend(8).
SendPageCmd1
The command to use to process outbound pager jobs; see
pagesend(8).
SendUUCPCmd1
The command to use to process outbound UUCP jobs. This
parameter is not currently used, it is for future development.
ServerTracing2
A number that controls the generation of tracing information by
a server when not actively sending or receiving facsimile.
Tracing is divided into areas that are individually controlled.
To enable tracing of multiple areas of operation, the flag
associated with each area should be bit-or'd to form the value
for this tag.
Flag Area Description
1 (0x00001) Server Operation queue management and general operation
2 (0x00002) FAX/IXO Protocol T.30 facsimile protocol or IXO/TAP protocol
4 (0x00004) Modem Operations modem hardware manipulation
8 (0x00008) Modem Communications commands passed between host and modem
16 (0x00010) Timeouts timer operations
32 (0x00020) Modem Capabilities modem capabilities
64 (0x00040) HDLC Frames binary T.30 HDLC frames
128 (0x00080) Binary Modem I/O binary communication between host and modem
256 (0x00100) Server State Transitionsserver program state transitions
512 (0x00200) Queue Management job queue management
1024 (0x00400) Copy Quality copy quality checking of received facsimile
2048 (0x00800) Job Management low-level job management
4096 (0x01000) IXO Protocol low-level IXO protocol
8192 (0x02000) Config File Parsing unknown configuration file parameters
16384 (0x04000) FIFO Messages inter-application messages
32768 (0x08000) Modem State Transitions modem state changes (down, busy, ready)
65536 (0x10000) Dial Rules dialstring rules parsing and execution
131072 (0x20000) Docq Changes document reference handling
262144 (0x40000) TIFF library any messages produced by the TIFF library
524288 (0x80000) ECM Frames binary T.30-A HDLC ECM frames
For example, to enable tracing of server operations and protocol
operations, a value of 1+2=3 should be specified. NB: tracing
timeouts and/or binary modem I/O can adversely affect the
operation of the fax server; enabling these areas should be done
with extreme care.
Server tracing is directed to syslog(3) using the facility
specified with the LogFacility configuration parameter. Note
that syslogd(8) must be configured to capture facility.info,
facility.debug, facility.warning, and facility.err messages.
See hylafax-log(5) for a description of the logged messages.
SessionTracing2
A number that controls the generation of tracing information by
a server while sending or receiving facsimile. The number is
interpreted identically to ServerTracing. Note that session
tracing is placed in log files in the log subdirectory; see
hylafax-log(5) for more information.
SpeakerVolume
The volume level that the in-modem speaker should be adjusted to
while in command mode. The possible values are:
Value Description
Off silent
Quiet almost inaudible
Low tolerable in privacy
Medium loud enough to hear in the next room
High intolerable
Note that the speaker is always turned off once carrier is
established. Also beware that some modems support fewer volume
settings; see ModemSetVolumeCmd.
TagLineCoverNumString
Setting TagLineCoverNumString instructs faxsend to not include
the cover pages in the normal page numbering mechanism. The
page numbers used in the tagline generation will adjusted to not
count the cover pages, and the TagLineCoverNumString value wil
be used instead of a page number on the tagline of the cover
page.
TagLineFont
The filename of the font to use in imaging tag lines across the
top of each transmitted page. Fonts must be stored in the
Portable Compiled Font (PCF) format used by the X11 Window
System. Filenames are specified relative to the root of the
spooling area; e.g. etc/lutRS18.pcf. If no font is specified,
if a null filename is specified, or if the specified font file
is not readable, then tag lines will not be generated. See also
TagLineFormat.
TagLineFormat
The format string to use when imaging tag lines across the top
of each transmitted page. This string may include escape codes
that cause various items to be interpolated into the imaged tag
line. Any escape code supported by strftime(3C) may be used as
well as the following server-implemented codes:
Escape Description
%%a destination subaddress
%%c destination company name
%%C sender's company name
%%d destination phone number
%%g destination geographic location
%%G sender's geographic location
%%i job identifier
%%I group identifier
%%j user-specified job tag
%%l LocalIdentifier or canonicalized FAXNumber
%%m sender's electronic mail address
%%n canonicalized FAXNumber
%%p current page number of session
%%P current page number of job
%%r receiver's name
%%s sender's name
%%S subject
%%t total pages in session
%%T total pages in job
%%v destination voice number
%%V sender's voice number
%%% ``%''
In addition, the format string may indicate that text is to be
centered in multiple equal-sized fields by separating text with
``|'' characters. For example, ``a|b|c'' would cause the tag
line to be broken up into three equal-sized areas with the
strings ``a'', ``b'', and ``c'' centered within each region.
The default tag line format string is ``From %%n|%c|Page %%P of
%%T''. The differences between the %%p or %%P and the %%t or
%%T options are noticed when a fax job is retried after an
incomplete attempt and only the previously unsent pages are then
queued in a successive session. See also TagLineFont.
TIFF2FaxCmd1
The command to invoke to convert a TIFF submitted for
transmission to TIFF/F, suitable for transmission; see
tiff2fax(8).
TimeOfDay1
The default time-of-day restrictions to apply to outbound jobs.
Outbound jobs will be processed only during the specified time.
Any jobs submitted outside this time period will be held until
the start of this time. The syntax for time-of-day restrictions
is designed to be compatible with the syntax used by the UUCP
software. The following BNF describes the syntax:
Syntax = tod ["," tod]
tod = <days><timerange>
days = "Any" | "Wk" | <dayname>+ | nothing
dayname = "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat"
timerange = <start> "-" <end> | nothing
start = <24hrtime>
end = <24hrtime>
24hrtime = {0-9}{0-9}{0-9}{0-9}
nothing =
where start and end are 24-hour times, day names can be either
2- or 3-characters, and a null day or time specification means
any time or day. White space and other syntactic sugar may be
freely inserted between tokens but may not be inserted between
24-hour times in the time range.
This value may be overridden by rules in the JobControl
mechanism.
Use2D1 Control the use of 2D-encoded data for transmitted facsimile.
UseJobTagLine
Allow the use of the job-specified tagline instead of the
configured TaglineFormat
UUCPLockMode2
The file protection mode that should be used when creating UUCP
lockfiles. Note that this value is given in octal.
UUCPLockDir2
The pathname of the directory in which UUCP lockfiles are to be
created.
UUCPLockTimeout2
The time in seconds to wait before removing a stale UUCP
lockfile (i.e. a lockfile whose owner does not appear to exist).
If this value is set to 0, then the fax server will never remove
a stale lockfile.
UUCPLockType2
A string that specifies the type of UUCP lockfile to create.
The string may be one of ``ascii'' or ``binary'' depending on
whether the process-ID of the lock owner is written to the file
as an ascii string or as a binary value, respectively. In
addition, two prefixes may be used to control the format of the
lock filename. If the type string is prefixed with a ``+'',
then SVR4-style filenames are generated using the major device
number of the tty device and the major and minor device numbers
for the filesystem on which the tty device resides. If the type
string is prefixed with a ``-'', then any upper case letters in
the device part of the lockfile name are converted to lower case
letters; for example, ``LCK..ttyA01'' is converted to
``LCK..ttya01''. This upper-to-lower case conversion is useful
for systems such as SCO where the convention is to name devices
with upper-case letters, but create lockfiles with lower-case
letters.
VGettyArgs
A string that indicates whether or not the server should invoke
a voice getty program in response to an incoming voice call. If
the string value is not null, then it is interpreted as a set of
arguments to pass to the vgetty program. Before supplying the
arguments, the string is first scanned for ``%''-escape
sequences: any appearance of ``%l'' is replaced with the tty
name and any appearance of ``%s'' is replaced with the serial
port speed (in decimal). Any appearance of escaped numbers 1
through 9 (``%1'' through ``%9'') are replaced by the match to
the corresponding CallIDPattern, if present. The ``%''
character can be specified with ``%%''. If the VGettyArgs
parameter is not specified in the configuration file or if the
string value is null, then voice connections will be rejected.
Note that in addition to the specified command line arguments,
the vgetty program is invoked with its standard input, output,
and error descriptors directed to the controlling tty device.
WedgedCmd1
The command to invoke when a modem is deemed ``wedged''; see
wedged(8).
MODEM-ORIENTED CONFIGURATION PARAMETERS
This section lists configuration parameters that are specific to the
setup and operation of the modem. All commands must be specified
exactly as they are to be transmitted to the modem (note that this is a
departure from previous versions of this software that automatically
prepended ``AT'' to each line of commands sent to the modem). When
multi-line commands are required, enclose the commands in quote marks
(``"'') and insert a newline character ``\n'' where lines should be
broken. An example of a multi-line command string is
``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''.
Command strings sent to the modem may include command escapes that
force the host to alter the DTE-DCE communication rate, the flow
control scheme used between the host and modem, delay for a period of
time, flush input data, and wait for a specific response from the
modem. The following escape codes are interpreted:
Escape Effect
<none> enable no flow control between DTE and DCE
<xon> enable software flow control between DTE and DCE
<rts> enable hardware flow control between DTE and DCE
<2400> set the DCE-DTE baud rate to 2400 bps
<4800> set the DCE-DTE baud rate to 4800 bps
<9600> set the DCE-DTE baud rate to 9600 bps
<19200> set the DCE-DTE baud rate to 19200 bps
<38400> set the DCE-DTE baud rate to 38400 bps
<57600> set the DCE-DTE baud rate to 57600 bps
<76800> set the DCE-DTE baud rate to 76800 bps
<115200> set the DCE-DTE baud rate to 115200 bps
<delay:N> delay N x 10 ms on the host (0 <= N <= 255)
<flush> flush any pending input data from the modem
<waitfor:R> wait for the response R from the modem (see below)
<play:filename> play the specified audio file (see below)
Note that commands to the left of an escape code are sent to the modem
before the associated actions are carried out on the host. This may be
important when changing baud rates, as the result code from a command
may be returned at the new baud rate. Also, beware that not all baud
rates are supported by all systems and modems; the set of baud rates
supported by a host is usually listed in stty(1).
The ``<waitfor:..>'' escape can be used to override the default
behaviour which is to wait for an ``OK'' response to a command sent to
the modem. The possible response codes are:
NOTHING a null response
OK the default response
CONNECT ``CONNECT...''
NOANSWER ``NO ANSWER...''
NOCARRIER ``NO CARRIER...''
NODIALTONE ``NO DIALTONE...''
BUSY ``BUSY''
OFFHOOK ``PHONE OFF-HOOK''
RING ``RING...''
ERROR error status from modem
VCON voice connection indicator
OTHER any unrecognized modem response
For example ``ATO\r<waitfor:CONNECT>'' would send ``ATO\r'' to the
modem and then wait for a response with a leading ``CONNECT'' in it;
and ``ATS99=2\r<delay:2><flush><waitfor:NOTHING>'' would send
``ATS99=2\r'' to the modem, delay 20 ms, flush any input from the
modem, and then continue (not wait for any response).
The ``<play:filename>'' escape can be used to play a raw audio file
with a voice modem. This feature can be used, for example, to play a
brief audio message after picking up the line but before answering. A
configuration example may be:
ModemRingResponse: "AT+FCLASS=8;H1\nAT+VSM=131\nAT+VLS=1\nAT+VTX\n<waitfor:CONNECT><play:/sounds/enter-extension.raw><waitfor:OK>AT+VTS=[933,,150]"
ModemAnswerCmd: "<delay:100>AT+FCLASS=1;A"
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
In this example using an IS-101 voice-compliant modem, a RING
indication from the modem will cause the modem to be placed in voice
mode, set ulaw audio compression, and via the connected phone line play
back the etc/play1.raw audio file, which may say, "After the tone enter
a four-digit extension, then start the fax." Following the message a
tone is played.
ModemAnswerCmd
The command to answer the phone. If possible, this command
should generate a result string that identifies whether the
incoming call is from a facsimile, voice, or data modem.
Typically this auto-detection is configured ahead of time; e.g.
for Class 2 modems with the ``AT+FAA=1'' command.
The following table describes how the result codes are
interpreted by the facsimile server.
Result String Default Class 1 Class 2 Class2.0
CONNECT FAX Fax - - --
CONNECT Data Unknown - -
NO ANSWER No Answer - - -
NO CARRIER No Carrier - - -
NO DIALTONE No Dialtone - - -
ERROR Error - - -
FAX Fax - - -
DATA Data - - -
+FCON - - Fax Fax
+FCO - - Fax Fax
+FDM - - Data Data
+FHNG: - - Error Error
VCON - - Voice Voice
The ``Default'' column indicates the interpretation made for the
result string in either class 1 or 2 unless explicitly
overridden. The ``Class 1'' column indicates result strings
handled specially for modems operating in class 1, the ``Class
2'' column indicates special handling for modems operating in
class 2, and the ``Class 2.0'' column indicates special handling
for modems operating in class 2.0. Unknown entries imply that
interpretation is based on the way in which the call was
answered; if answering is done for an explicit call type, that
type is assumed, otherwise a Fax call is presumed.
ModemAnswerDataBeginCmd
The command to send to the modem once a data connection has been
established.
ModemAnswerDataCmd
The command to explicitly answer the phone for a data
connection. This command must generate a result string that
identifies the incoming call is from a data modem. If this
parameter is not specified or is null, then the value of
ModemAnswerCmd is used instead. See also AdaptiveAnswer and
AnswerRotary.
ModemAnswerDialCmd
The command to explicitly answer the phone for a dialed
connection. This command must generate a result string that
identifies the incoming call is from a facsimile modem. If this
parameter is not specified or is null, then the value of
ModemAnswerCmd is used instead.
ModemAnswerFaxBeginCmd
The command to send to the modem once a facsimile connection has
been established.
ModemAnswerFaxCmd
The command to explicitly answer the phone for a facsimile
connection. This command must generate a result string that
identifies the incoming call is from a facsimile modem. If this
parameter is not specified or is null, then the value of
ModemAnswerCmd is used instead. See also AdaptiveAnswer and
AnswerRotary.
ModemAnswerVoiceBeginCmd
The command to send to the modem once a voice connection has
been established.
ModemAnswerVoiceCmd
The command to explicitly answer the phone for a voice
connection. This command must generate a result string that
identifies the incoming call is for voice. If this parameter is
not specified or is null, then the value of ModemAnswerCmd is
used instead. See also AdaptiveAnswer and AnswerRotary.
ModemAnswerResponseTimeout
The maximum time, in milliseconds, to wait for a response from
the modem after sending ModemAnswerCmd. Note that you may want
to shorten this value when using the server-based adaptive
answer strategy; see AdaptiveAnswer.
ModemATCmdDelay
A delay, in milliseconds, that should be performed before each
``AT'' command string is sent to the modem.
ModemBaudRateDelay
The amount of time, in milliseconds, to pause after setting the
baud rate on the serial line. This is only needed for hosts and
modems (such as USRs) where setting the serial line parameters
does not take effect immediately.
ModemCommaPauseTimeCmd
The command to set the time, in seconds, that the modem should
pause when encountering a ``,'' modifier in the dialing string.
ModemDialCmd
The command to place a phone call. The string is assumed to be
suitable for use as a parameter to the sprintf(3S) function; so
the ``%'' character should be escaped as ``%%''. The dial
command must include a single ``%s'' where the number that is to
be dialed is to be substituted. Facilities such as tone or
pulse dialing, outgoing prefixes to route though a PBX, and so
on should be included in the dialing command string. It is also
important that, if possible, a trailing ``@'' symbol should be
included so that the modem returns result codes that distinguish
between no answer and no carrier. Use of the ``@'' permits the
server to reduce the probability that a wrong number is
continually redialed. If the modem does not support this
facility, then it may be necessary to raise the number of
retries done when a ``NO CARRIER'' result is returned.
ModemDialResponseTimeout
The maximum time to wait, in milliseconds, for a response from
the modem after sending This value should be longer than the
timeout programmed into the modem through the ModemWaitTimeCmd
parameter. This additional server-based timeout is provided to
guard against modems that can ``lock up'' when dialing the
telephone.
ModemDoPhaseCDebug
Whether or not to query the modem for responses during image
data transmission. Normally the modem should not produce any
responses during Phase C data transmission. However, in some
debugging scenarios (i.e. some Class 2.1 modems may show
debugging information) it may be appropriate to query the modem
for responses during the data transmission.
ModemDTRDropDelay
The time, in milliseconds, to pause between placing DTR OFF and
DTR ON while resetting a modem. This value should be at least
equal to the time-value of the analogous S-register, usually
S25.
ModemEchoOffCmd
The command to disable echoing of commands sent to the modem.
ModemFlowControl
The type of flow control to use between DTE and DCE; one of
``NONE'', ``XONXOFF'' and ``RTSCTS''. This value is used to
select the string sent to the modem to initially establish DTE-
DCE flow control; one of ModemNoFlowCmd, ModemSoftFlowCmd, and
ModemHardFlowCmd. The current flow control setting is also used
to select the appropriate flow control command to send to the
modem when the software switches to Class 1, 2, or 2.0; see
Class1HFLOCmd, Class1NFLOCmd, Class1SFLOCmd, Class2HFLOCmd,
Class2NFLOCmd, and Class2SFLOCmd.
The server supports both software and hardware flow control for
Class 1, Class 2, and Class 2.0 modems. Whether to use hardware
or software flow control depends on the capabilities of the
modem and the host hardware and operating system. Communication
rates above 9600 baud often require that hardware flow control
be used for reliable DTE-DCE communication. However, beware
that many modems only support software flow control when sending
or receiving facsimile.
Note that modems usually support software flow control even if
they have no explicit AT-command to activate it; in this case it
is switched on when the modem enters fax mode, having
AT+FCLASS=... from DTE.
ModemFrameFillOrder
The bit order to expect for received HDLC frames and to use when
formulating HDLC frames to send. This value may be either
LSB2MSB when bits are ordered from least-significant-bit to
most-significant-bit (as in the CCITT specification) or MSB2LSB
when bits are ordered in the reverse direction.
ModemHardFlowCmd
The command to setup hardware (RTS/CTS) flow control between DTE
and DCE.
ModemMinSpeed
The minimum acceptable signalling rate for transmitting
facsimile page data. Possible values are: 2400, 4800, 7200,
9600, 12200, and 14400.
ModemMfrQueryCmd
The command to send to the modem to get the manufacturer
identification string. If this parameter is not set, then it is
initialized to ``AT+FMFR?'' for Class 2 modems, or to
``AT+FMI?'' for Class 2.0 modems, or to ``ATI3'' for Class 1
modems. If the parameter begins with a ``!'', then the
remainder of the string is taken to be the identification string
and no command is issued to the modem.
ModemModelQueryCmd
The command to send to the modem to get the model identification
string. If this parameter is not set, then it is initialized to
to ``AT+FMDL?'' for Class 2 modems, or to ``AT+FMM?'' for Class
2.0 modems, or to ``ATI0'' for Class 1 modems. If the parameter
begins with a ``!'', then the remainder of the string is taken
to be the identification string and no command is issued to the
modem.
ModemNoAutoAnswerCmd
The command to stop the modem from automatically answering when
the phone rings.
ModemNoAutoAnswerCmdDelay
The time, in milliseconds, to pause after receiving the OK
following ModemNoAutoAnswerCmd before any further commands are
sent to the modem. All input from the modem is flushed after
pausing.
ModemNoFlowCmd
The command to disable flow control between DTE and DCE.
ModemOnHookCmd
The command to place the phone ``on hook'' (i.e. hangup).
ModemPageDoneTimeout
The maximum time to wait, in milliseconds, for a response from
the modem after sending a page of facsimile data (e.g. the time
to wait for a response to a Class 2/2.0 AT+FET command).
ModemPageStartTimeout
The maximum time to wait, in milliseconds, for an initial
response from the modem when sending a page of facsimile data
(e.g. the time to wait for a response to a Class 2/2.0 AT+FDR
command).
ModemRaiseATCommands
Indicates whether or not all configuration AT commands for the
modem should be raised to upper-case automatically. The
standard is for all upper-case to be used in AT commands, and
indeed, some rare modems have been known to malfunction with
lower-case commands. However, sometimes an administrator may
want to use lower-case commands in a rare condition such as to
work around modem blacklisting of dialed numbers.
ModemRate
The baud rate to use for DCE-DTE communication. This value may
be one of: 115200, 76800, 57600, 38400, 19200, 9600, 4800, 2400,
1200. The default value is 19200 because many modems lock the
rate at 19200 when sending or receiving facsimile. Note that
not all values are supported by all operating systems and
modems; consult stty(1) for the available rates on your system.
ModemReadyCmds
A string of commands to issue to the modem during reception
initialization. This string is sent to the modem after the
standard set of configuration commands required by the fax
server. This is done, for example, to un-busy a DID line so
that calls can come through.
ModemRecvFillOrder
The bit order to expect for received facsimile data. This value
may be either LSB2MSB when bits are ordered from least-
significant-bit to most-significant-bit (as in the CCITT
specification) or MSB2LSB when bits are ordered in the reverse
direction. According to the various specifications all modems
should return data in LSB2MSB order. However most Class 2
modems (except maybe only Multitech) use MSB2LSB for
compatibility with modems that were built with Rockwell
hardware/firmware that included a bug that was too widespread to
correct.
If this parameter is not set, then it is autodetected and set to
LSB2MSB for Class 1 and Class 2.0 modems and MSB2LSB for non-
Multitech Class 2 modems. However this may be wrong for your
modem, so you will have to specify this parameter explicitly.
ModemRecvSuccessCmd
A string of commands to issue to the modem after a successful
receive session before the call is disconnected.
ModemResetCmds
A string of commands to issue to the modem during
initialization. This string is sent to the modem before the
standard set of configuration commands required by the fax
server. Note that these commands should not include normal
reset commands that are specified through other parameters. For
example, commands to setup flow control, DCD handling, DTR
handling, etc. should be specified through the appropriate
configuration parameters and not through this parameter. In
addition the soft reset command (usually ``ATZ'') should not be
included in this string; the servers issue this command
explicitly.
ModemResetDelay
The time, in milliseconds, to pause after setting DTR ON, while
resetting a modem. DTR ON does not respond with ``OK'', so this
parameter should be long enough to allow the modem time to be
ready for ModemSoftResetCmd successively.
ModemResultCodesCmd
The command to enable result codes.
ModemRevQueryCmd
The command to send to the modem to get a firmware revision
identification string. If this parameter is not set, then it is
initialized to ``AT+FREV?'' for Class 2 modems, or to
``AT+FMR?'' for Class 2.0 modems. If the parameter begins with
a ``!'', then the remainder of the string is taken to be the
identification string and no command is issued to the modem.
ModemSendBeginCmd
The command to send to the modem upon establishing carrier
during a transmit operation. This parameter is useful for
systems that are incapable of enabling hardware flow control
without DCD asserted.
ModemSendFillOrder
The bit order the modem expects for transmitted facsimile data.
This value may be either LSB2MSB or MSB2LSB (see also
ModemRecvFillOrder above.) Virtually all modems expect
transmitted facsimile data in LSB2MSB bit order.
ModemSetVolumeCmd
The commands to use to set the modem speaker volume levels.
There should be five whitespace-separated commands, one each for
setting the volume to ``Off'', ``Quiet'', ``Low'', ``Medium'',
and ``High''; the default is ``"ATM0 ATL0M1 ATL1M1 ATL2M1
ATL3M1"''. See also SpeakerVolume.
ModemSetupAACmd
The command to setup adaptive answer support in the modem-if
available. Adaptive answer is the term used for the ability to
distinguish between calls from facsimile, voice, and data
sources. Note that this string is the last command issued by
the device drivers during setup, so the command string may, if
necessary, switch to a different operating mode (e.g. on some
Rockwell-based modems it is necessary to issue the ``AT+FAA=1''
command in Class 0).
ModemSetupDCDCmd
The command to setup DCD handling. On most systems the
facsimile server will enable the CLOCAL flag on the tty device
to which the modem is connected. This should insure that the
system does not close an open file descriptor associated with
the modem if carrier is dropped. Thus, for most systems and
modems ModemSetupDCDCmd should setup DCD to reflect carrier.
ModemSetupDTRCmd
The command to setup DTR handling so that the modem is reset
when the DTR signal is lowered by the host. The facsimile
server uses this facility to insure that modems are not left in
a ``locked up'' state.
ModemSoftFlowCmd
The command to setup software (XON/XOFF) flow control between
DTE and DCE.
ModemSoftResetCmd
The command to force a soft reset of the modem.
ModemSoftResetCmdDelay
The time, in milliseconds, to pause after receiving the OK
following ModemSoftResetCmd before any further commands are sent
to the modem.
ModemSoftRTFCC
Whether or not to enable software-driven Real-Time Fax
Compression Conversion. RTFCC allows HylaFAX to convert the
image compression between MH MR and MMR formats regardless of
how faxq formatted the image file. Note that when using RTFCC,
the compression format of the file will be ignored, thus the
``-1'', ``-2'', and ``-3'' options for sendfax, ps2fax, and
others will only influence how the document is prepared by faxq
and will not influence the actual negotiated session parameters.
Class2RTFCC takes precedence over ModemSoftRTFCC and if both are
enabled, then software-driven RTFCC will not be performed in
favor of the firmware-driven RTFCC.
ModemType
This parameter must be set to one of: ``Class2'', ``Class2.0'',
or ``Class1''; to indicate that the modem is a Class 2-, Class
2.0-, or Class 1-style modem, respectively. If this parameter
is not set, then it is autodetected and the highest supported
fax class is used.
ModemVerboseResultsCmd
The command to enable verbose, as opposed to numeric, result
codes.
ModemWaitForConnect
If enabled, the facsimile server will not consider a connection
established when answering an incoming call until a ``CONNECT''
status string is received. This is useful mainly for Rockwell
RC32ACL-based modems that send ``FAX'' and ``DATA'' status
messages before sending ``CONNECT''.
ModemWaitTimeCmd
The command to set the number of seconds to wait for a carrier
signal when placing a call or answering the phone.
T.30 PROTOCOL CONFIGURATION PARAMETERS
The following parameters apply to the implementation of the CCITT T.30
facsimile protocol in the Class 1 device driver. They should not be
changed without full understanding of the operation of the server.
FaxT1Timer
The value of the T1 timer in milliseconds. This timer is used
to time out the initial session contact; i.e. receipt of
DIS/DCS.
FaxT2Timer
The value of the T2 timer in milliseconds. This timer is used
to time out receiving responses and commands.
FaxT4Timer
The value of the T4 timer in milliseconds. This timer is used
to time out the reception of HDLC frames and, usually, trigger
frame retransmissions.
CLASS 1 MODEM CONFIGURATION PARAMETERS
The following parameters are specific to the configuration of Class
1-style modems; they should not be changed lightly:
Class1Cmd
The command to set the modem into Class 1 operation.
Class1AdaptRecvCmd
The command used to enable adaptive reception support (usually
``AT+FAR=1''). This feature is new in T.31, and many modems
will not support it. This feature may reduce the number of
reception failures due to errors cascading from +FCERROR
messages.
Class1ColorJPEGSupport
Whether or not to enable support for T.30-E full-color facsimile
with JPEG compression. Enabling this automatically enables
Class1GreyJPEGSupport.
Class1EnableV34Cmd
The command to enable V.34-fax support with at least the desired
maximum primary channel rate.
Class1ECMSupport
Whether or not to support T.30-A error correction protocol. Use
of ECM will require 64 kilobytes of free memory per modem in
active use.
Class1PersistentECM
Whether or not to continue to retransmit and allow to continue
to receive image data in ECM protocol which is not accepted as
valid after four successive attempts.
Class1ECMFrameSize
The size in bytes of image frames to transmit during ECM
protocol. This setting will also indicate a preference in
receive sessions. The only acceptable values are 64 and 256. A
setting of 64 may be useful on high-load systems and possibly
environments with extremely poor line quality.
Class1ExtendedRes
Whether or not to support resolutions other than normal and
fine. This option has been deprecated by Class1Resolutions.
Class1FrameOverhead
The number of extraneous bytes in HDLC frames sent to the host
in response to an ``AT+FRH'' command. For modems that properly
implement the Class 1 interface, this number should be 4 (the
default).
Class1GreyJPEGSupport
Whether or not to enable support for T.30-E greyscale facsimile
with JPEG compression. This is always enabled if
Class1ColorJPEGSupport is enabled.
Class1HookSensitivity
The number of times to ignore on-hook detections and merely
treat them as command or modem errors.
Class1JBIGSupport
Whether or not to enable support for T.85 monochrome facsimile
with JBIG compression. Options are ``true'' for support in both
sending and receiving, ``false'' for no support, ``send'' for
support only in sending, and ``receive'' for support only in
receiving. If, during the build process a compatible JBIG
library was found then send support is enabled by default. If,
during the build process the TIFF tools are found to support
JBIG then receive support is enabled by default.
Class1HasRHConnectBug
A Class 1 modem should only report CONNECT after AT+FRH=3 when
V.21 HDLC data is detected. However, some modems will
incorrectly report CONNECT after AT+FRH=3 whenever any carrier
is present. In such cases Class1HasRHConnectBug should be set to
``true''.
Class1HFLOCmd
The command to setup hardware (RTS/CTS) flow control between DTE
and DCE when operating in Class 1. This command is issued
immediately after sending the Class1Cmd to switch the modem to
Class 1 operation.
Class1MRSupport
Whether or not to enable support for two-dimensional Modified
Read (MR) image data format compression.
Class1MMRSupport
Whether or not to enable support for two-dimensional Modified
Modified Read (MMR) image data format compression. Note that
MMR support requires also ECM support to be enabled.
Class1NFLOCmd
The command to setup no flow control between DTE and DCE when
operating in Class 1. This command is issued immediately after
sending the Class1Cmd to switch the modem to Class 1 operation.
Class1PageLengthSupport
The coded value for page lengths supported by the modem. The
only correct values and meanings are these: ``1'', A4 page
length; ``3'', both A4 and B4 page length; ``7'', unlimited page
length.
Class1PageWidthSupport
The coded value for page widths supported by the modem. The
only correct values and meanings are these: ``1'', A4 page
width; ``3'', both A4 and B4 page width; ``7'', all of A4, B4,
and A3 page widths.
Class1PPMWaitCmd
The command used to stop and wait before sending the post page
message, except before sending EOP, when Class1EOPWaitCmd is
used instead. We must ensure that the high-speed carrier has
stopped completely. According to T.30, Chapter 5, Note 4, this
delay should be 75 +/- 20 ms.
Class1ResponseWaitCmd
The command used to stop and wait after sending TCF, before
attempting to receive a training response from the remote. Set
this to ``AT+FRS=1'' if you experience ``DIS/DTC received 3
times'' errors.
Class1Resolutions
A bitmapped (bit-or'd) value indicating the resolutions to be
supported during facsimile operation. Individual resolutions
follow Table 21/T.32 and are defined as follows:
Bit Description
0 (0x00) R8 x 3.85 l/mm, Normal
1 (0x01) R8 x 7.7 l/mm, Fine
2 (0x02) R8 x 15.4 l/mm, Superfine
4 (0x04) R16 x 15.4 l/mm, Hyperfine
8 (0x08) 200 dpi x 100 l/inch
16 (0x10) 200 dpi x 200 l/inch
32 (0x20) 200 dpi x 400 l/inch
64 (0x40) 300 dpi x 300 l/inch
Thus, a value of 3 would indicate support for normal, fine, and
superfine resolutions.
Class1RMQueryCmd
The command to send to the modem to get the list of supported
reception bit-rates. If the parameter begins with a ``!'', then
the remainder of the string is taken to be the modem response
and no command is issued to the modem.
Class1TCFWaitCmd
The command used to stop and wait before sending TCF, similar to
Class1PPMWaitCmd. According to T.30, Chapter 5, Note 3, this
delay should be 75 +/- 20 ms.
Class1TMQueryCmd
The command to send to the modem to get the list of supported
transmission bit-rates. If the parameter begins with a ``!'',
then the remainder of the string is taken to be the modem
response and no command is issued to the modem.
Class1EOPWaitCmd
The command used to stop and wait before sending the post page
message similar to Class1PPMWaitCmd. We allow a different
setting in the case of EOP, however, because empirically some
machines may need more time.
Class1ModemHasDLEBug
Used to indicate that the modem does not correctly duplicate DLE
characters in the V.21 communication to the DTE.
Class1MsgRecvHackCmd
If receive failures occur due to +FCERROR just prior to image
data reception, setting Class1MsgRecvHackCmd to AT+FRS=1 may
help.
Class1RecvAbortOK
The time, in milliseconds, to wait for an ``OK'' result code
from the modem after aborting an HDLC frame receive
(``AT+FRH=3''). If this number is zero, then the modem is
assumed to not correctly implement aborting and instead the
driver will wait 200ms, flush any input, and then send ``AT\n''
and wait 100ms for an ``OK'' result.
Class1RecvIdentTimer
The time, in milliseconds, to wait for an initial DCS when
receiving a facsimile. CCITT recommendation T.30 specifies this
as the value of the T1 timer. However, adaptive answering
schemes such as that described above under the AdaptiveAnswer
parameter may require that this timer be shortened.
Class1RMPersistence
The number of times that an attempt to receive the high-speed
data carrier should be made, resulting in +FCERROR, before the
low-speed message carrier reception is attempted. Some modems
are quick to (perhaps incorrectly) return +FCERROR, and for
those modems a value of 2 or 3 should be used. For modems that
are not quick to return +FCERROR, a value of 1 should be used.
Proper tuning of this can provide a type of "adaptive reception
control" for modems that accurately return +FCERROR without
supporting Class1AdaptRecvCmd. For those modems that support
Class1AdaptRecvCmd, Class1RMPersistence should probably not be
set at 1, although +FCERROR should almost never occur with such
modems.
If the modem does not support the reporting of +FCERROR or
adaptive reception control, then Class1RMPersistence should
probably be set at 0, which causes the timeout looking for the
high-speed data carrier to be shortened, thus increasing the
likelihood of recovery from any dissynchronization. When
Class1RMPersistence is other than 0 it is assumed that the
+FCERROR reporting or Class1AdaptRecvCmd is functional and
therefore the timeout looking for the high-speed data carrier is
lengthened.
Class1SwitchingCmd
The command used to ensure that the sending facsimile device has
turned off its modulator (i.e. loss-of-carrier) as recommended
by T.31: Appendix II.1.
Class1SFLOCmd
The command to setup software (XON/XOFF) flow control between
DTE and DCE when operating in Class 1. This command is issued
immediately after sending the Class1Cmd to switch the modem to
Class 1 operation.
Class1TCFMaxNonZero
The maximum percentage of non-zero data bytes permitted in an
acceptable received TCF. Note that this number does not include
any leading non-zero data in the received data. See also
Class1TCFMinRun.
Class1TCFMinRun
The duration, in milliseconds, of the minimum run of zero data
in an acceptable received TCF. This value should be specified
according to a 1.5 second transmission of zero data (i.e. it
should be between 0 and 1500). See also Class1TCFMaxNonZero and
Class1TCFMinRunECMMod.
Class1TCFMinRunECMMod
The factor by which Class1TCFMinRun should be modified in the
case of an ECM session. As ECM protocol allows retransmissions
it is commonly faster to accept a lesser-quality data stream and
the subsequent retransmisisons than it is to allow the
communication speed to slow down (where the demodulation may
still not produce an ideal data stream, anyway).
Class1TCFRecvHackCmd
If receive failures occur due to +FCERROR just prior to TCF data
reception, setting Class1TCFRecvHackCmd to AT+FRS=1 may help.
Class1TCFRecvTimeout
The maximum time to wait, in milliseconds, for the first byte
and again for the entirety of the Training Check (TCF) message
data that is received during the training phase of the facsimile
reception protocol.
Class1TMConnectDelay
The time, in milliseconds, to delay after receiving CONNECT
following +FTM before sending image data. T.31 8.3.3 requires
the modem to respond with CONNECT before the modulation training
pattern. If transmission begins before the remote has
successfully completed its own modulation training pattern then
data, especially during TCF, could be lost. Many modems do not
follow T.31 in this regard, and thus the default is zero;
however its use with such modems would likely have a negligible
effect.
Class1ValidateV21Frames
Whether or not to use the FCS bits of received V.21 HDLC frames
to check the validity of the frame itself. Most Class 1 modems
perform this check independently (per T.31 7.4) and do not
require this feature to be enabled.
CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS
The following parameters are specific to the configuration of Class 2-
and Class 2.0-style modems:
Class2Cmd
The command to set the modem into Class 2/2.0 operation.
Class2AbortCmd
The command to use to abort an established session. After using
this command to abort a session, the fax software will send
ModemOnHookCmd and then reset the modem by dropping DTR .
Class2APCmd
A largely unused option for modems supporting ITU-T.32, Class
2.1, standards. This command would be used to enable sending
and receiving SUB, SEP, and PWD frames.
Class2APQueryCmd
A largely unused option for modems supporting ITU-T.32, Class
2.1, standards. This command would be used to query the
capabilities of sending and receiving SUB, SEP, and PWD frames.
The value ``none'' may be used if the modem does not support any
Class2APQueryCmd.
Class2BORCmd
The command to setup the bit order of sent and received
facsimile data. Usually the command ``AT+FBOR=0'' is used so
that data is sent and received in direct bit order (LSB2MSB).
Some modems, such as the Everex 24/96D, must use reversed bit
order for Phase B and D data exchanges to avoid a bug that
results in garbage data being placed in the padding of EOL
codes. The bit order specified by this command must correspond
to the settings of the ModemSendFillOrder and ModemRecvFillOrder
parameters.
Class2BUGCmd
The command to use to enable or disable the tracing of HDLC
frames sent and received by the modem. This tracing information
should be returned to the host in ``+FHR:'' and ``+FHT:'' status
strings. Note that many Class 2 modems do not support this
facility, which is largely used for diagnostic purposes. The
value ``none'' may be used if the modem does not support any
Class2BUGCmd.
Class2CIGCmd
The command used to set a polling identifier. This string is
inserted into the format ``%s="<id>"''.
Class2CQCmd
The command to use to set up parameters for copy quality
checking. For example, for an Everex 24/96D modem this
parameter might be set to
``AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10''. Class2CQCmd should
be configured to set-up all available copy quality services
available per Class2CQQueryCmd. To disable features that are
available, configure Class2CQQueryCmd with a ``!'', and then set
Class2CQCmd accordingly.
Class2CQQueryCmd
The command to send to the modem to get the copy quality
capabilities string. If the parameter begins with a ``!'', then
the remainder of the string is taken to be the capabilities
string and no command is issued to the modem; this can be used
together with the Class2CQCmd to force copy quality checking to
be done in the server instead of in the modem. See also
PercentGoodLines and MaxConsecutiveBadLines for parameters used
to do server copy quality checking. If copy quality checking is
configured to be done by the modem then it is not done by the
server.
Class2CRCmd
The command to use to enable the reception of facsimile.
Class2DCCCmd
The command used to set modem capabilities. This string is
inserted into the format ``%s=vr,br,wd,ln,df,ec,bf,st''.
Class2DCCQueryCmd
The command to send to the modem to get the Class 2/2.0
capabilities. If the parameter begins with a ``!'', then the
remainder of the string is taken to be the capabilities string
and no command is issued to the modem.
Class2DDISCmd
The command to set session parameters before dialing. This
string is inserted into the format
``%s=vr,br,wd,ln,df,ec,bf,st''. Setting this parameter enables
support for Class 2 modems that do not properly implement the
``AT+FDIS'' command by setting up session parameters before
dialing the telephone.
Class2DISCmd
The command used to set the current session parameters. This
string is inserted into the format
``%s=vr,br,wd,ln,df,ec,bf,st''.
Class2ECMType
The interpretation of the EC parameter in the modem DCC response
varies between the Class 2, ``2'', and Class 2.0, ``2.0'',
specifications. This configuration parameter allows the
administrator to specify which type to use. The corresponding
specification type is used by default.
Class2HexNSF
Whether or not to parse the NSF strings reported by the modem
using hexadecimal values. By default, they are parsed as
hexadecimal values.
Class2HFLOCmd
The command to setup hardware (RTS/CTS) flow control between DTE
and DCE when operating in Class 2/2.0. This command is issued
immediately after sending the Class2Cmd to switch the modem to
Class 2/2.0 operation. For Class 2.0 operation the default is
``AT+FLO=2''.
Class2JPEGSupport
Whether or not to enable and utilize the JPEG support found in
the modem.
Class2LIDCmd
The command used to set the local identifier string. This
string is inserted into the format ``%s="<id>"''
Class2MINSPCmd
The command used to set the minimum acceptable speed to be
negotiated for transmitting page data. This string is inserted
into the format ``%s=<speed>''
Class2NFLOCmd
The command to setup no flow control between DTE and DCE when
operating in Class 2/2.0. This command is issued immediately
after sending the Class2Cmd to switch the modem to Class 2
operation. For Class 2.0 operation the default is ``AT+FLO=0''.
Class2NRCmd
(Class 2.0 only) The command to setup negotiation message
reporting. For the correct operation of the Class 2.0 driver
this command must enable the reporting of: receiver parameters,
transmitter parameters, and ID strings. It is not necessary to
enable reporting of non-standard frames for correct operation of
the Class 2.0 driver.
Class2PACmd
A largely unused option for modems supporting ITU-T.32, Class
2.1, standards. This command would be used to set up the
polling address string enabled by the Class2APCmd.
Class2PHCTOCmd
The command to use to set the Phase C timeout parameter (in
seconds). The value ``none'' may be used if the modem does not
support any Class2PHCTOCmd.
Class2PIECmd
(Class 2.0 only) The command to use to control procedure
interrupt handling. Procedure interrupts should be disabled
because HylaFAX does not provide a mechanism for dispatching
procedure interrupts to an administrator.
Class2PTSCmd
The command to use to set the received page status code. When
copy quality checking is done in the host, this command may be
used to control the post-page response delivered to the sender.
Beware that some modems do not properly implement this command
in which case the server should be configured to not do copy
quality check: see the PercentGoodLines and
MaxConsecutiveBadLines parameters to understand how to defeat
copy quality checking.
Class2PTSQueryCmd
The command to use to query the received page status code. This
command may be used to determine the post-page response returned
from the receiver. Beware that some modems do not properly
implement this command in which case this setting should be set
to ``none''.
Class2PWCmd
A largely unused option for modems supporting ITU-T.32, Class
2.1, standards. This command would be used to set up the
password string enabled by the Class2APCmd.
Class2RecvDataTrigger
The character to send to the modem to trigger the transmission
of received data from the modem to the host. This character is
specified to be DC1 (octal 21) in the draft specification 2388-A
and DC2 (octal 22) in the 2388-B specification. Most Class 2
modems accept DC1 or both DC1 and DC2. Some modems however only
accept DC2. Note that string parameters may use C-style escape
sequences, so DC2, for example, would be specified as
``"\022"''.
Class2RELCmd
The command to use to enable the delivery of byte-aligned EOL
codes in received facsimile. If this parameter is defined, then
received facsimile data will be marked to indicate that EOL
codes are byte-aligned; otherwise they will be marked as not
(necessarily) having byte-aligned codes.
Class2RTFCC
Whether or not to enable MultiTech's Real-Time Fax Compression
Conversion which is available in later firmware revisions for
the MT5634ZBA-V92, MT5634ZPX-PCI-V92, and other models. RTFCC
allows HylaFAX to convert the image compression between MH MR
and MMR formats regardless of how faxq formatted the image file.
If RTFCC is available with your firmware, then the response to
``AT+FFC=?'' is non-zero. Note that when using RTFCC, the
compression format of the file will be ignored, thus the ``-1'',
``-2'', and ``-3'' options for sendfax, ps2fax, and others will
not influence the actual negotiated session parameters.
Class2SACmd
A largely unused option for modems supporting ITU-T.32, Class
2.1, standards. This command would be used to set up the
destination subaddress string enabled by the Class2APCmd.
Class2SendRTC
Whether or not to append an explicit ``Return To Control'' (RTC)
signal to the page data when transmitting. The Class 2 and
Class 2.0 specs (i.e. SP-2388-A and TIA/EIA-592) state that the
modem will append RTC when it receives the post-page message
command from the host; this parameter is provided in case the
modem does not correctly implement this.
Class2SFLOCmd
The command to setup software (XON/XOFF) flow control between
DTE and DCE when operating in Class 2/2.0. This command is
issued immediately after sending the Class2Cmd to switch the
modem to Class 2/2.0 operation. For Class 2.0 operation the
default is ``AT+FLO=1''.
Class2SPLCmd
The command to use to enable a polling request. The value
``none'' may be used if the modem does not support any
Class2SPLCmd.
Class2TBCCmd
The command to use to enable stream-mode communication between
the host and modem. The value ``none'' may be used if the modem
does not support any Class2TBCCmd.
Class2UseLineCount
Whether or not to use the line count reported to HylaFAX by the
modem firmware decoder.
Class2UseHex
Whether or not to parse the capabilities strings reported by the
modem using hexadecimal values. By default, they are parsed as
decimal values.
Class2XmitWaitForXON
Whether or not to wait for an XON character from the modem
before sending facsimile data to the modem for transmission.
Note that this is only relevant for modems that conform to the
Class 2 spec (i.e. SP-2388-A). The Class 2.0 specification
states that the host may transmit data immediately upon
receiving CONNECT and that no XON character will be sent to the
host.
PAGER-RELATED CONFIGURATION PARAMETERS
The following parameters are specific to the configuration and
operation of the IXO/TAP and UCP support for sending pager messages and
GSM SM. Parameter not used for UCP are marked with ``(IXO/TAP only)''.
PagerSetupCmds
The commands to send to a modem to prepare the modem for a call
to pager service provider. Typically these commands place
direct the modem to communicate with the service provider at 300
bps using the V.21 protocol. Per-service provider command
strings can be setup in the info database; see hylafax-info(5).
PagerMaxMsgLength
The maximum length for a pager text message. Messages longer
than this number are truncated. Per-service provider message
lengths can be setup in the info database; see hylafax-info(5).
IXOService
(IXO/TAP only) The service identification string transmitted as
part of the IXO/TAP protocol.
IXODeviceID
(IXO/TAP only) The terminal device identification string
transmitted as part of the IXO/TAP protocol.
IXOMaxUnknown
The maximum number of unrecognized messages that will be
accepted at various stages of the IXO/TAP protocol before the
sender will abort and hangup the phone.
IXOIDProbe
(IXO/TAP only) The time, in seconds, between sending a ``\r''
during the initial ID recognition sequence of the IXO/TAP
protocol.
IXOIDTimeout
(IXO/TAP only) The maximum time, in seconds, to wait for the
initial ID response from the service provider.
IXOLoginRetries
(IXO/TAP only) The maximum number of attempts to login to a
service provider.
IXOLoginTimeout
(IXO/TAP only) The maximum time, in seconds, to wait to complete
the login procedure.
IXOGATimeout
(IXO/TAP only) The maximum time, in seconds, to wait for a Go-
Ahead message from the service provider.
IXOXmitRetries
The maximum number of times to try sending a text message block
in a single call.
IXOXmitTimeout
The maximum time, in seconds, to try transmitting a text message
block.
IXOAckTimeout
(IXO/TAP only) integer 30 IXO: max
time to wait for msg block ack (secs) The maximum time, in
seconds, to wait for an acknowledgement to a transmitted
message.
PROTOTYPE CONFIGURATION FILES
Per-modem configuration files are typically derived from prototype
files that have been created for known modems. These prototype files
are kept in the config subdirectory and, by convention, have names that
identify a brand or type of modem and the DTE-DCE flow control scheme
the prototype files configures. The faxaddmodem(8) program that is
used to configure a modem for use with HylaFAX selects a prototype
configuration file using information retrieved from the modem and
comments embedded in the prototype files. For Class 1 modems the
product ID code returned by the command ``ATI0'' and the response from
the command ``ATI3'' are used to select a prototype configuration file,
while for Class 2 modems the manufacturer and model as returned by
``AT+FMFR?'' and ``AT+FMDL?'', respectively, are used (or ``AT+FMI?''
and ``AT+FMM?'' for Class 2.0 modems).
A Class 1 prototype configuration file is identified for use by
faxaddmodem by searching for a comment of the form:
# CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport
In this example ``144'' is the product ID code for an AT&T DataPort
modem, ``.*'' is a regular expression matched against the result string
returned by the ``ATI3'' command, and ``RTSCTS'' indicates the modem is
configured to use hardware flow control during fax operation. The
remainder of the line is evaluated by the sh(1) and used to specify the
modem's manufacturer and model (since Class 1 modems do not have
standard commands to query this information).
Class 2 and 2.0 prototype configuration files match the string
``manufacturer-model-flowcontrol'' against a sh(1) glob pattern
specified in the configuration file, where manufacturer and model are
the strings returned by querying the modem and flowcontrol is either
``RTSCTS'' for hardware flow control or ``XONXOFF'' for software flow
control. For example:
# CONFIG: CLASS2: ZyXEL*-RTSCTS
# CONFIG: CLASS2.0: USRobotics*-XONXOFF
are configuration comments that appear in the prototype file for a
ZyXEL 1496E with Class 2 support, and for a US Robotics Courier modem
with Class 2.0 firmware.
The faxaddmodem program merges server-specific configuration parameters
into a prototype configuration according to comments placed in the
prototype file. All lines between ``BEGIN-SERVER'' and ``END-SERVER''
comments are placed with the appropriate server configuration
parameters. Note that this means modem-related configuration
parameters must be placed outside this area of the file.
SEE ALSO
faxaddmodem(8), faxq(8), faxgetty(8), faxsend(8), hylafax-server(5)
$Date$