bionic (5) hylafax-config.5.gz

Provided by: hylafax-server_6.0.6-8.1~ubuntu0.18.04.1_amd64 bug

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 ¹ are used only by the HylaFAX scheduler process and should appear  only
       in  the  file named config.  Parameters marked with a ² 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
       AreaCode²                     string     -                local area code
       AuditHook¹                    string  -      command to run for faxq event auditing
       BadPageHandlingMethod         string     RTN-SAVE         bad page received handling method
       BatchLogs¹                    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
       ContCoverCmd¹                 string     bin/mkcover      continuation cover page generation script
       ContCoverPage¹                string     -                continuation cover page template filename
       CountryCode²                  string     -                local country code
       CountSkippedPages             boolean    Yes              Count skipped pages in the page counts/totals when sending
       DestControls¹                 obsolete   -                Obsoleted by JobControl
       DeviceMode                    octal      0600             protection mode to use for modem device
       DialStringRules²              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
       Include²                      string     -                include another file
       InternationalPrefix²          string     -                dialing prefix for international calls
       JobControlCmd¹                string     -                job control command
       JobReqBusy                    integer    180              requeue interval for BUSY dial result
       JobReqDataConn                integer    300              requeue interval for data connection dial result
       JobReqError                   integer    300              requeue interval for ERROR 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
       JobReqOther²                  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
       JobRetryError                 integer    -                number of retries for ERROR 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
       LogFacility²                  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
       MaxBatchJobs¹                 integer    64               max jobs in a batch
       MaxConcurrentCalls¹           integer    1                max concurrent jobs to process for a destination
       MaxConsecutiveBadLines        integer    5                max consecutive bad rows for OK page quality
       MaxDials¹                     integer    12               max phone calls to make to transmit a job
       MaxRecvPages                  integer    unlimited        max pages to permit in a receive
       MaxSendPages¹                 integer    unlimited        max pages to permit in a send
       MaxSetupAttempts              integer    2                max attempts to initialize a modem
       MaxTries¹                     integer    3                max attempts to transmit a job
       MinAcceptedLineCount          integer    10               min number of rows for OK page quality
       ModemGroup¹                   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
       NotifyCmd¹                    string     bin/notify       user notification command script
       PageChop¹                     string     last             control automatic truncation of trailing whitespace
       PageChopThreshold¹            float      3.0              whitespace truncation threshold (inches)
       PCL2FaxCmd¹                   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
       PollLockWait²                 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
       PostScriptTimeout¹            integer    300              timeout on POSTSCRIPT interpreter runs (secs)
       PriorityScheduling            boolean    see below        use available priority job scheduling mechanism
       PS2FaxCmd¹                    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
       SendFaxCmd¹                   string     bin/faxsend      fax transmit command script
       SendPageCmd¹                  string     bin/pagesend     pager transmit command script
       SendUUCPCmd¹                  string     bin/uucpsend     UUCP transmit command script
       ServerTracing²                integer    1                non-session server tracing
       SessionTracing²               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
       TIFF2FaxCmd¹                  string     bin/tiff2fax     TIFF converter command script
       TimeOfDay¹                    string     Any              default time-of-day restrictions
       Use2D¹                        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
       UUCPLockMode²                 octal      0600             protection mode for UUCP lock files
       UUCPLockDir²                  string     see below        UUCP lockfile directory
       UUCPLockTimeout²              integer    30               time before removing stale UUCP lockfile
       UUCPLockType²                 string     see below        UUCP lockfile type
       VGettyArgs                    string     -                arguments passed to voice getty program
       WedgedCmd¹                    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.

       AreaCode²
              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.)

       AuditHook¹
              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.

       BatchLogs¹
              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).

       ContCoverCmd¹
              The command to invoke to generate a continuation cover page; see ContCoverPage and mkcover(8).

       ContCoverPage¹
              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.

       CountryCode²
              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).

       DialStringRules²
              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.

       Include²
              Include the specified file and parse it as a config file

       InternationalPrefix²
              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.

       JobControlCmd¹
              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.

       JobReqError
              The delay in seconds to wait before retrying a job whose dialing attempt failed with  a  ``ERROR''
              status result.

       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).

       JobReqOther²
              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.

       JobRetryError
              The  number  of  times  to  redial a phone number after receiving a ``ERROR'' result code 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.

       LogFacility²
              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).

       LongDistancePrefix²
              The string to use to place a long distance phone call.  In the United States, this is ``1''.

       MaxConcurrentCalls¹
              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.

       MaxBatchJobs¹
              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.

       MaxDials¹
              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.

       MaxSendPages¹
              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''.

       MaxTries¹
              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.

       ModemGroup¹
              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.

       NotifyCmd²
              The command to invoke to notify a client of a job status change; see notify(8).

       PageChop¹
              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.

       PageChopThreshold¹
              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.

       PCL2FaxCmd¹
              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."

       PS2FaxCmd¹
              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''.

       SendFaxCmd¹
              The command to use to process outbound facsimile jobs; see faxsend(8).

       SendPageCmd¹
              The command to use to process outbound pager jobs; see pagesend(8).

       SendUUCPCmd¹
              The command to use to process outbound UUCP jobs.  This parameter is not currently used, it is for
              future development.

       ServerTracing²
              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.

       SessionTracing²
              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.

       TIFF2FaxCmd¹
              The command to invoke to convert a  TIFF  submitted  for  transmission  to  TIFF/F,  suitable  for
              transmission; see tiff2fax(8).

       TimeOfDay¹
              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.

       Use2D¹ Control the use of 2D-encoded data for transmitted facsimile.

       UseJobTagLine
              Allow the use of the job-specified tagline instead of the configured TaglineFormat

       UUCPLockMode²
              The file protection mode that should be used when creating UUCP lockfiles.  Note that  this  value
              is given in octal.

       UUCPLockDir²
              The pathname of the directory in which UUCP lockfiles are to be created.

       UUCPLockTimeout²
              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.

       UUCPLockType²
              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.

       WedgedCmd¹
              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.

       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$                                    HYLAFAX-CONFIG(5)