Provided by: hylafax-server_4.4.0-2_i386 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, num‐
        ber, 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 program‐
        ming conventions (leading ‘‘0x’’ for hex, leading ‘‘0’’ for octal, oth‐
        erwise  decimal),  except  for  a few parameters, such as RecvFileMode,
        whose value is interpreted  strictly  as  an  octal  number  and  Page     
        ChopThreshold  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 sched‐
        uler process and should appear only in the file named config.   Parame‐
        ters  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).  Parame‐
        ters not otherwise marked should appear only in  per-device  configura‐
        tion files.  More detailed information about each item is given follow‐
        ing 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
        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
        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
        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
        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
        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
        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)
        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
        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)
        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
        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
        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)
        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 exam‐
               ple, 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 Mode     
               mAnswer*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  Adap     
               tiveAnswer  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 indi‐
               cating 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 argu‐
               ments 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 inca‐
               pable 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 unac‐
               ceptable 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 iden‐
               tification  messages provided by the modem (such as Caller*ID or
               DNIS/DID).  The specified string is compared against any  unrec‐
               ognized  status messages received from the modem before ModemAn     
               swerCmd is sent to the modem.  If there is  a  match,  then  the
               remainder  of  the message is returned as CallIDn where n corre‐
               sponds 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 conjunc‐
               tion with ModemRingResponse and CallIDAnswerLength.  After  exe‐
               cuting 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 dig‐
               its, 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
 
               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 ModemAn     
               swerCmd 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 Cal     
               lID matching the previous  CallIDPattern  to  be  received  when
               ModemAnswerCmd is sent to the modem irrespective of any RingsBe     
               foreAnswer 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 file‐
               name 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 parame‐
               ter is not specified or is null, then the server will not gener‐
               ate  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.)
 
        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 (usu‐
               ally 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  spool‐
               ing 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  pro‐
               cess.   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  Dis     
               tinctiveRings.
 
        DRingOn
               A  string  that  identifies  the ‘‘on’’ value in any distinctive
               ring cadence, for example ‘‘DRON=’’.  See also DRingOff and Dis     
               tinctiveRings.
 
        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 = Cal‐
               lID1, $3 = CallID2, $4 = CallID3, ...), when answering an incom‐
               ing 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  com‐
               monly used to dynamically alter the local identification of sys‐
               tems which use DID/DNIS, but it can also be used to  allow  dif‐
               ferent 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  stan‐
               dard  input,  output, and error descriptors directed to the con‐
               trolling 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 termi‐
               nated.  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 termi‐
               nated.
 
        FAXNumber
               The  phone  number  associated  with  the facsimile modem.  This
               string is used to generate the Transmitter Subscriber  Identifi‐
               cation (TSI) and Caller Subscriber Identification (CSI) informa‐
               tion passed to remote machines—unless the LocalIdentifier param‐
               eter  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.
 
        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  pro‐
               tocol  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.
 
        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  num‐
               bers  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 success‐
               fully 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 sup‐
               plying  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 param‐
               eter 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 con‐
               dition 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 dis‐
               abled then the lockfile will be removed just  before  the  voice
               getty  program  is invoked.  Note however that doing this intro‐
               duces 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  informa‐
               tion such as calling card access codes are logged.  If log files
               are to be publicly accessible, this value may be set, for  exam‐
               ple, 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  destina‐
               tion  then  MaxConcurrentCalls  is  probably  best  left  as the
               default of 1 and exceptions should be accommodated by  the  Job     
               Control 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  facsim‐
               ile.   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 over‐
               ridden 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 estab‐
               lished; this is in contrast to the value of MaxDials which  lim‐
               its  the number of calls that will be placed on behalf of a job.
               This value may be overridden by rules in the  JobControl  mecha‐
               nism.  See also MaxDials.
 
        ModemGroup   
               Define  a logical name for a set of modem devices.  This parame‐
               ter 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 JobRetryNoCarrier1+1
 
        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 ModemRingRe     
               sponse to be sent to the modem after  hearing  at  least  Modem     
               RingsBeforeResponse 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  (for  future
               use).
 
        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 per‐
               formed.  See also MaxConsecutiveBadLines.
 
        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 real  time  execu‐
               tion,  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 mecha‐
               nism 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 fac‐
               simile 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 com‐
               monly  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  facsim‐
               ile 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 success‐
               fully.  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  down‐
               side  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 specifica‐
               tion 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  incompati‐
               bility  other  than line noise.  Fax machines that interpret RTN
               this way will disconnect and require  a  manual  retransmission.
               This   ‘‘over  and  out’’  behavior  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 assump‐
               tion  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,  with‐
               out  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 page‐
               send(8).
 
        SendUUCPCmd   
               The command to use to process outbound UUCP jobs.  This  parame‐
               ter 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 asso‐
               ciated  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              dial string 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 opera     
               tion of the fax server; enabling these areas should be done with
               extreme care.
 
               Server tracing is directed to syslog(3) using the facility spec‐
               ified  with  the LogFacility configuration parameter.  Note that
               syslogd(8) must be configured to capture  facility.info,  facil‐
               ity.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.
 
        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 Sys‐
               tem.  Filenames are specified relative to the root of the spool‐
               ing  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       sender’s company name
               %%C       destination company name
               %%d       destination phone number
               %%g       sender’s geographic location
               %%G       destination 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       sender’s voice number
               %%V       destination 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 transmis‐
               sion 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 mecha‐
               nism.
 
        Use2D    Control the use of 2D-encoded data for transmitted facsimile.
 
        UseJobTagLine
               Allow the use of the job-specified tagline instead of  the  con‐
               figured 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 lock‐
               file (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 addi‐
               tion, 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
               file-system 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 ‘‘%’’  charac‐
               ter  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).
        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  con‐
        trol  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  behav‐
        ior  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
               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 indica‐
        tion 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.   Typi‐
               cally 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  inter‐
               preted 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  overrid‐
               den.   The  ‘‘Class  1’’ column indicates result strings handled
               specially for modems operating in class 1, the ‘‘Class 2’’  col‐
               umn  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 connec‐
               tion.   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  Mode     
               mAnswerCmd is used instead.  See also AdaptiveAnswer and Answer     
               Rotary.
 
        ModemAnswerDialCmd
               The command to explicitly answer the phone for a dialed  connec‐
               tion.   This  command must generate a result string that identi‐
               fies the incoming call is  from  a  facsimile  modem.   If  this
               parameter  is  not specified or is null, then the value of Mode     
               mAnswerCmd 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 con‐
               nection.  This command must generate a result string that  iden‐
               tifies  the  incoming  call  is from a facsimile modem.  If this
               parameter is not specified or is null, then the value  of  Mode     
               mAnswerCmd is used instead.  See also AdaptiveAnswer and Answer     
               Rotary.
 
        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 connec‐
               tion.  This command must generate a result string  that  identi‐
               fies  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  com‐
               mand 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 continu‐
               ally  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 tele‐
               phone.
 
        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  facsim‐
               ile  page  data.   Possible  values are: 2400, 4800, 7200, 9600,
               12200, and 14400.
 
        ModemMfrQueryCmd
               The command to send to the modem to get the manufacturer identi‐
               fication  string.  If this parameter is not set, then it is ini‐
               tialized 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.
 
        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).
 
        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 ini‐
               tialization.   This  string is sent to the modem after the stan‐
               dard 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-signifi‐
               cant-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  initializa‐
               tion.   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 dur‐
               ing 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 ModemRecv     
               FillOrder above.)  Virtually all modems expect transmitted  fac‐
               simile 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  facsim‐
               ile  server  will  enable  the  CLOCAL flag on the tty device to
               which the modem is connected.  This should insure that the  sys‐
               tem  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 fol‐
               lowing ModemSoftResetCmd before any further commands are sent to
               the modem.
 
        ModemSoftRTFCC
               Whether  or not to enable software-driven Real-Time Fax Compres‐
               sion Conversion.  RTFCC allows HylaFAX to convert the image com‐
               pression  between  MH  MR and MMR formats regardless of how faxq
               formatted the image file.  Note that when using RTFCC, the  com‐
               pression  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 auto detected 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 mes‐
               sages 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.
        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.
        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  mes‐
               sages.
 
        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  proto‐
               col.   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 environ‐
               ments 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 Class1Color     
               JPEGSupport is enabled.
 
        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  incor‐
               rectly  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 imme‐
               diately 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 set‐
               ting 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 sup‐
               porting  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 adap‐
               tive 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.
 
        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.
 
        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 fol‐
               lowing +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  success‐
               fully  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.
        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 capa‐
               bilities 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  facsim‐
               ile  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  check‐
               ing.   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  capa‐
               bilities 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 capabil‐
               ities.  If the parameter begins with a ‘‘!’’, then the remainder
               of the string is taken to be the capabilities string and no com‐
               mand 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’’, spec‐
               ifications.  This configuration parameter allows the administra‐
               tor  to specify which type to use.  The corresponding specifica‐
               tion 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 hex‐
               adecimal 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 nego‐
               tiated 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 oper‐
               ation.  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 sec‐
               onds).   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  inter‐
               rupt  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  MaxConsecutiveBad     
               Lines parameters to understand how to defeat copy quality check‐
               ing.
 
        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 pass‐
               word 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 com‐
               pression 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 desti‐
               nation 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  receiv‐
               ing  CONNECT and that no XON character will be sent to the host.
        The following parameters are specific to the configuration  and  opera‐
        tion  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 trans‐
               mitted 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 hang-up the phone.
 
        IXOIDProbe
               (IXO/TAP only) The time, in seconds, between  sending  a  ‘‘\r’’
               during the initial ID recognition sequence of the IXO/TAP proto‐
               col.
 
        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 ser‐
               vice 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 sec‐
               onds, to wait for an acknowledgement to a transmitted message.
        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 con‐
        figuration 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  faxad‐
        dmodem 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  stan‐
        dard commands to query this information).
 
        Class  2 and 2.0 prototype configuration files match the string ‘‘manu‐
        facturer-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 pro‐
        totype file.  All lines  between  ‘‘BEGIN-SERVER’’  and  ‘‘END-SERVER’’
        comments  are  placed with the appropriate server configuration parame‐
        ters.  Note that this means modem-related configuration parameters must
        be placed outside this area of the file.
        faxaddmodem(8), faxq(8), faxgetty(8), faxsend(8), hylafax-server(5)
 
                          $Date: 2007/07/23 21:04:09 $        HYLAFAX-CONFIG(5)