Provided by: hylafax-server_4.2.5-1_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,
       number, or  boolean  value.   Comments  are  introduced  by  the  ‘‘#’’
       character  and  extend  to the end of the line.  String values start at
       the first non-blank character after the ‘‘:’’ and continue to the first
       non-whitespace  character  or,  if whitespace is to be included, may be
       enclosed in quote marks (‘‘"’’).  String values enclosed in quote marks
       may  also  use  the  standard  C programming conventions for specifying
       escape codes; e.g. ‘‘\n’’ for a newline character and ‘‘\xxx’’  for  an
       octal   value.   Numeric  values  are  specified  according  to  the  C
       programming conventions (leading ‘‘0x’’  for  hex,  leading  ‘‘0’’  for
       octal,  otherwise  decimal),  except  for  a  few  parameters,  such as
       RecvFileMode, whose value is interpreted strictly as  an  octal  number
       and PageChopThreshold whose value is interpreted strictly as a floating
       point number.  Boolean values are case insensitive.  For a true  value,
       either ‘‘Yes’’ or ‘‘On’’ should be used.  For a false value, use ‘‘No’’
       or ‘‘Off’’.

       The following table itemizes the tags and the expected  type  of  their
       value.   The  first  part lists items specific to the operation of each
       server, while the second part has items related to the servicing of the
       modem.   Parameters  marked  with  a  ¹  are  used  only by the HylaFAX
       scheduler process and should appear only  in  the  file  named  config.
       Parameters  marked with a ² are used by both the scheduler and the per-
       device  applications  and  so  should   appear   in   all   appropriate
       configuration  files  (i.e.   config and any per-device files that make
       sense).  Parameters not otherwise marked should  appear  only  in  per-
       device  configuration files.  More detailed information about each item
       is given following the table.
       Tag                           Type       Default          Description
       AdaptiveAnswer                boolean    No               enable adaptive answer of inbound calls
       AdminGroup                    string     faxadmin         System user group for administration (if PAM enabled)
       AnswerRotary                  string     Any              alternatives for answering calls
       AnswerBias                    integer    -                bias to apply to successful rotary answer
       AreaCode²                     string     -                local area code
       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¹                 string     -                per-destination controls file
       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
       FAXNumber                     string     -                facsimile modem phone number
       FaxRcvdCmd                    string     bin/faxrcvd      notification script for received facsimile
       GettyArgs                     string     -                arguments passed to getty program
       InternationalPrefix²          string     -                dialing prefix for international calls
       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 presense/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                    string     -                file of Caller-ID or DNIS patterns for checking inbound 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
       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
       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: comman 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
       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             boolean    see below        Class 1/1.0: to enable monochrome JBIG fax support
       Class1NFLOCmd                 string     -                Class 1/1.0: command to set no flow control
       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
       Class1MsgRecvHackCmd          string     ""               Class 1/1.0: command to avoid +FCERROR before image data
       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
       Class1TCFRecvHack             boolean    No               Class 1/1.0: deliberately look for carrier loss before 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
       Class1SendMsgDelay            integer    200              Class 1/1.0: delay before sending image data
       Class1SwitchingCmd            string     AT+FRS=7         Class 1/1.0: command to ensure silence after HDLC reception
       Class1TrainingRecovery        integer    1500             Class 1/1.0: delay after failed training
       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
       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
       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
       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
       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+FPTS?         Class 2.0: command to query received page status
       Class2RecvDataTrigger         string     ‘‘\22’’          Class 2.0: character to send to trigger recv
       Class2RELCmd                  string     -                Class 2.0: command to enable byte-aligned EOL codes
       Class2RTFCC                   boolean    No               Class 2.0: enable real-time fax compression conversion
       Class2SACmd     string        AT+FSA     Class 2.0: set destination subaddress string
       Class2SendRTC                 boolean    No               Class 2.0: append RTC to page data on transmit
       Class2SFLOCmd                 string     AT+FLO=1         Class 2.0: command to set software flow control
       Class2SPLCmd                  string     AT+FSP           Class 2.0: command to set polling request
       Class2TBCCmd                  string     AT+FPP=0         Class 2.0: command to enable stream mode
       Class2UseLineCount            boolean    No               Class 2.0: use the line count from the firmware decoder
       Class2UseHex                  boolean    No               Class 2.0: parse capabilities strings as hex values
       PagerSetupCmds                string     -                commands for setting up modem for a pager call
       PagerMaxMsgLength             integer    128              max length of a text message
       IXOService                    string     ‘‘PG’’           IXO: service identification string
       IXODeviceID                   string     ‘‘1’’            IXO: device identification string
       IXOMaxUnknown                 integer    3                IXO and UCP: max unknown responses before abort
       IXOIDProbe                    integer    2                IXO: time between sending \r during ID sequence (secs)
       IXOIDTimeout                  integer    20               IXO: max time to wait for ID= response (secs)
       IXOLoginRetries               integer    3                IXO: max attempts to login
       IXOLoginTimeout               integer    15               IXO: max time to complete login (secs)
       IXOGATimeout                  integer    30               IXO: max time to wait for Go-Ahead response (secs)
       IXOXmitRetries                integer    3                IXO and UCP: max retries to send text msg block
       IXOXmitTimeout                integer    15               IXO and UCP: max time to transmit text msg block
       IXOAckTimeout                 integer    30               IXO: max time to wait for msg block ack (secs)

SERVER-ORIENTED CONFIGURATION PARAMETERS

       These configuration parameters affect the general operation of the  fax
       server.

       AdaptiveAnswer
              Control  whether  or  not an adaptive answering strategy is used
              whereby an incoming call is answered in multiple ways  according
              to  the  list  specified  in  the  AnswerRotary  parameter.  For
              example, if  adaptive  answering  is  enabled  and  AnswerRotary
              specifies  ‘‘fax  data’’,  then  an  incoming call will first be
              answered as fax using ModemAnswerFaxCmd and then, if that fails,
              as  data  using  ModemAnswerDataCmd.   If  the  adaptive  answer
              strategy is not enabled,  then  calls  are  answered  using  the
              appropriate  ModemAnswer*Cmd  parameter (normally ModemAnswerCmd
              for  unattended  operation).   Note  that  the  adaptive  answer
              strategy  depends  on  many  factors  that limit its usefulness.
              When calls are answered first as fax, it  typically  only  works
              with  a  Class 1 modem because it is important that the sequence
              of operations related to answering as  fax  be  completed  in  a
              short  enough  time  that  a  subsequent answer for data be done
              before the caller times out and hangs up the telephone (for this
              reason  Class1RecvIdentTimer  should  be  set to a value that is
              shorter than FaxT1Timer.)   Also,  note  that  it  is  sometimes
              necessary  to  arrange  that the phone be placed on-hook between
              successive answers; this can typically be done by inserting  the
              appropriate  command  at  the start of the second and subsequent
              ModemAnswer*Cmds.

       AdminGroup
              Tells PAM what user group  is  allowed  to  administer  the  fax
              server.  Only useful if the server is compiled with PAM enabled.

       AnswerRotary
              The sequence of answering techniques the server should  ‘‘rotate
              through’’ when answer incoming calls.  Answering techniques are:
              Name    Description
              fax     answer a fax call
              data    answer a data call
              voice   answer a voice call
              extern  use the vgetty application to answer a call
              any     answer a call of any/unknown type
              When a call is not answered succesfully, the server advances the
              rotary   to   the   next   specified  answering  technique.   If
              AdaptiveAnswer is enabled, the server will try all the answering
              techniques  for  each  incoming  call.  Otherwise, the rotary is
              advanced between unsuccessful  phone  calls.   For  example,  if
              AdaptiveAnswer  is  disabled  and  AnswerRotary is ‘‘fax data’’,
              then the calls will initially be answered as fax until the first
              call  is received that does not appear to be from a fax machine;
              after that calls will be answered as if they were  from  a  data
              modem  until  the  next unsuccessful call; after which they will
              one again be answered as fax.  Only the first  three  techniques
              listed  are  used;  any  additional ones are (silently) ignored.
              See also AnswerBias.

       AnswerBias
              The index into the AnswerRotary  list  that  the  server  should
              rotate  the  list  to after each successful incoming phone call.
              List indices are numbered starting at  zero.   For  example,  if
              AnswerRotary  is  ‘‘fax  data’’  and AnswerBias is 1, then after
              each successful inbound call, the next call will be answered  as
              data.

       AreaCode²
              The  local area code in which the facsimile modem resides.  This
              value is passed to the dial string  rules  that  are  used,  for
              example,  to  formulate canonical phone numbers for dialing (see
              DialStringRules below.)

       BatchLogs¹
              When sending or recieving multiple documents (denoted  by  EOM),
              this  value determines if the session logs span the entire batch
              or, if set to no, only contain a single document.

       CallIDPattern
              A string that identifies  the  caller’s  identity  in  any  call
              identification messages provided by the modem (such as Caller*ID
              or DNIS/DID).  The specified  string  is  compared  against  any
              unrecognized  status  messages  received  from  the modem before
              ModemAnswerCmd is sent to the modem.  If there is a match,  then
              the  remainder  of  the  message  is returned as CallIDn where n
              corresponds to the n’th instance that this CallIDPattern is from
              the  top  in the modem configuration file.  For example, for the
              ZyXEL U-1496 this parameter would be set to
              CallIDPattern: ‘‘CALLER NAME: ’’ (note the trailing space).
              If more than one message matches  between  instances  of  "RING"
              messages, then the message remainders are concatenated.

              The   special   CallID  value  of  "SHIELDED_DTMF"  is  used  in
              conjunction  with  ModemRingResponse   and   CallIDAnswerLength.
              After executing ModemRingResponse, HylaFAX will expect DTMF data
              (usually DLE-shielded) for CallIDn until  CallIDAnswerLength  is
              reached.   Note that if the modem is in voice mode to hear these
              DTMF digits, then it  must  be  returned  to  fax  mode  in  the
              ModemAnswerCmd.

              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
              ModemAnswerCmd would be sent to the modem immediately  following
              the  "NDID"  response, and the "NMBR" and "NAME" responses would
              be ignored.  Generally only one CallIDAnswerLength  item  should
              be in a modem configuration file.

       CallIDAnswerLength
              An  integer  indicating  the  minimum  number of characters in a
              CallID matching the previous CallIDPattern to be  received  when
              ModemAnswerCmd   is  sent  to  the  modem  irrespective  of  any
              RingsBeforeAnswer value greater  than  zero.   This  allows  the
              answering  of  calls  which  deliver CID/DID data but not RINGs.
              For example,
              CallIDAnswerLength: ‘‘7’’
              would cause the call to  be  answered  when  CallID2  reached  a
              length  of seven digits.  A value of zero for CallIDAnswerLength
              disables this feature.

       ClocalAsRoot
              Control whether operations that set the CLOCAL bit on the  modem
              device  special  file are done with the effective user-ID set to
              the super-user or the ‘‘fax’’ user.  By default such  operations
              are  done as the fax user, except under IRIX where they are done
              as the super-user (because IRIX disallows manipulation of CLOCAL
              by anyone but the super-user).

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

       ContCoverPage¹
              A template file to use in creating continuation cover pages.  If
              this  parameter  is  non-null,  then  the  server  will pass the
              filename to the command specified by  ContCoverCmd  to  generate
              cover  pages for outbound jobs that are continued after protocol
              errors.  These cover pages identify the  receiver  and  indicate
              that   the  document  is  a  continued  transmission.   If  this
              parameter is not specified or is null, then the server will  not
              generate  continuation cover pages.  The specified pathname must
              be relative to the top of the fax server’s spooling area.

       CountryCode²
              The local country code in which the facsimile modem resides.  As
              for  AreaCode, this value is passed to the dial string rules for
              use in formulating canonical phone numbers  for  dialing  (among
              other things.)

       DestControls¹
              An  optional file containing rules for controlling parameters on
              a  per-destination  basis;  see   destctrls(5)   The   following
              parameters    may    be    controlled   with   this   mechanism:
              MaxConcurrentCalls,    MaxDials,     MaxSendPages,     MaxTries,
              RejectNotice, SessionTracing, and TimeOfDay.  If no DestControls
              parameter is specified, or if the controls file does not specify
              default  values  for  these parameters, then any settings in the
              config file used by faxq(8) are used for default settings.  Note
              that  faxq  automatically rereads the contents of a DestControls
              file if it is modified while the server is running.

       DeviceMode
              The file protection mode that the  server  should  set  for  the
              modem device file.  Note that this value is given in octal.  The
              default value of 0600  implies  that  only  the  facsimile  user
              (usually uucp) can access the modem.  See also chmod(2).

       DialStringRules²
              The  pathname  of  the  file that holds the rules for processing
              user-specified dial strings; c.f.  dialrules(5).  The  specified
              pathname  must  be  relative  to  the  top  of  the fax server’s
              spooling area; e.g.  etc/dialrules.

       DistinctiveRings
              Modern distinctive ring support on  most  modems  indicates  the
              ring   cadence   rather  than  the  older  style  of  ‘‘RING1’’,
              ‘‘RING2’’, etc.  To  indicate  the  ring  cadence,  DRingOn  and
              DRingOff  values  are  presented  by  the  modem to the faxgetty
              process.   The  modem  indicates  the  entire  cadence   between
              ‘‘RING’’ indications Like this:

                RING
                DROF=40
                DRON=8
                DROF=4
                DRON=8
                RING

              The  corresponding  DistinctiveRings  parameter  for  this  ring
              cadence would be:

                DistinctiveRings:  F-8-4-8

              where ‘‘F’’ tells the faxgetty process that the ring cadence  is
              for  a  facsimile  (‘‘V’’ for voice and ‘‘D’’ for data), and the
              other values describe the ring cadence with leading  and  ending
              DRingOff  values  ignored.  Multiple ring cadences are indicated
              by delimiting them with commas in this fashion:

                DistinctiveRings:  V-20,F-8-4-8,D-4-2-4-8

       DRingOff
              A string that identifies the ‘‘off’’ value  in  any  distinctive
              ring  cadence,  for  example  ‘‘DROF=’’.   See  also DRingOn and
              DistinctiveRings.

       DRingOn
              A string that identifies the ‘‘on’’  value  in  any  distinctive
              ring  cadence,  for  example  ‘‘DRON=’’.   See also DRingOff and
              DistinctiveRings.

       DynamicConfig
              The pathname of the optional shell script, e.g. ‘‘etc/localid’’,
              that    makes    dynamic   configuration   changes,   i.e.,   to
              LocalIdentifier, based on device  ID  and  call  identification.
              The script is passed those values as the parameters ($1 = device
              id, $2 = CallID1,  $3  =  CallID2,  $4  =  CallID3,  ...),  when
              answering  an  incoming call.  The script can then perform local
              processing  as  desired  to  send   on   standard   output   the
              configuration  items  to change in a ‘‘parameter:value’’ format,
              i.e.   ‘‘LocalIdentifier:  +1.800.555.1212’’.   If   there   are
              multiple parameters to be changed, then each item must be on its
              own line.  This is commonly used to dynamically alter the  local
              identification of systems which use DID/DNIS, but it can also be
              used to  allow  different  modem  configurations  for  different
              senders.   Note that this script must be marked as executable by
              the faxgetty process.

       FAXNumber
              The phone number associated  with  the  facsimile  modem.   This
              string   is   used   to   generate  the  Transmitter  Subscriber
              Identification (TSI) and Caller Subscriber Identification  (CSI)
              information passed to remote machines—unless the LocalIdentifier
              parameter is explicitly set.  The FAXNumber is also used to name
              the  session log file where information for incoming phone calls
              is recorded; see hylafax-log(5).  If this phone number is not  a
              fully  qualified  number  the values of AreaCode and CountryCode
              are used to generate the transmitted CSI and TSI.

       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.

       JobReqBusy
              The delay in seconds to wait before retrying a job whose dialing
              attempt failed with a ‘‘BUSY’’ status result.

       JobReqDataConn
              The  delay  in  seconds  to wait before retrying a facsimile job
              whose dialing attempt failed because a data modem  answered  the
              phone.

       JobReqNoAnswer
              The delay in seconds to wait before retrying a job whose dialing
              attempt failed with a ‘‘NO ANSWER’’ status result.

       JobReqNoCarrier
              The delay in seconds to wait before retrying a job whose dialing
              attempt failed with a ‘‘NO CARRIER’’ status result.

       JobReqNoFCon
              The  delay  in  seconds  to wait before retrying a facsimile job
              whose dialing  attempt  failed  because  the  initial  facsimile
              protocol   handshake  failed  (i.e.  no  ‘‘+FCON:’’  result  was
              received from a Class 2/2.0 modem).

       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 ANSWER when the number has not been
              successfully  dialed before.  In normal operation the fax server
              will  treat  this  result  code  to  mean   that   a   facsimile
              modem/machine  did  not answer the phone and reject the transmit
              job.  This is done  to  avoid  repeatedly  dialing  wrong  phone
              numbers  and  depends  on  the  modem  distinguishing between no
              carrier and no answer.  However, some modems are not capable  of
              reliably  distinguishing  between  no  carrier and no answer, or
              when  instructed  to  do  so  do  not  identify  a  busy  signal
              correctly.   For  these  modems  one  may  find  it necessary to
              increase the value of  this  parameter  to  compensate.   It  is
              strongly  recommended,  however, that this value not be set to a
              large number.

       JobRetryOther
              The number of times to redial a phone number after  the  dialing
              attempt  failed  for  a reason not already covered by one of the
              other  JobRetry*  parameters  when  the  number  has  not   been
              successfully dialed before.

       GettyArgs
              A  string that indicates whether or not the server should invoke
              the getty(8) program in response to an incoming call from a data
              modem.   If the string value is not null, then it is interpreted
              as a set of arguments to pass  to  the  getty  program.   Before
              supplying  the  arguments,  the  string  is  first  scanned  for
              ‘‘%’’-escape sequences: any appearance  of  ‘‘%l’’  is  replaced
              with  the tty name and any appearance of ‘‘%s’’ is replaced with
              the serial port speed (in decimal).  The ‘‘%’’ character can  be
              specified  with  ‘‘%%’’.   If  the  GettyArgs  parameter  is not
              specified in the configuration file or if the  string  value  is
              null,  then  data  connections  will  be rejected.  Note that in
              addition to the specified  command  line  arguments,  the  getty
              program  is  invoked  with its standard input, output, and error
              descriptors directed to the controlling tty device.

       LocalIdentifier
              The local station identification string to use when transmitting
              TSI  and  CSI  strings  (see  FAXNumber  above).  NB: while this
              string may contain any printable ASCII characters;  beware  that
              CCITT  T.30  specifies  a  restricted character set and some fax
              modems and machines may reject or  not  display   non-conforming
              strings.   If the local identifier is not specified, a canonical
              form of the FAXNumber is used instead.

       LockDataCalls
              Hold the UUCP lockfile during the time an inbound data  call  is
              processed  by  the  external getty program.  If this is disabled
              then the lockfile will be removed just before the getty  program
              is  invoked.   Note  however  that  doing this introduces a race
              condition whereby an outbound program  may  sneak  in  and  take
              control  of  the modem after the inbound call has been accepted,
              but before the getty program has started up and  installed  it’s
              own lockfile.

       LockVoiceCalls
              Hold  the  UUCP lockfile during the time an inbound data call is
              processed by the external  voice  getty  program.   If  this  is
              disabled then the lockfile will be removed just before the voice
              getty  program  is  invoked.   Note  however  that  doing   this
              introduces  a  race  condition  whereby  an outbound program may
              sneak in and take control of the modem after  the  inbound  call
              has  been  accepted,  but  before  the  voice  getty program has
              started up and installed it’s own lockfile.

       LogFacility²
              The symbolic name for the syslog(3) facility to use when logging
              error  messages  and  informational/debugging messages requested
              through the ServerTracing parameter.  The list of facility names
              is  standardized;  it  can  be  found in the system include file
              <syslog.h>; comparisons are case-insensitive.

       LogCalls
              Log all incoming calls into xferfaxlog as  CALL  records.   This
              allows  a  quick  check of all incoming calls, regardless of fax
              completion or not in a unified manner with other fax logs.

       LogFileMode
              The file protection mode that should be used when creating files
              to  hold  session logs.  Note that this value is given in octal.
              The default value of 0600 implies that the  log  files  are  not
              generally   accessible,   which   is   important   if  sensitive
              information such as calling card access codes  are  logged.   If
              log  files are to be publicly accessible, this value may be set,
              for example, to 0644.  See also chmod(2).

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

       MaxConcurrentCalls¹
              The  default value to use for the maximum number of jobs for the
              same destination that are  processed  concurrently.   Thus  this
              parameter  defines  the maximum number of concurrent phone calls
              to the same destination.  Unless all of  your  fax  destinations
              have   multiple   fax  lines  using  the  same  fax  number  per
              destination then MaxConcurrentCalls is probably best left as the
              default  of  1  and  exceptions  should  be  accomodated  by the
              DestControls file.

       MaxBatchJobs¹
              The maximum number of jobs to batch together in a single call.

       MaxConsecutiveBadLines
              The maximum number of consecutive erroneous rows of  image  data
              that  the  server  will  receive  before it deems a page to have
              unacceptable copy  quality.   Setting  this  parameter  to  zero
              causes   the  server  to  not  check  the  quality  of  received
              facsimile.  Facsimile received with error-correction do not have
              copy quality checking performed.  See also PercentGoodLines.

       MaxDials¹
              The  default  value  for  the maximum number of times the server
              will place a call for  an  outbound  job.   This  value  may  be
              overridden   by  rules  in  the  DestControls  file.   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 DestControls file.

       MaxSetupAttempts
              The maximum number  of  times  a  HylaFAX  server  program  will
              attempt  to initialize a modem before considering it ‘‘wedged’’.

       MaxTries¹
              The default value for the maximum number  of  times  the  server
              will attempt to communicate with a remote site.  Note that for a
              call  to  be  counted  against  this  limit,  carrier  must   be
              established;  this is in contrast to the value of MaxDials which
              limits the number of calls that will be placed on  behalf  of  a
              job.   This value may be overridden by rules in the DestControls
              file.  See also MaxDials.

       ModemGroup¹
              Define a  logical  name  for  a  set  of  modem  devices.   This
              parameter  can  be used to define a name that clients can use to
              refer to  a  collection  of  modems.   The  syntax  is  ‘‘<name>
              <regex>’’  where <name> is the name for the group and <regex> is
              a regular expression that faxq(8) matches against known  modems.
              Thus  for  example,  the default modem to use for a job, any, is
              defined as ‘‘any:.*’’.  This parameter may be specified multiple
              times  to  define  multiple  modem  classes.   Modem classes may
              overlap.  The actual set of modems in a  modem  class  that  are
              considered  for  use may vary based on which modems are believed
              to be ready for use.

       ModemPriority
              The scheduling priority to use for a modem.  Priority values are
              in the range 0 to 255 with lesser values signifying higher (more
              desirable) priority.  The HylaFAX scheduler process assigns  the
              highest  priority modem that is ready for use when scheduling an
              outbound job.

              If multiple available modems in a job’s selected ModemGroup have
              the same ModemPriority value, then the HylaFAX scheduler assigns
              jobs to them in a round-robin fashion.

       NoAnswerVoice
              Whether or not to disable the answering of  calls  indicated  as
              voice (e.g. by DistinctiveRings ).

       NoCarrierRetrys
              This is mapped onto 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
              ModemRingResponse to be sent to the modem after hearing at least
              ModemRingsBeforeResponse RINGs  in  order  to  receive  DID-DTMF
              data, for example.

       ModemRingsBeforeResponse
              This  defines  the  minimum  number  of RINGs that must be heard
              before ModemRingResponse is first sent to the modem.

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

       PageChop¹
              Whether  or not to automatically truncate trailing whitespace on
              pages of outbound facsimile (when possible).  If  page  chopping
              is  enabled, then pages with at least PageChopThreshold trailing
              whitespace on a page will be transmitted as a ‘‘short page’’  if
              the receiver is capable of accepting variable-length pages.  The
              possible values are: ‘‘last’’ to enable  chopping  of  the  last
              page  of each document, ‘‘all’’ to enable chopping of all pages,
              or ‘‘none’’ to disable page chopping.

       PageChopThreshold¹
              The minimum amount of trailing whitespace that must  be  present
              on  a page before page chopping will be attempted; see PageChop.
              Note that this value is specified in inches.

       PCL2FaxCmd¹
              The command to invoke to convert a HP-PCL document submitted for
              transmission  to  TIFF/F,  suitable for transmission (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
              performed.  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  realtime
              execution, particularly with Class 1 configurations on older  or
              slower systems.

              Currently  PriorityScheduling  is available for IRIX, SVR/4, HP-
              UX, and POSIX-compliant (i.e.  Linux)  operating  systems.   The
              default  value  varies to maintain traditional HylaFAX behavior.
              On IRIX, SVR/4, and HP-UX systems  where  the  configure  script
              detects  one of the functions schedctl(), priocntl() or rtprio()
              the  default  is  true.   The  only  other  supported   priority
              mechanism is POSIX sched_setscheduler(), which is used on Linux,
              OpenServer and possibly other systems.  On such systems, as well
              as on systems where no priority scheduling mechanism exists, the
              default is false."

       PS2FaxCmd¹
              The command to invoke to convert a POSTSCRIPT document submitted
              for  transmission  to  TIFF/F,  suitable  for  transmission; see
              ps2fax(8).

       QualifyCID
              A string that  specifies  whether  or  not  call  identification
              information  should  be  checked  against an access control list
              before accepting an inbound call.  If QualifyCID is non-null and
              there  is  call  identification  service,  then  only calls with
              CallID1 data matching identifications in the file  specified  by
              this string (typically etc/cid) will be accepted; see callid(5).
              If QualifyCID is not specified in the configuration file, or the
              value is null, then all incoming calls will be answerable.  Note
              that call identification screening is only available  when  this
              service is enabled on the phone line and the modem is capable of
              presenting that information  to  the  host.   The  CallIDPattern
              parameters must also be setup to reflect the manner in which the
              modem returns call identification information to the host.

       QualifyPWD
              A string that specifies whether or not the identity  of  calling
              facsimile  machines  should be checked against an access control
              list before receiving facsimile.   If  QualifyPWD  is  non-null,
              then  only  messages  from  facsimile machines identified in the
              file specified by the  string  (typically  etc/passwd)  will  be
              accepted; similar to QualifyTSI.

       QualifyTSI
              A  string  that specifies whether or not the identity of calling
              facsimile machines should be checked against an  access  control
              list  before  receiving  facsimile.   If QualifyTSI is non-null,
              then only messages from facsimile  machines  identified  in  the
              file  specified  by  the  string  (typically  etc/tsi)  will  be
              accepted; see tsi(5).  If QualifyTSI is  not  specified  in  the
              configuration  file,  or  the  value  is null, then all incoming
              facsimile messages will be accepted.

       RecvDataFormat
              The data format (compression scheme) to write received facsimile
              data when copy quality checking is performed on the host.  (When
              copy quality checking is not done by  the  server,  for  example
              when  error  correction protocol is used, the received facsimile
              data is written exactly as it is received from the modem.)   The
              format  may  be  one:  ‘‘1-D  MH’’,  ‘‘2-D MR’’, ‘‘2-D MMR’’, or
              ‘‘adaptive’’.  An ‘‘adaptive’’ format causes the  received  data
              to be written using the data format negotiated by the sender and
              receiver.  Note that while 2-D MMR is the  most  space-efficient
              data  format  the  resultant  file  may not be viewable (certain
              commonly used programs do not  properly  read  multi-strip  TIFF
              with 2-D MMR data).

       RecvFileMode
              The file protection mode that should be used when creating files
              to hold incoming facsimile.  Note that this value  is  given  in
              octal.   The  default  value  of  0600  implies  that  only  the
              facsimile  user  can  read  received  facsimile.   If   incoming
              facsimile  are to be publicly accessible, this value may be set,
              for example, to 0644.  See also chmod(2).

       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
              succesfully.  HylaFAX will make up to two additional attempts to
              send the page, decreasing signalling rate  and  retraining.   If
              RTN  continues,  up  to  2 additional calls will be placed.  The
              downside is that if the remote always  responds  with  RTN,  the
              page  will  be sent 9 times and no following pages will be sent.
              Many fax machines  will  not  behave  this  way,  although  T.30
              specification  seems  clear  that  this is the intent of the RTN
              signal.

              Many fax machines will interpret RTN as meaning to not send  the
              same data again.  That is because RTN may indicate problems with
              flow  control,   incorrectly   encoded   T.4   data,   or   some
              incompatibility  other  than  line  noise.   Fax  machines  that
              interpret RTN this way will  disconnect  and  require  a  manual
              retransmission.    This   ‘‘over  and  out’’  behaviour  can  be
              activated by  the  ‘‘Giveup’’  value.   The  advantage  to  this
              behavior  is  that  the same page of image data will not be sent
              multiple times, but the downside is  that  the  following  pages
              will not be sent.

              ‘‘Ignore’’  is  similar  to  ‘‘Giveup’’  in  that  it  makes the
              assumption the data cannot  be  automatically  accepted  by  the
              receiver.   However, rather than disconnecting the page of image
              data is abandoned and processing moves  on  to  the  next.   The
              remote  is  left to decide what to do with the unacceptable page
              of image data.  The downside  to  this  behavior,  is  that  the
              remote  may  or  may  not  have  kept the page, depending on its
              interpretation of the RTN signal -  but  it  does  allow  us  to
              continue on to the next page.

              ‘‘Retransmit-Ignore’’  is  a  combination  of ‘‘Retransmit’’ and
              ‘‘Ignore’’.  The page of image data is retransmitted up  to  two
              additional  times,  but  rather than disconnecting after a third
              RTN signal for the same page, processing then  continues  on  to
              the  next  page.   This  approach  is  an effort to satisfy both
              interpretations of an RTN signal.  It  allows  the  receiver  to
              hopefully  receive  a  better  copy  of the image data while not
              failing to send subsequent pages.   If  the  receiver  saves  or
              prints a copy of pages for which it transmits RTN, then it could
              save or print up to three copies of every page.

       SaveUnconfirmedPages
              Whether or not to save a received facsimile image  page  if  the
              sender   disconnects  without  sending  the  post-page  message,
              without hearing our message confirmation, without retraining  as
              requested, or otherwise breaks fax protocol following such pages
              for which the sender should not have a ‘‘receipt confirmation’’.

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

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

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

       ServerTracing²
              A number that controls the generation of tracing information  by
              a  server  when  not  actively  sending  or receiving facsimile.
              Tracing is divided into areas that are individually  controlled.
              To  enable  tracing  of  multiple  areas  of operation, the flag
              associated with each area should be bit-or’d to form  the  value
              for this tag.
              Flag                Area                    Description
              1 (0x00001)         Server Operation        queue management and general operation
              2 (0x00002)         FAX/IXO Protocol        T.30 facsimile protocol or IXO/TAP protocol
              4 (0x00004)         Modem Operations        modem hardware manipulation
              8 (0x00008)         Modem Communications    comands passed between host and modem
              16 (0x00010)        Timeouts                timer operations
              32 (0x00020)        Modem Capabilities      modem capabilities
              64 (0x00040)        HDLC Frames             binary T.30 HDLC frames
              128 (0x00080)       Binary Modem I/O        binary communication between host and modem
              256 (0x00100)       Server State Transitionsserver program state transitions
              512 (0x00200)       Queue Management        job queue management
              1024 (0x00400)      Copy Quality            copy quality checking of received facsimile
              2048 (0x00800)      Job Management          low-level job management
              4096 (0x01000)      IXO Protocol            low-level IXO protocol
              8192 (0x02000)      Config File Parsing     unknown configuration file parameters
              16384 (0x04000)     FIFO Messages           inter-application messages
              32768 (0x08000)     Modem State Transitions modem state changes (down, busy, ready)
              65536 (0x10000)     Dial Rules              dialstring rules parsing and execution
              131072 (0x20000)    Docq Changes            document reference handling
              262144 (0x40000)    TIFF library            any messages produced by the TIFF library
              524288 (0x80000)    ECM Frames              binary T.30-A HDLC ECM frames
              For example, to enable tracing of server operations and protocol
              operations, a value of 1+2=3 should be specified.   NB:  tracing
              timeouts  and/or  binary  modem  I/O  can  adversely  affect the
              operation of the fax server; enabling these areas should be done
              with extreme care.

              Server  tracing  is  directed  to  syslog(3)  using the facility
              specified with the LogFacility  configuration  parameter.   Note
              that  syslogd(8)  must  be  configured to capture facility.info,
              facility.debug,  facility.warning,  and  facility.err  messages.
              See hylafax-log(5) for a description of the logged messages.

       SessionTracing²
              A  number that controls the generation of tracing information by
              a server while sending or receiving facsimile.   The  number  is
              interpreted  identically  to  ServerTracing.   Note that session
              tracing is placed in log files  in  the  log  subdirectory;  see
              hylafax-log(5) for more information.

       SpeakerVolume
              The volume level that the in-modem speaker should be adjusted to
              while in command mode.  The possible values are:
              Value     Description
              Off       silent
              Quiet     almost inaudible
              Low       tolerable in privacy
              Medium    loud enough to hear in the next room
              High      intolerable
              Note that the speaker is  always  turned  off  once  carrier  is
              established.   Also beware that some modems support fewer volume
              settings; see ModemSetVolumeCmd.

       TagLineFont
              The filename of the font to use in imaging tag lines across  the
              top  of  each  transmitted  page.   Fonts  must be stored in the
              Portable Compiled Font (PCF)  format  used  by  the  X11  Window
              System.   Filenames  are  specified  relative to the root of the
              spooling area; e.g. etc/lutRS18.pcf.  If no font  is  specified,
              if  a  null filename is specified, or if the specified font file
              is not readable, then tag lines will not be generated.  See also
              TagLineFormat.

       TagLineFormat
              The  format  string to use when imaging tag lines across the top
              of each transmitted page.  This string may include escape  codes
              that  cause various items to be interpolated into the imaged tag
              line.  Any escape code supported by strftime(3C) may be used  as
              well as the following server-implemented codes:
              Escape    Description
              %%d       destination phone number
              %%i       job 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
              %%t       total pages in session
              %%T       total pages in job
              %%%       ‘‘%’’
              In  addition,  the format string may indicate that text is to be
              centered in multiple equal-sized fields by separating text  with
              ‘‘|’’  characters.   For  example, ‘‘a|b|c’’ would cause the tag
              line to be broken up  into  three  equal-sized  areas  with  the
              strings  ‘‘a’’,  ‘‘b’’,  and  ‘‘c’’ centered within each region.
              The default tag line format string is ‘‘From %%n|%c|Page %%P  of
              %%T’’.   The  differences  between the %%p or %%P and the %%t or
              %%T options are noticed when a  fax  job  is  retried  after  an
              incomplete attempt and only the previously unsent pages are then
              queued in a successive session.  See also TagLineFont.

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

       TimeOfDay¹
              The default time-of-day restrictions to apply to outbound  jobs.
              Outbound  jobs will be processed only during the specified time.
              Any jobs submitted outside this time period will be  held  until
              the start of this time.  The syntax for time-of-day restrictions
              is designed to be compatible with the syntax used  by  the  UUCP
              software.  The following BNF describes the syntax:
                 Syntax = tod ["," tod]
                    tod = <days><timerange>
                   days = "Any" | "Wk" | <dayname>+ | nothing
                dayname = "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat"
              timerange = <start> "-" <end> | nothing
                  start = <24hrtime>
                    end = <24hrtime>
               24hrtime = {0-9}{0-9}{0-9}{0-9}
                nothing =
              where  start  and end are 24-hour times, day names can be either
              2- or 3-characters, and a null day or time  specification  means
              any  time  or day.  White space and other syntactic sugar may be
              freely inserted between tokens but may not be  inserted  between
              24-hour times in the time range.

              This  value may be overridden by rules in the DestControls file.

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

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

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

       UUCPLockTimeout²
              The time in  seconds  to  wait  before  removing  a  stale  UUCP
              lockfile (i.e. a lockfile whose owner does not appear to exist).
              If this value is set to 0, then the fax server will never remove
              a stale lockfile.

       UUCPLockType²
              A  string  that  specifies  the type of UUCP lockfile to create.
              The string may be one of ‘‘ascii’’ or  ‘‘binary’’  depending  on
              whether  the process-ID of the lock owner is written to the file
              as an ascii string or  as  a  binary  value,  respectively.   In
              addition,  two prefixes may be used to control the format of the
              lock filename.  If the type string is  prefixed  with  a  ‘‘+’’,
              then  SVR4-style  filenames are generated using the major device
              number of the tty device and the major and minor device  numbers
              for the filesystem on which the tty device resides.  If the type
              string is prefixed with a ‘‘-’’, then any upper case letters  in
              the device part of the lockfile name are converted to lower case
              letters;  for   example,   ‘‘LCK..ttyA01’’   is   converted   to
              ‘‘LCK..ttya01’’.   This upper-to-lower case conversion is useful
              for systems such as SCO where the convention is to name  devices
              with  upper-case  letters,  but create lockfiles with lower-case
              letters.

       VGettyArgs
              A string that indicates whether or not the server should  invoke
              a voice getty program in response to an incoming voice call.  If
              the string value is not null, then it is interpreted as a set of
              arguments  to  pass to the vgetty program.  Before supplying the
              arguments,  the  string  is  first  scanned   for   ‘‘%’’-escape
              sequences:  any  appearance  of  ‘‘%l’’ is replaced with the tty
              name and any appearance of ‘‘%s’’ is replaced  with  the  serial
              port  speed  (in decimal).  The ‘‘%’’ character can be specified
              with ‘‘%%’’.  If the VGettyArgs parameter is  not  specified  in
              the  configuration  file  or  if  the string value is null, then
              voice connections will be rejected.  Note that  in  addition  to
              the  specified  command  line  arguments,  the vgetty program is
              invoked with its standard input, output, and  error  descriptors
              directed to the controlling tty device.

       WedgedCmd¹
              The  command  to  invoke  when a modem is deemed ‘‘wedged’’; see
              wedged(8).

MODEM-ORIENTED CONFIGURATION PARAMETERS

       This section lists configuration parameters that are  specific  to  the
       setup  and  operation  of  the  modem.   All commands must be specified
       exactly as they are to be transmitted to the modem (note that this is a
       departure  from  previous  versions of this software that automatically
       prepended ‘‘AT’’ to each line of commands sent  to  the  modem).   When
       multi-line  commands  are required, enclose the commands in quote marks
       (‘‘"’’) and insert a newline character ‘‘\n’’  where  lines  should  be
       broken.     An    example   of   a   multi-line   command   string   is
       ‘‘AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10’’.

       Command strings sent to the modem  may  include  command  escapes  that
       force  the  host  to  alter  the  DTE-DCE  communication rate, the flow
       control scheme used between the host and modem, delay for a  period  of
       time,  flush  input  data,  and  wait  for a specific response from the
       modem.  The following escape codes are interpreted:
              Escape      Effect
              <none>      enable no flow control between DTE and DCE
              <xon>       enable software flow control between DTE and DCE
              <rts>       enable hardware flow control between DTE and DCE
              <2400>      set the DCE-DTE baud rate to 2400 bps
              <4800>      set the DCE-DTE baud rate to 4800 bps
              <9600>      set the DCE-DTE baud rate to 9600 bps
              <19200>     set the DCE-DTE baud rate to 19200 bps
              <38400>     set the DCE-DTE baud rate to 38400 bps
              <57600>     set the DCE-DTE baud rate to 57600 bps
              <76800>     set the DCE-DTE baud rate to 76800 bps
              <115200>    set the DCE-DTE baud rate to 115200 bps
              <delay:N>   delay N x 10 ms on the host (0 <= N <= 255)
              <flush>     flush any pending input data from the modem
              <waitfor:R> wait for the response R from the modem (see below)
       Note that commands to the left of an escape code are sent to the  modem
       before the associated actions are carried out on the host.  This may be
       important when changing baud rates, as the result code from  a  command
       may  be  returned at the new baud rate.  Also, beware that not all baud
       rates are supported by all systems and modems; the set  of  baud  rates
       supported by a host is usually listed in stty(1).

       The  ‘‘<waitfor:..>’’  escape  can  be  used  to  override  the default
       behaviour which is to wait for an ‘‘OK’’ response to a command sent  to
       the modem.  The possible response codes are:
              NOTHING       a null response
              OK            the default response
              CONNECT       ‘‘CONNECT...’’
              NOANSWER      ‘‘NO ANSWER...’’
              NOCARRIER     ‘‘NO CARRIER...’’
              NODIALTONE    ‘‘NO DIALTONE...’’
              BUSY          ‘‘BUSY’’
              OFFHOOK       ‘‘PHONE OFF-HOOK’’
              RING          ‘‘RING...’’
              ERROR         error status from modem
              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).

       ModemAnswerCmd
              The  command  to  answer  the  phone.  If possible, this command
              should generate a result  string  that  identifies  whether  the
              incoming  call  is  from  a  facsimile,  voice,  or  data modem.
              Typically this auto-detection is configured ahead of time;  e.g.
              for Class 2 modems with the ‘‘AT+FAA=1’’ command.

              The   following   table  describes  how  the  result  codes  are
              interpreted by the facsimile server.
              Result String    Default          Class 1      Class 2      Class2.0
              CONNECT FAX      Fax              -            -            --
              CONNECT          Data             Unknown      -            -
              NO ANSWER        No Answer        -            -            -
              NO CARRIER       No Carrier       -            -            -
              NO DIALTONE      No Dialtone      -            -            -
              ERROR            Error            -            -            -
              FAX              Fax              -            -            -
              DATA             Data             -            -            -
              +FCON            -                -            Fax          Fax
              +FCO             -                -            Fax          Fax
              +FDM             -                -            Data         Data
              +FHNG:           -                -            Error        Error
              VCON             -                -            Voice        Voice
              The ‘‘Default’’ column indicates the interpretation made for the
              result   string  in  either  class  1  or  2  unless  explicitly
              overridden.  The ‘‘Class 1’’  column  indicates  result  strings
              handled  specially  for modems operating in class 1, the ‘‘Class
              2’’ column indicates special handling for  modems  operating  in
              class 2, and the ‘‘Class 2.0’’ column indicates special handling
              for modems operating in class 2.0.  Unknown entries  imply  that
              interpretation  is  based  on  the  way  in  which  the call was
              answered; if answering is done for an explicit call  type,  that
              type is assumed, otherwise a Fax call is presumed.

       ModemAnswerDataBeginCmd
              The command to send to the modem once a data connection has been
              established.

       ModemAnswerDataCmd
              The  command  to  explicitly  answer  the  phone  for   a   data
              connection.   This  command  must  generate a result string that
              identifies the incoming call is from  a  data  modem.   If  this
              parameter  is  not  specified  or  is  null,  then  the value of
              ModemAnswerCmd is used instead.   See  also  AdaptiveAnswer  and
              AnswerRotary.

       ModemAnswerDialCmd
              The  command  to  explicitly  answer  the  phone  for  a  dialed
              connection.  This command must generate  a  result  string  that
              identifies the incoming call is from a facsimile modem.  If this
              parameter is not  specified  or  is  null,  then  the  value  of
              ModemAnswerCmd is used instead.

       ModemAnswerFaxBeginCmd
              The command to send to the modem once a facsimile connection has
              been established.

       ModemAnswerFaxCmd
              The command to explicitly  answer  the  phone  for  a  facsimile
              connection.   This  command  must  generate a result string that
              identifies the incoming call is from a facsimile modem.  If this
              parameter  is  not  specified  or  is  null,  then  the value of
              ModemAnswerCmd is used instead.   See  also  AdaptiveAnswer  and
              AnswerRotary.

       ModemAnswerVoiceBeginCmd
              The  command  to  send  to the modem once a voice connection has
              been established.

       ModemAnswerVoiceCmd
              The  command  to  explicitly  answer  the  phone  for  a   voice
              connection.   This  command  must  generate a result string that
              identifies the incoming call is for voice.  If this parameter is
              not  specified  or  is null, then the value of ModemAnswerCmd is
              used instead.  See also AdaptiveAnswer and AnswerRotary.

       ModemAnswerResponseTimeout
              The maximum time, in milliseconds, to wait for a  response  from
              the  modem after sending ModemAnswerCmd.  Note that you may want
              to shorten this  value  when  using  the  server-based  adaptive
              answer strategy; see AdaptiveAnswer.

       ModemATCmdDelay
              A  delay,  in milliseconds, that should be performed before each
              ‘‘AT’’ command string is sent to the modem.

       ModemBaudRateDelay
              The amount of time, in milliseconds, to pause after setting  the
              baud rate on the serial line.  This is only needed for hosts and
              modems (such as USRs) where setting the serial  line  parameters
              does not take effect immediately.

       ModemCommaPauseTimeCmd
              The  command  to set the time, in seconds, that the modem should
              pause when encountering a ‘‘,’’ modifier in the dialing  string.

       ModemDialCmd
              The  command to place a phone call.  The string is assumed to be
              suitable for use as a parameter to the sprintf(3S) function;  so
              the  ‘‘%’’  character  should  be  escaped  as ‘‘%%’’.  The dial
              command must include a single ‘‘%s’’ where the number that is to
              be  dialed  is  to  be  substituted.  Facilities such as tone or
              pulse dialing, outgoing prefixes to route though a PBX,  and  so
              on should be included in the dialing command string.  It is also
              important that, if possible, a trailing ‘‘@’’ symbol  should  be
              included so that the modem returns result codes that distinguish
              between no answer and no carrier.  Use of the ‘‘@’’ permits  the
              server  to  reduce  the  probability  that  a  wrong  number  is
              continually redialed.   If  the  modem  does  not  support  this
              facility,  then  it  may  be  necessary  to  raise the number of
              retries done when a ‘‘NO CARRIER’’ result is returned.

       ModemDialResponseTimeout
              The maximum time to wait, in milliseconds, for a  response  from
              the  modem  after  sending  This value should be longer than the
              timeout programmed into the modem through  the  ModemWaitTimeCmd
              parameter.   This additional server-based timeout is provided to
              guard against modems that  can  ‘‘lock  up’’  when  dialing  the
              telephone.

       ModemDTRDropDelay
              The  time, in milliseconds, to pause between placing DTR OFF and
              DTR ON while resetting a modem.  This value should be  at  least
              equal  to  the  time-value  of the analogous S-register, usually
              S25.

       ModemEchoOffCmd
              The command to disable echoing of commands sent to the modem.

       ModemFlowControl
              The type of flow control to use between  DTE  and  DCE;  one  of
              ‘‘NONE’’,  ‘‘XONXOFF’’  and  ‘‘RTSCTS’’.   This value is used to
              select the string sent to the modem to initially establish  DTE-
              DCE  flow  control; one of ModemNoFlowCmd, ModemSoftFlowCmd, and
              ModemHardFlowCmd.  The current flow control setting is also used
              to  select  the  appropriate flow control command to send to the
              modem when the software switches to Class  1,  2,  or  2.0;  see
              Class1HFLOCmd,   Class1NFLOCmd,   Class1SFLOCmd,  Class2HFLOCmd,
              Class2NFLOCmd, and Class2SFLOCmd.

              The server supports both software and hardware flow control  for
              Class 1, Class 2, and Class 2.0 modems.  Whether to use hardware
              or software flow control depends  on  the  capabilities  of  the
              modem and the host hardware and operating system.  Communication
              rates above 9600 baud often require that hardware  flow  control
              be  used  for  reliable  DTE-DCE communication.  However, beware
              that many modems only support software flow control when sending
              or receiving facsimile.

              Note  that  modems usually support software flow control even if
              they have no explicit AT-command to activate it; in this case it
              is   switched   on  when  the  modem  enters  fax  mode,  having
              AT+FCLASS=... from DTE.

       ModemFrameFillOrder
              The bit order to expect for received HDLC frames and to use when
              formulating  HDLC  frames  to  send.   This  value may be either
              LSB2MSB when bits  are  ordered  from  least-significant-bit  to
              most-significant-bit  (as in the CCITT specification) or MSB2LSB
              when bits are ordered in the reverse direction.

       ModemHardFlowCmd
              The command to setup hardware (RTS/CTS) flow control between DTE
              and DCE.

       ModemMinSpeed
              The   minimum   acceptable   signalling  rate  for  transmitting
              facsimile page data.  Possible values  are:  2400,  4800,  7200,
              9600, 12200, and 14400.

       ModemMfrQueryCmd
              The  command  to  send  to  the  modem  to  get the manufacturer
              identification string.  If this parameter is not set, then it is
              initialized   to   ‘‘AT+FMFR?’’   for  Class  2  modems,  or  to
              ‘‘AT+FMI?’’ for Class 2.0 modems, or to  ‘‘ATI3’’  for  Class  1
              modems.   If  the  parameter  begins  with  a  ‘‘!’’,  then  the
              remainder of the string is taken to be the identification string
              and no command is issued to the modem.

       ModemModelQueryCmd
              The command to send to the modem to get the model identification
              string.  If this parameter is not set, then it is initialized to
              to  ‘‘AT+FMDL?’’ for Class 2 modems, or to ‘‘AT+FMM?’’ for Class
              2.0 modems, or to ‘‘ATI0’’ for Class 1 modems.  If the parameter
              begins  with  a ‘‘!’’, then the remainder of the string is taken
              to be the identification string and no command is issued to  the
              modem.

       ModemNoAutoAnswerCmd
              The  command to stop the modem from automatically answering when
              the phone rings.

       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
              initialization.  This string is sent  to  the  modem  after  the
              standard  set  of  configuration  commands  required  by the fax
              server.  This is done, for example, to un-busy  a  DID  line  so
              that calls can come through.

       ModemRecvFillOrder
              The bit order to expect for received facsimile data.  This value
              may  be  either  LSB2MSB  when  bits  are  ordered  from  least-
              significant-bit   to   most-significant-bit  (as  in  the  CCITT
              specification) or MSB2LSB when bits are ordered in  the  reverse
              direction.   According  to the various specifications all modems
              should return data in  LSB2MSB  order.   However  most  Class  2
              modems   (except   maybe   only   Multitech)   use  MSB2LSB  for
              compatibility  with  modems  that  were  built   with   Rockwell
              hardware/firmware that included a bug that was too widespread to
              correct.

              If this parameter is not set, then it is autodetected and set to
              LSB2MSB  for  Class  1 and Class 2.0 modems and MSB2LSB for non-
              Multitech Class 2 modems. However this may  be  wrong  for  your
              modem, so you will have to specify this parameter explicitly.

       ModemRecvSuccessCmd
              A  string  of  commands to issue to the modem after a successful
              receive session before the call is disconnected.

       ModemResetCmds
              A  string  of  commands   to   issue   to   the   modem   during
              initialization.   This  string  is  sent to the modem before the
              standard set of  configuration  commands  required  by  the  fax
              server.   Note  that  these  commands  should not include normal
              reset commands that are specified through other parameters.  For
              example,  commands  to  setup  flow  control,  DCD handling, DTR
              handling, etc.  should  be  specified  through  the  appropriate
              configuration  parameters  and  not  through this parameter.  In
              addition the soft reset command (usually ‘‘ATZ’’) should not  be
              included   in  this  string;  the  servers  issue  this  command
              explicitly.

       ModemResetDelay
              The time, in milliseconds, to pause after setting DTR ON,  while
              resetting a modem.  DTR ON does not respond with ‘‘OK’’, so this
              parameter should be long enough to allow the modem  time  to  be
              ready for ModemSoftResetCmd successively.

       ModemResultCodesCmd
              The command to enable result codes.

       ModemRevQueryCmd
              The  command  to  send  to  the modem to get a firmware revision
              identification string.  If this parameter is not set, then it is
              initialized   to   ‘‘AT+FREV?’’   for  Class  2  modems,  or  to
              ‘‘AT+FMR?’’ for Class 2.0 modems.  If the parameter begins  with
              a  ‘‘!’’,  then  the  remainder of the string is taken to be the
              identification string and no command is issued to the modem.

       ModemSendBeginCmd
              The command to send  to  the  modem  upon  establishing  carrier
              during  a  transmit  operation.   This  parameter  is useful for
              systems that are incapable of  enabling  hardware  flow  control
              without DCD asserted.

       ModemSendFillOrder
              The  bit order the modem expects for transmitted facsimile data.
              This  value  may  be  either  LSB2MSB  or  MSB2LSB   (see   also
              ModemRecvFillOrder   above.)    Virtually   all   modems  expect
              transmitted facsimile data in LSB2MSB bit order.

       ModemSetVolumeCmd
              The commands to use to set  the  modem  speaker  volume  levels.
              There should be five whitespace-separated commands, one each for
              setting the volume to ‘‘Off’’, ‘‘Quiet’’,  ‘‘Low’’,  ‘‘Medium’’,
              and  ‘‘High’’;  the  default  is  ‘‘"ATM0  ATL0M1  ATL1M1 ATL2M1
              ATL3M1"’’.  See also SpeakerVolume.

       ModemSetupAACmd
              The command to setup adaptive answer  support  in  the  modem-if
              available.   Adaptive answer is the term used for the ability to
              distinguish  between  calls  from  facsimile,  voice,  and  data
              sources.   Note  that  this string is the last command issued by
              the device drivers during setup, so the command string  may,  if
              necessary,  switch  to  a different operating mode (e.g. on some
              Rockwell-based modems it is necessary to issue the  ‘‘AT+FAA=1’’
              command in Class 0).

       ModemSetupDCDCmd
              The  command  to  setup  DCD  handling.   On  most  systems  the
              facsimile server will enable the CLOCAL flag on the  tty  device
              to  which  the  modem is connected.  This should insure that the
              system does not close an open file  descriptor  associated  with
              the  modem  if  carrier  is dropped.  Thus, for most systems and
              modems ModemSetupDCDCmd should setup DCD to reflect carrier.

       ModemSetupDTRCmd
              The command to setup DTR handling so that  the  modem  is  reset
              when  the  DTR  signal  is  lowered  by the host.  The facsimile
              server uses this facility to insure that modems are not left  in
              a ‘‘locked up’’ state.

       ModemSoftFlowCmd
              The  command  to  setup software (XON/XOFF) flow control between
              DTE and DCE.

       ModemSoftResetCmd
              The command to force a soft reset of the modem.

       ModemSoftResetCmdDelay
              The time, in milliseconds,  to  pause  after  receiving  the  OK
              following ModemSoftResetCmd before any further commands are sent
              to the modem.

       ModemSoftRTFCC
              Whether  or  not  to  enable   software-driven   Real-Time   Fax
              Compression  Conversion.   RTFCC  allows  HylaFAX to convert the
              image compression between MH MR and MMR  formats  regardless  of
              how  faxq formatted the image file.  Note that when using RTFCC,
              the compression format of the file will  be  ignored,  thus  the
              ‘‘-1’’,  ‘‘-2’’,  and  ‘‘-3’’  options  for sendfax, ps2fax, and
              others will only influence how the document is prepared by  faxq
              and will not influence the actual negotiated session parameters.
              Class2RTFCC takes precedence over ModemSoftRTFCC and if both are
              enabled,  then  software-driven  RTFCC  will not be performed in
              favor of the firmware-driven RTFCC.

       ModemType
              This parameter must be set to one of: ‘‘Class2’’,  ‘‘Class2.0’’,
              or  ‘‘Class1’’;  to indicate that the modem is a Class 2-, Class
              2.0-, or Class 1-style modem, respectively.  If  this  parameter
              is  not  set,  then it is autodetected and the highest supported
              fax class is used.

       ModemVerboseResultsCmd
              The command to enable verbose, as  opposed  to  numeric,  result
              codes.

       ModemWaitForConnect
              If  enabled, the facsimile server will not consider a connection
              established when answering an incoming call until a  ‘‘CONNECT’’
              status  string  is received.  This is useful mainly for Rockwell
              RC32ACL-based modems  that  send  ‘‘FAX’’  and  ‘‘DATA’’  status
              messages before sending ‘‘CONNECT’’.

       ModemWaitTimeCmd
              The  command  to set the number of seconds to wait for a carrier
              signal when placing a call or answering the phone.

T.30 PROTOCOL CONFIGURATION PARAMETERS

       The following parameters apply to the implementation of the CCITT  T.30
       facsimile  protocol  in  the Class 1 device driver.  They should not be
       changed without full understanding of the operation of the server.

       FaxT1Timer
              The value of the T1 timer in milliseconds.  This timer  is  used
              to  time  out  the  initial  session  contact;  i.e.  receipt of
              DIS/DCS.

       FaxT2Timer
              The value of the T2 timer in milliseconds.  This timer  is  used
              to time out receiving responses and commands.

       FaxT4Timer
              The  value  of the T4 timer in milliseconds.  This timer is used
              to time out the reception of HDLC frames and,  usually,  trigger
              frame retransmissions.

CLASS 1 MODEM CONFIGURATION PARAMETERS

       The  following  parameters  are  specific to the configuration of Class
       1-style modems; they should not be changed lightly:

       Class1Cmd
              The command to set the modem into Class 1 operation.

       Class1AdaptRecvCmd
              The command used to enable adaptive reception  support  (usually
              ‘‘AT+FAR=1’’).   This  feature  is  new in T.31, and many modems
              will not support it.  This feature  may  reduce  the  number  of
              reception   failures  due  to  errors  cascading  from  +FCERROR
              messages.

       Class1ColorJPEGSupport
              Whether or not to enable support for T.30-E full-color facsimile
              with  JPEG  compression.   Enabling  this  automatically enables
              Class1GreyJPEGSupport.

       Class1EnableV34Cmd
              The command to enable V.34-fax support with at least the desired
              maximum primary channel rate.

       Class1ECMSupport
              Whether or not to support T.30-A error correction protocol.  Use
              of ECM will require 64 kilobytes of free  memory  per  modem  in
              active use.

       Class1PersistentECM
              Whether  or  not to continue to retransmit and allow to continue
              to receive image data in ECM protocol which is not  accepted  as
              valid after four successive attempts.

       Class1ECMFrameSize
              The  size  in  bytes  of  image  frames  to  transmit during ECM
              protocol.  This setting  will  also  indicate  a  preference  in
              receive sessions.  The only acceptable values are 64 and 256.  A
              setting of 64 may be useful on high-load  systems  and  possibly
              environments with extremely poor line quality.

       Class1ExtendedRes
              Whether  or  not  to  support  resolutions other than normal and
              fine.  This option has been deprecated by Class1Resolutions.

       Class1FrameOverhead
              The number of extraneous bytes in HDLC frames sent to  the  host
              in  response to an ‘‘AT+FRH’’ command.  For modems that properly
              implement the Class 1 interface, this number should  be  4  (the
              default).

       Class1GreyJPEGSupport
              Whether  or not to enable support for T.30-E greyscale facsimile
              with   JPEG   compression.    This   is   always   enabled    if
              Class1ColorJPEGSupport is enabled.

       Class1JBIGSupport
              Whether  or  not to enable support for T.85 monochrome facsimile
              with JBIG compression.  This defaults to  true  if,  during  the
              build  process  a  compatible  JBIG library was found; otherwise
              Class1JBIGSupport defaults to false.

       Class1HFLOCmd
              The command to setup hardware (RTS/CTS) flow control between DTE
              and  DCE  when  operating  in  Class  1.  This command is issued
              immediately after sending the Class1Cmd to switch the  modem  to
              Class 1 operation.

       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.

       Class1PPMWaitCmd
              The command used to stop and wait before sending the  post  page
              message,  except  before  sending  EOP, when Class1EOPWaitCmd is
              used instead.  We must ensure that the  high-speed  carrier  has
              stopped  completely.  According to T.30, Chapter 5, Note 4, this
              delay should be 75 +/- 20 ms.

       Class1ResponseWaitCmd
              The command used to stop and  wait  after  sending  TCF,  before
              attempting  to receive a training response from the remote.  Set
              this to ‘‘AT+FRS=1’’ if  you  experience  ‘‘DIS/DTC  received  3
              times’’ errors.

       Class1Resolutions
              A  bitmapped  (bit-or’d)  value indicating the resolutions to be
              supported during facsimile  operation.   Individual  resolutions
              follow Table 21/T.32 and are defined as follows:
              Bit              Description
              0 (0x00)         R8 x 3.85 l/mm, Normal
              1 (0x01)         R8 x 7.7 l/mm, Fine
              2 (0x02)         R8 x 15.4 l/mm, Superfine
              4 (0x04)         R16 x 15.4 l/mm, Hyperfine
              8 (0x08)         200 dpi x 100 l/inch
              16 (0x10)        200 dpi x 200 l/inch
              32 (0x20)        200 dpi x 400 l/inch
              64 (0x40)        300 dpi x 300 l/inch
              Thus,  a value of 3 would indicate support for normal, fine, and
              superfine resolutions.

       Class1RMQueryCmd
              The command to send to the modem to get the  list  of  supported
              reception bit-rates.  If the parameter begins with a ‘‘!’’, then
              the remainder of the string is taken to be  the  modem  response
              and no command is issued to the modem.

       Class1TCFWaitCmd
              The command used to stop and wait before sending TCF, similar to
              Class1PPMWaitCmd.  According to T.30, Chapter 5,  Note  3,  this
              delay should be 75 +/- 20 ms.

       Class1TMQueryCmd
              The  command  to  send to the modem to get the list of supported
              transmission bit-rates.  If the parameter begins with  a  ‘‘!’’,
              then  the  remainder  of  the  string  is  taken to be the modem
              response and no command is issued to the modem.

       Class1EOPWaitCmd
              The command used to stop and wait before sending the  post  page
              message  similar  to  Class1PPMWaitCmd.   We  allow  a different
              setting in the case of EOP, however,  because  empirically  some
              machines may need more time.

       Class1MsgRecvHackCmd
              If  receive  failures  occur due to +FCERROR just prior to image
              data reception, setting  Class1MsgRecvHackCmd  to  AT+FRS=1  may
              help.

       Class1RecvAbortOK
              The  time,  in  milliseconds,  to wait for an ‘‘OK’’ result code
              from  the  modem  after   aborting   an   HDLC   frame   receive
              (‘‘AT+FRH=3’’).   If  this  number  is  zero,  then the modem is
              assumed to not correctly  implement  aborting  and  instead  the
              driver  will wait 200ms, flush any input, and then send ‘‘AT\n’’
              and wait 100ms for an ‘‘OK’’ result.

       Class1RecvIdentTimer
              The time, in milliseconds, to  wait  for  an  initial  DCS  when
              receiving a facsimile.  CCITT recommendation T.30 specifies this
              as the value of  the  T1  timer.   However,  adaptive  answering
              schemes  such  as  that described above under the AdaptiveAnswer
              parameter may require that this timer be shortened.

       Class1RMPersistence
              The number of times that an attempt to  receive  the  high-speed
              data  carrier  should be made, resulting in +FCERROR, before the
              low-speed message carrier reception is attempted.   Some  modems
              are  quick  to  (perhaps  incorrectly)  return +FCERROR, and for
              those modems a value of 2 or 3 should be used.  For modems  that
              are  not  quick to return +FCERROR, a value of 1 should be used.
              Proper tuning of this can provide a type of "adaptive  reception
              control"  for  modems  that  accurately  return +FCERROR without
              supporting Class1AdaptRecvCmd.  For those  modems  that  support
              Class1AdaptRecvCmd,  Class1RMPersistence  should probably not be
              set at 1, although +FCERROR should almost never occur with  such
              modems.

              If  the  modem  does  not  support  the reporting of +FCERROR or
              adaptive  reception  control,  then  Class1RMPersistence  should
              probably  be  set at 0, which causes the timeout looking for the
              high-speed data carrier to be  shortened,  thus  increasing  the
              likelihood of recovery from any dissynchronization.

       Class1SendMsgDelay
              The  time,  in  milliseconds,  to  delay just before sending the
              image data.  According to T.30: 5.3.2.4 this should be  no  less
              than 75 ms; however, in practice some receivers are slow to drop
              their CFR transmission carrier and need more time  to  start  up
              their reception carrier.

       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.

       Class1TCFRecvHack
              Deliberately  look  for  the  low-speed  carrier   loss   before
              switching  to  the  high-speed TCF carrier.  Use this if session
              logs consistently show +FCERROR prior to TCF reception.

       Class1TCFRecvTimeout
              The maximum time to wait, in milliseconds, for the first byte of
              the  Training  Check  (TCF) message data that is received during
              the training phase of the facsimile reception protocol.

       Class1TMConnectDelay
              The time, in milliseconds,  to  delay  after  receiving  CONNECT
              following  +FTM  before sending image data.  T.31 8.3.3 requires
              the modem to respond with CONNECT before the modulation training
              pattern.    If   transmission   begins  before  the  remote  has
              successfully completed its own modulation training pattern  then
              data,  especially during TCF, could be lost.  Many modems do not
              follow T.31 in this  regard,  and  thus  the  default  is  zero;
              however  its use with such modems would likely have a negligible
              effect.

       Class1TrainingRecovery
              The time, in milliseconds, to  delay  after  a  failed  training
              session.   This  time  is  used  when  sending training and when
              waiting for DCS and subsequent training during receive.

       Class1ValidateV21Frames
              Whether or not to use the FCS bits of received V.21 HDLC  frames
              to  check the validity of the frame itself.  Most Class 1 modems
              perform this check independently  (per  T.31  7.4)  and  do  not
              require this feature to be enabled.

CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS

       The  following parameters are specific to the configuration of Class 2-
       and Class 2.0-style modems:

       Class2Cmd
              The command to set the modem into Class 2/2.0 operation.

       Class2AbortCmd
              The command to use to abort an established session.  After using
              this  command  to  abort  a  session, the fax software will send
              ModemOnHookCmd and then reset the modem by dropping DTR .

       Class2APCmd
              A largely unused option for modems  supporting  ITU-T.32,  Class
              2.1,  standards.   This  command would be used to enable sending
              and receiving SUB, SEP, and PWD frames.

       Class2APQueryCmd
              A largely unused option for modems  supporting  ITU-T.32,  Class
              2.1,  standards.   This  command  would  be  used  to  query the
              capabilities of sending and receiving SUB, SEP, and PWD  frames.
              The value ‘‘none’’ may be used if the modem does not support any
              Class2APQueryCmd.

       Class2BORCmd
              The command  to  setup  the  bit  order  of  sent  and  received
              facsimile  data.   Usually  the command ‘‘AT+FBOR=0’’ is used so
              that data is sent and received in direct  bit  order  (LSB2MSB).
              Some  modems,  such  as the Everex 24/96D, must use reversed bit
              order for Phase B and D data  exchanges  to  avoid  a  bug  that
              results  in  garbage  data  being  placed  in the padding of EOL
              codes.  The bit order specified by this command must  correspond
              to the settings of the ModemSendFillOrder and ModemRecvFillOrder
              parameters.

       Class2BUGCmd
              The command to use to enable or  disable  the  tracing  of  HDLC
              frames sent and received by the modem.  This tracing information
              should be returned to the host in ‘‘+FHR:’’ and ‘‘+FHT:’’ status
              strings.   Note  that  many  Class  2 modems do not support this
              facility, which is largely used for  diagnostic  purposes.   The
              value  ‘‘none’’  may  be  used if the modem does not support any
              Class2BUGCmd.

       Class2CIGCmd
              The command used to set a polling identifier.   This  string  is
              inserted into the format ‘‘%s="<id>"’’.

       Class2CQCmd
              The  command  to  use  to  set  up  parameters  for copy quality
              checking.   For  example,  for  an  Everex  24/96D  modem   this
              parameter           might           be           set          to
              ‘‘AT+FCQ=1\nAT+FBADMUL=20\nAT+FBADLIN=10’’.  Class2CQCmd  should
              be  configured  to  set-up  all  available copy quality services
              available per Class2CQQueryCmd.  To disable  features  that  are
              available, configure Class2CQQueryCmd with a ‘‘!’’, and then set
              Class2CQCmd accordingly.

       Class2CQQueryCmd
              The command to send  to  the  modem  to  get  the  copy  quality
              capabilities string.  If the parameter begins with a ‘‘!’’, then
              the remainder of the string is  taken  to  be  the  capabilities
              string  and  no command is issued to the modem; this can be used
              together with the Class2CQCmd to force copy quality checking  to
              be  done  in  the  server  instead  of  in  the modem.  See also
              PercentGoodLines and MaxConsecutiveBadLines for parameters  used
              to do server copy quality checking.  If copy quality checking is
              configured to be done by the modem then it is not  done  by  the
              server.

       Class2CRCmd
              The command to use to enable the reception of facsimile.

       Class2DCCCmd
              The  command  used  to  set  modem capabilities.  This string is
              inserted into the format ‘‘%s=vr,br,wd,ln,df,ec,bf,st’’.

       Class2DCCQueryCmd
              The command to  send  to  the  modem  to  get  the  Class  2/2.0
              capabilities.   If  the  parameter begins with a ‘‘!’’, then the
              remainder of the string is taken to be the  capabilities  string
              and no command is issued to the modem.

       Class2DDISCmd
              The  command  to  set  session  parameters before dialing.  This
              string       is       inserted       into       the       format
              ‘‘%s=vr,br,wd,ln,df,ec,bf,st’’.   Setting this parameter enables
              support for Class 2 modems that do not  properly  implement  the
              ‘‘AT+FDIS’’  command  by  setting  up  session parameters before
              dialing the telephone.

       Class2DISCmd
              The command used to set the current  session  parameters.   This
              string       is       inserted       into       the       format
              ‘‘%s=vr,br,wd,ln,df,ec,bf,st’’.

       Class2ECMType
              The interpretation of the EC parameter in the modem DCC response
              varies  between  the  Class  2,  ‘‘2’’,  and Class 2.0, ‘‘2.0’’,
              specifications.   This  configuration   parameter   allows   the
              administrator  to  specify which type to use.  The corresponding
              specification type is used by default.

       Class2HexNSF
              Whether or not to parse the NSF strings reported  by  the  modem
              using  hexadecimal  values.   By  default,  they  are  parsed as
              hexadecimal values.

       Class2HFLOCmd
              The command to setup hardware (RTS/CTS) flow control between DTE
              and  DCE  when operating in Class 2/2.0.  This command is issued
              immediately after sending the Class2Cmd to switch the  modem  to
              Class  2/2.0  operation.  For Class 2.0 operation the default is
              ‘‘AT+FLO=2’’.

       Class2LIDCmd
              The command used to  set  the  local  identifier  string.   This
              string is inserted into the format ‘‘%s="<id>"’’

       Class2MINSPCmd
              The  command  used  to  set  the  minimum acceptable speed to be
              negotiated for transmitting page data.  This string is  inserted
              into the format ‘‘%s=<speed>’’

       Class2NFLOCmd
              The  command  to  setup no flow control between DTE and DCE when
              operating in Class 2/2.0.  This command  is  issued  immediately
              after  sending  the  Class2Cmd  to  switch  the modem to Class 2
              operation.  For Class 2.0 operation the default is ‘‘AT+FLO=0’’.

       Class2NRCmd
              (Class  2.0  only)  The  command  to  setup  negotiation message
              reporting.  For the correct operation of the  Class  2.0  driver
              this  command must enable the reporting of: receiver parameters,
              transmitter parameters, and ID strings.  It is not necessary  to
              enable reporting of non-standard frames for correct operation of
              the Class 2.0 driver.

       Class2PACmd
              A largely unused option for modems  supporting  ITU-T.32,  Class
              2.1,  standards.   This  command  would  be  used  to set up the
              polling address string enabled by the Class2APCmd.

       Class2PHCTOCmd
              The command to use to set the  Phase  C  timeout  parameter  (in
              seconds).   The value ‘‘none’’ may be used if the modem does not
              support any Class2PHCTOCmd.

       Class2PIECmd
              (Class 2.0  only)  The  command  to  use  to  control  procedure
              interrupt  handling.   Procedure  interrupts  should be disabled
              because HylaFAX does not provide  a  mechanism  for  dispatching
              procedure interrupts to an administrator.

       Class2PTSCmd
              The  command  to use to set the received page status code.  When
              copy quality checking is done in the host, this command  may  be
              used  to control the post-page response delivered to the sender.
              Beware that some modems do not properly implement  this  command
              in  which  case  the  server should be configured to not do copy
              quality     check:     see     the     PercentGoodLines      and
              MaxConsecutiveBadLines  parameters  to  understand how to defeat
              copy quality checking.

       Class2PTSQueryCmd
              The command to use to query the received page status code.  This
              command may be used to determine the post-page response returned
              from the receiver.  Beware that  some  modems  do  not  properly
              implement  this command in which case this setting should be set
              to ‘‘none’’.

       Class2PWCmd
              A largely unused option for modems  supporting  ITU-T.32,  Class
              2.1,  standards.   This  command  would  be  used  to set up the
              password string enabled by the Class2APCmd.

       Class2RecvDataTrigger
              The character to send to the modem to trigger  the  transmission
              of  received data from the modem to the host.  This character is
              specified to be DC1 (octal 21) in the draft specification 2388-A
              and  DC2  (octal  22) in the 2388-B specification.  Most Class 2
              modems accept DC1 or both DC1 and DC2.  Some modems however only
              accept  DC2.  Note that string parameters may use C-style escape
              sequences,  so  DC2,  for  example,  would   be   specified   as
              ‘‘"\022"’’.

       Class2RELCmd
              The  command  to  use to enable the delivery of byte-aligned EOL
              codes in received facsimile.  If this parameter is defined, then
              received  facsimile  data  will  be  marked to indicate that EOL
              codes are byte-aligned; otherwise they will  be  marked  as  not
              (necessarily) having byte-aligned codes.

       Class2RTFCC
              Whether  or  not to enable MultiTech’s Real-Time Fax Compression
              Conversion which is available in later  firmware  revisions  for
              the  MT5634ZBA-V92,  MT5634ZPX-PCI-V92, and other models.  RTFCC
              allows HylaFAX to convert the image compression  between  MH  MR
              and MMR formats regardless of how faxq formatted the image file.
              If RTFCC is available with your firmware, then the  response  to
              ‘‘AT+FFC=?’’  is  non-zero.   Note  that  when  using RTFCC, the
              compression format of the file will be ignored, thus the ‘‘-1’’,
              ‘‘-2’’,  and ‘‘-3’’ options for sendfax, ps2fax, and others will
              not influence the actual negotiated session parameters.

       Class2SACmd
              A largely unused option for modems  supporting  ITU-T.32,  Class
              2.1,  standards.   This  command  would  be  used  to set up the
              destination subaddress string enabled by the Class2APCmd.

       Class2SendRTC
              Whether or not to append an explicit ‘‘Return To Control’’ (RTC)
              signal  to  the  page  data  when transmitting.  The Class 2 and
              Class 2.0 specs (i.e. SP-2388-A and TIA/EIA-592) state that  the
              modem  will  append  RTC  when it receives the post-page message
              command from the host; this parameter is provided  in  case  the
              modem does not correctly implement this.

       Class2SFLOCmd
              The  command  to  setup software (XON/XOFF) flow control between
              DTE and DCE when operating in  Class  2/2.0.   This  command  is
              issued  immediately  after  sending  the Class2Cmd to switch the
              modem to Class 2/2.0 operation.  For  Class  2.0  operation  the
              default is ‘‘AT+FLO=1’’.

       Class2SPLCmd
              The  command  to  use  to  enable  a polling request.  The value
              ‘‘none’’  may  be  used  if  the  modem  does  not  support  any
              Class2SPLCmd.

       Class2TBCCmd
              The  command  to use to enable stream-mode communication between
              the host and modem.  The value ‘‘none’’ may be used if the modem
              does not support any Class2TBCCmd.

       Class2UseLineCount
              Whether  or not to use the line count reported to HylaFAX by the
              modem firmware decoder.

       Class2UseHex
              Whether or not to parse the capabilities strings reported by the
              modem  using hexadecimal values.  By default, they are parsed as
              decimal values.

       Class2XmitWaitForXON
              Whether or not to wait for  an  XON  character  from  the  modem
              before  sending  facsimile  data  to the modem for transmission.
              Note that this is only relevant for modems that conform  to  the
              Class  2  spec  (i.e.  SP-2388-A).   The Class 2.0 specification
              states  that  the  host  may  transmit  data  immediately   upon
              receiving  CONNECT and that no XON character will be sent to the
              host.

PAGER-RELATED CONFIGURATION PARAMETERS

       The  following  parameters  are  specific  to  the  configuration   and
       operation of the IXO/TAP and UCP support for sending pager messages and
       GSM SM. Parameter not used for UCP are marked with ‘‘(IXO/TAP  only)’’.

       PagerSetupCmds
              The  commands to send to a modem to prepare the modem for a call
              to pager  service  provider.   Typically  these  commands  place
              direct the modem to communicate with the service provider at 300
              bps using  the  V.21  protocol.   Per-service  provider  command
              strings  can be setup in the info database; see hylafax-info(5).

       PagerMaxMsgLength
              The maximum length for a pager text  message.   Messages  longer
              than  this  number  are truncated.  Per-service provider message
              lengths can be setup in the info database; see  hylafax-info(5).

       IXOService
              (IXO/TAP  only) The service identification string transmitted as
              part of the IXO/TAP protocol.

       IXODeviceID
              (IXO/TAP  only)  The  terminal  device   identification   string
              transmitted as part of the IXO/TAP protocol.

       IXOMaxUnknown
              The  maximum  number  of  unrecognized  messages  that  will  be
              accepted at various stages of the IXO/TAP  protocol  before  the
              sender will abort and hangup the phone.

       IXOIDProbe
              (IXO/TAP  only)  The  time, in seconds, between sending a ‘‘\r’’
              during the  initial  ID  recognition  sequence  of  the  IXO/TAP
              protocol.

       IXOIDTimeout
              (IXO/TAP  only)  The  maximum  time, in seconds, to wait for the
              initial ID response from the service provider.

       IXOLoginRetries
              (IXO/TAP only) The maximum number of  attempts  to  login  to  a
              service provider.

       IXOLoginTimeout
              (IXO/TAP only) The maximum time, in seconds, to wait to complete
              the login procedure.

       IXOGATimeout
              (IXO/TAP only) The maximum time, in seconds, to wait for  a  Go-
              Ahead message from the service provider.

       IXOXmitRetries
              The  maximum number of times to try sending a text message block
              in a single call.

       IXOXmitTimeout
              The maximum time, in seconds, to try transmitting a text message
              block.

       IXOAckTimeout
              (IXO/TAP only) integer          30                      IXO: max
              time to wait for msg block  ack  (secs)  The  maximum  time,  in
              seconds,  to  wait  for  an  acknowledgement  to  a  transmitted
              message.

PROTOTYPE CONFIGURATION FILES

       Per-modem configuration files  are  typically  derived  from  prototype
       files  that  have been created for known modems.  These prototype files
       are kept in the config subdirectory and, by convention, have names that
       identify  a  brand or type of modem and the DTE-DCE flow control scheme
       the prototype files configures.  The  faxaddmodem(8)  program  that  is
       used  to  configure  a  modem  for use with HylaFAX selects a prototype
       configuration file using  information  retrieved  from  the  modem  and
       comments  embedded  in  the  prototype  files.   For Class 1 modems the
       product ID code returned by the command ‘‘ATI0’’ and the response  from
       the comannd ‘‘ATI3’’ are used to select a prototype configuration file,
       while for Class 2 modems the manufacturer  and  model  as  returned  by
       ‘‘AT+FMFR?’’  and  ‘‘AT+FMDL?’’, respectively, are used (or ‘‘AT+FMI?’’
       and ‘‘AT+FMM?’’ for Class 2.0 modems).

       A Class 1  prototype  configuration  file  is  identified  for  use  by
       faxaddmodem by searching for a comment of the form:
       # CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer=’AT&T’ Model=Dataport
       In  this  example  ‘‘144’’  is the product ID code for an AT&T DataPort
       modem, ‘‘.*’’ is a regular expression matched against the result string
       returned by the ‘‘ATI3’’ command, and ‘‘RTSCTS’’ indicates the modem is
       configured to use hardware flow  control  during  fax  operation.   The
       remainder of the line is evaluated by the sh(1) and used to specify the
       modem’s manufacturer and model  (since  Class  1  modems  do  not  have
       standard commands to query this information).

       Class  2  and  2.0  prototype  configuration  files  match  the  string
       ‘‘manufacturer-model-flowcontrol’’  against  a   sh(1)   glob   pattern
       specified  in  the configuration file, where manufacturer and model are
       the strings returned by querying the modem and  flowcontrol  is  either
       ‘‘RTSCTS’’  for  hardware flow control or ‘‘XONXOFF’’ for software flow
       control.  For example:
       # CONFIG: CLASS2: ZyXEL*-RTSCTS
       # CONFIG: CLASS2.0: USRobotics*-XONXOFF
       are configuration comments that appear in  the  prototype  file  for  a
       ZyXEL  1496E  with Class 2 support, and for a US Robotics Courier modem
       with Class 2.0 firmware.

       The faxaddmodem program merges server-specific configuration parameters
       into  a  prototype  configuration  according  to comments placed in the
       prototype file.  All lines between ‘‘BEGIN-SERVER’’ and  ‘‘END-SERVER’’
       comments   are   placed   with  the  appropriate  server  configuration
       parameters.   Note  that   this   means   modem-related   configuration
       parameters must be placed outside this area of the file.

SEE ALSO

       faxaddmodem(8), faxq(8), faxgetty(8), faxsend(8), hylafax-server(5)

                         $Date: 2005/11/22 21:38:45 $        HYLAFAX-CONFIG(5)