home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / BGFAX160.ZIP / DOCS / BGFAX.DOC < prev    next >
Encoding:
Text File  |  1996-06-24  |  56.0 KB  |  1,131 lines

  1.  
  2.     =======================================================================
  3.  
  4.               Voice               B.J. Guillot           Data/Fax
  5.          +1 713.893.9320      2611 Rushwood Circle   +1 713.893.9124
  6.                             Houston Texas 77067-1941
  7.                             United States of America
  8.  
  9.           Copyright (C) 1993-1996 B.J. Guillot.  All Rights Reserved.
  10.  
  11.     FidoNet 1:106/400                        E-mail: bjg90783@jetson.uh.edu
  12.     Echo "BGFAX" on Fido Backbone             http://www.blkbox.com/~bgfax/
  13.  
  14.     =======================================================================
  15.     BGFAX 1.60                                               SAT 22 JUNE 96
  16.     =======================================================================
  17.  
  18.       "It wasn't a miracle... We just decided to go."
  19.               -- Tom Hanks, playing Jim Lovell in APOLLO 13,
  20.                  referring to the Apollo 11 moon landing.
  21.  
  22.       "...Humans and aliens wrapped in two million, five hundred
  23.       thousand tons of spinning metal, all alone in the night..."
  24.               -- Commander Sinclair.  BABYLON 5.
  25.  
  26.       "The Babylon project was our last, best hope for peace.  IT FAILED.
  27.       In the year of the Shadow War, it became something greater.
  28.       Our last, best hope for victory."
  29.               -- Commander Susan Ivanova.  BABYLON 5.
  30.  
  31.       "Let's make sure history never forgets the name: ENTERPRISE."
  32.               -- Captain Jean-Luc Picard.  Star Trek: The Next Generation.
  33.  
  34.          -------------------------------------------------------------
  35.          ABSTRACT/FEATURES
  36.          -------------------------------------------------------------
  37.  
  38.          * Can send faxes from the DOS (or OS/2) command line and return
  39.            status by errorlevel; fully configurable top of page headers
  40.  
  41.          * Allows sysops to receives faxes on their BBS telephone line
  42.            without needing any additional hardware!
  43.  
  44.          * Everything runs in the foreground, no TSR programs needed
  45.  
  46.          * If you are already running a Fido mailer, you can configure
  47.            your mailer to exit and run BGFAX when the line is hot, thus
  48.            BGFAX does not necessarily have to answer the phone itself
  49.  
  50.          * Comes with a small and quick fax viewing program that supports
  51.            CGA, EGA, VGA, and VESA SVGA display modes as well as options
  52.            for fax printing and FAX-to-PCX (and DCX) conversion; it even
  53.            can use XMS!
  54.            [ See VIEW.DOC for more information ]
  55.  
  56.          * Multitasker aware; releases ticks to OS/2, Win95, and DesqView
  57.  
  58.          -------------------------------------------------------------
  59.          OBTAINING THE LATEST VERSION OF BGFAX:
  60.          -------------------------------------------------------------
  61.  
  62.          Where can I check to find out if I have the latest version?
  63.  
  64.          (a)  http://www.blkbox.com/~bgfax/
  65.  
  66.          (b)  Calling my BBS in the United States, +1 713-893-9124
  67.  
  68.          (c)  FidoNet FREQ of the magic name "BGFAX" from 1:106/400
  69.               (Beta copies are available under magic name "BGBETA")
  70.  
  71.          (d)  FidoNet FREQ...  The Netherlands...  2:512/39
  72.               The Owl's Nest is the Dutch Supra distributor and they
  73.               have three nodes:
  74.                 +31 0.2155.10921   +31 0.2155.12571   +31 0.2155.28096
  75.  
  76.          (e)  FidoNet FREQ...  Austraila...  3:632/552
  77.               Hamish Moffatt, Cloud Nine, +61 03.886.5195
  78.  
  79.    *************************************************************************
  80.    *************************************************************************
  81.  
  82.          IF YOU ARE TRYING TO RECEIVE FAXES ON YOUR BBS.....
  83.  
  84.          The *.TXT files provide step-by-step setup instructions for most
  85.          mailers and BBS software.  You probably will NOT have to read the
  86.          rest of this documentation file!
  87.  
  88.          If you spend more than 30 minutes trying to setup BGFAX then you
  89.          are doing something wrong.  The *.TXT files will provide you with
  90.          the best info for many setups.  The *.TXT files are designed so
  91.          that you can pick which one fits your configuration, print it out,
  92.          follow the instructions, and be set up in 10 minutes.
  93.  
  94.    *************************************************************************
  95.    *************************************************************************
  96.  
  97.    #########################################################################
  98.    ##                        RECEIVE FAX MODE                             ##
  99.    #########################################################################
  100.  
  101.          -------------------------------------------------------------
  102.          /HOST MODE             In this mode, BGFAX answers the phone!
  103.          -------------------------------------------------------------
  104.  
  105.          If you want BGFAX to answer the phone, BGFAX is started up using
  106.          the /HOST command line parameter.  Things to do.....
  107.  
  108.          1. Make sure the BGFAX.CNF file is in the same directory as the
  109.             BGFAX.EXE file.  If it is not, you will need to use the BGFAX
  110.             "environment variable" to point to the directory that the CNF
  111.             file stays in (i.e., "SET BGFAX=C:\BGFAX" in FBBS.BAT)
  112.  
  113.          2. Open the BGFAX.CNF configuration file with a text editor
  114.             (such as QEdit, DOS's EDIT.EXE, PC Magazine's TED.COM), and
  115.             make any changes you see fit.  The important thing to do is
  116.             make sure the right com port is set.  For many people, this
  117.             is the only thing that needs to be changed.  The BGFAX.CNF
  118.             file defaults to using a standard Class 2 adaptive answering
  119.             configuration.  If you are using a US Robotics (Class 2.0)
  120.             or Hayes (Class 1) modem, you will need to "uncomment" the
  121.             lines for your modem, and then "comment out" the lines for
  122.             the default Class 2 configuration.  My recommendation: PRINT
  123.             OUT A COPY OF THE BGFAX.CNF FILE AND STUDY IT FOR A FEW
  124.             MINUTES!  THIS WILL HELP YOU IN THE LONG RUN!
  125.  
  126.          3. BGFAX can exit with five possible errorlevels in /HOST mode
  127.  
  128.                6 - /HOST:nn mode has been idle for more than nn minutes
  129.                4 - fax was received (completely or partially)
  130.                3 - local logon
  131.                2 - data call
  132.                1 - restart the FBBS.BAT batch file
  133.  
  134.             If no errorlevel is encountered, it means the sysop aborted
  135.             BGFAX by pressing the [Esc] key or a serious error occurred.
  136.  
  137.             Actually, BGFAX can exit with several errorlevels if you setup
  138.             events.  Events are specified in the BGFAX.CNF file (see the
  139.             example file included).  Example:
  140.  
  141.             ev=07:00,192
  142.             ev=19:00,193
  143.  
  144.             That would cause BGFAX to exit with errorlevel 192 at 7:00am
  145.             and errorlevel 193 at 7:00pm.  BGFAX's event handling is very
  146.             crude, and I very much need to change it.  The event handling
  147.             still has several bugs that need to be fixed.  It works best if
  148.             you use a total of two events.  One event doesn't work very
  149.             well, and if you use more (up to 20 are allowed), you can miss
  150.             an event or two if a caller to your BBS overstays their visit.
  151.             BGFAX will always execute the first event that is passed over,
  152.             but won't do any more.  And, if you only have one event setup,
  153.             it will not execute that one if it is missed.  But it will, if
  154.             you set up two events.  You can probably tell I hate events.
  155.             If anyone has some ideas on how to keep track of events and
  156.             execute the ones that are missed, etc., I'd appreciate it.
  157.  
  158.          4. When BGFAX is waiting for a call, pressing Ctrl-R will reset
  159.             the on screen counters.  Ctrl-A will force BGFAX to send the
  160.             answer string to the modem.  (Some customers need to have BGFAX
  161.             answer the phone as soon as it is loaded.  If you have this
  162.             need, the /RING mode can be used instead of /HOST mode.)
  163.  
  164.          6. When a data call comes in, BGFAX creates a DOBBS.BAT file that
  165.             looks like so...
  166.  
  167.             C:\BGFAX\EXEBBS.BAT 9600 1 528 /ARQ N/A
  168.  
  169.             BGFAX/2 will create DOBBS.CMD instead of a BAT file ...
  170.               C:\BGFAX\EXEBBS.CMD 9600 5 528 /ARQ N/A
  171.             
  172.             The first parameter is the DCE data speed, then the com port,
  173.             number of minutes until the next event, and then the error
  174.             correcting string, if any.  The EXEBBS.BAT file must be created
  175.             by you so that your bulletin board software is loaded up in
  176.             frontend mode (ie., the data connection is already hot.)
  177.  
  178.                  %1 -> the DCE speed, modem-to-modem real connect speed
  179.                  %2 -> the COM port (BGFAX/2 will put the OS/2 com handle)
  180.                  %3 -> number of minutes until the next event
  181.                  %4 -> error correction/reliable mode indicators
  182.                  %5 -> caller ID information if modem reports CID info
  183.  
  184.          DOBBS.BAT theory
  185.          ================
  186.  
  187.          *** YOU CAN SKIP THIS SECTION IF YOU ARE NOT A SYSOP OF A BBS ***
  188.  
  189.          If you have never used a frontend program which uses DOBBS.BAT
  190.          theory, there are several things you need to know.  You have
  191.          to be pretty confident with DOS and batch files, or you will get
  192.          lost very quickly.  First, you need a main batch file that runs
  193.          BGFAX.  Let's call this FBBS.BAT:
  194.  
  195.  
  196. @echo off
  197. rem ***** This is an example batch file for frontend mode operation
  198. set bgfax=c:\bgfax
  199. c:
  200. cd %bgfax%
  201. bgfax /host
  202. if errorlevel 120 maint1.bat
  203. if errorlevel 4 goto faxrcvd
  204. if errorlevel 3 goto datacall
  205. if errorlevel 2 goto datacall
  206. if errorlevel 1 fbbs.bat
  207. goto end
  208. :faxrcvd
  209.   rem ***** You can auto-print every fax, see docs for info on EXEPRINT.BAT
  210.   call %bgfax%\doprint.bat
  211.   del %bgfax%\doprint.bat
  212.   fbbs.bat
  213. :datacall
  214.   rem ***** Errorlevel 2 = Data Call,  Errorlevel 3 = Local Logon
  215.   rem ***** The following line executes the DOBBS.BAT file created by BGFAX
  216.   rem ***** which then runs EXEBBS.BAT which should load your BBS software.
  217.   %bgfax%\dobbs.bat
  218. :end
  219.  
  220.  
  221.  -->     Note that DOS requires all if-errorlevel statements to go in
  222.  -->     DESCENDING ORDER!  (255,254,253,...,4,3,2,1).  This is a fact that
  223.  -->     many people forget.
  224.  
  225.          This FBBS.BAT file will run BGFAX and when a data caller calls
  226.          your system, BGFAX will exit with an errorlevel of 3.  This will
  227.          cause the batch file to jump to the ":datacall" label.  Here, the
  228.          line "%bgfax%\dobbs.bat" is executed, causing DOS to shift control
  229.          of the computer to the DOBBS.BAT file.  Remember, this is a file
  230.          that BGFAX creates!  You do not need to make a DOBBS.BAT file.
  231.          The DOBBS.BAT then executes _another_ batch file called EXEBBS.BAT
  232.          which will look something like:
  233.  
  234.               EXEBBS.BAT
  235.               ==========
  236.               @echo off
  237.               bbsprog /f:%1:%2
  238.               fbbs
  239.  
  240.     !!!  THE EXEBBS.BAT FILE WILL LOOK DIFFERENT FOR EVERY DIFFERENT
  241.          TYPE OF BBS SOFTWARE  !!!
  242.  
  243.          You will have to look up the info for the EXEBBS.BAT file in
  244.          your BBS user's manual.  I can't help you with that.  Notice
  245.          that the last line "fbbs" restarts the original FBBS.BAT
  246.          file that runs BGFAX in /HOST mode.
  247.  
  248.          In review: (1) Modify FBBS.BAT to meet your needs, (2) BGFAX will
  249.          MAKE a DOBBS.BAT file by itself, (3) YOU will need to MAKE an
  250.          EXEBBS.BAT file, (4) the EXEBBS.BAT file must restart FBBS.BAT.
  251.  
  252.          Do not use the CALL statement anywhere unless you really know what
  253.          you are doing.  "FILE.BAT" and "CALL FILE.BAT" causes two
  254.          completely different things to happen.  Only experienced DOS/batch
  255.          file writers need to experiment with that.  Example:
  256.  
  257.                TEST.BAT
  258.                ========
  259.                echo **TEST**
  260.  
  261.                EXAMPLE1.BAT                Example1.BAT output:
  262.                ===========
  263.                echo Hello World!             Hello World!
  264.                call test.bat                 **TEST**
  265.                echo Bye World!               Bye World!
  266.                rem ***We RETURNED to the batch file after TEST.BAT
  267.  
  268.                EXAMPLE2.BAT                Example2.BAT output:
  269.                ============
  270.                echo Hello World!             Hello World!
  271.                test.bat                      **TEST**
  272.                echo Bye World!
  273.                rem ***We DID NOT RETURN to the batch file after TEST.BAT
  274.  
  275.  
  276.          -------------------------------------------------------------
  277.          REAR END MODE (FIDO MAILERS, ETC.)
  278.          -------------------------------------------------------------
  279.  
  280.          Rear end mode is useful for those of us who are FidoNet members
  281.          where a Fido mailer is required to be running 24 hours a day.  It
  282.          will be your job to figure out how to get your mailer to exit to
  283.          BGFAX when your modem informs the mailer a fax call is coming
  284.          through.  (See the *.TXT files for hints on specific mailers.)
  285.  
  286.          Note that in rear-end mode, the BGFAX.CNF file is NOT used.
  287.          The BGFAX environment variable is not required either, but if
  288.          it is present in rear-end mode, the BGFAX.LOG will be saved
  289.          into the path that is pointed to by the BGFAX environment
  290.          variable.  Otherwise, the BGFAX.LOG is saved into the path that
  291.          is pointed to as specified on the command line (see below).
  292.  
  293.          You will need to know the result code your modem sends when an
  294.          incoming fax call is detected.  Some modems send TWO fax connect
  295.          strings.  For example, the Supra will send "FAX" followed by an
  296.          "+FCON" response about 5 seconds later.  The ZyXEL will send
  297.          "CONNECT FAX" followed immediately by "ZyXEL".  Most fax modems
  298.          report only one string though.  Use this chart for reference:
  299.  
  300.          Result   Modems
  301.          ======   ====================================================
  302.          FAX      Supra, Zoom, Hayes, most Rockwell based chipsets
  303.          +FCON    PPI, Intel, GVC, some other Class 2 modems
  304.          +FCO     USR V.Everything and other Class 2.0 modems
  305.             ^
  306.          THAT IS NOT A ZERO!!  IT'S THE LETTER "OH"!
  307.  
  308.          You need to configure your mailer (or BBS software) to exit
  309.          IMMEDIATELY upon receipt of the proper fax result code.  You
  310.          need to call BGFAX in the following manner:
  311.  
  312.          BGFAX /how faxpath port faxtype
  313.  
  314.          FAXPATH will be the directory where incoming faxes are to be
  315.          placed.  PORT is a valid communications port from 1 to 4, or,
  316.          optionally, a hexidecial base address and IRQ formatted as
  317.          followed "3F8x5".  Also, optionally, if the port has a bang, !,
  318.          following it, it will force the port to stay locked at the current
  319.          speed rather than shifting to 19200 on fax connects.  FAXTYPE is a
  320.          single character 'Z' or 'Q'.
  321.  
  322.          'Z' for ZyXEL ZFAX format,
  323.          'Q' for Smith Micro Software's Quick Link II fax format,
  324.          'F' for TIFF-Class-F, specially, Faxworks for OS/2 format.
  325.  
  326.          The "/how" deal is the most critical switch.  There are many
  327.          possible settings.
  328.  
  329.               /FAX   ... Modem reports "FAX" or "CONNECT FAX".
  330.                          BGFAX will automatically detect whether it should
  331.                          use Class 2 (Supra, Zoom) or the ZyXEL fax mode
  332.                          based on the next message (ie, "+FCON" or "ZyXEL").
  333.  
  334.               /FAX:713_555_1212     If your modem in Class 1, try one of
  335.               /FHAY:713_555_1212    these two options.
  336.  
  337.               /FAST:nn .... Modem reports "+FCON" (PPI, other Class 2 modems)
  338.  
  339.               /FCO:nn ..... Modem reports "+FCO" (USR V.Everything)
  340.  
  341.               /FZYX ....... ZyXEL owners use this if /FAX doesn't work.
  342.  
  343.               THE "nn" WILL BE A NUMBER IN SECONDS!
  344.  
  345.          Here is a schematic of how each option behaves:
  346.  
  347. ***           /FAX [ Supra, ZyXEL, i.e. all modems that report "FAX" ]
  348. 1. keeps port at locked DTE    1. <same>                1. <same>
  349. 2. waits for "+FCON"     _or_  2. waits for "OK"  _or_  2. waits for "ZyXEL"
  350. 3. drops port to 19200         3. sends "AT+FDR"        3. waits for high CTS
  351. 4. waits for "OK"                                       4. sends <DC2>
  352. 5. sends "AT+FDR"
  353.  
  354.  
  355. ***           /FAX:713_893_9124 [ Supra LC modem, Class 1 modem ]
  356.                 1. keeps port at locked DTE
  357.                 2. waits for "CONNECT"
  358.                 3. begins sending Class 1 HDLC frames
  359.  
  360.  
  361. ***           /FHAY:713_893_9124 [ Hayes 288, other Class 1 modems ]
  362.                 1. keeps port at locked DTE
  363.                 2. blindly starts sending Class 1 HDLC frames
  364.  
  365.  
  366. ***           /FAST:nn [ all Class 2 modems where /FAX won't work ]
  367.                 Let's present we use /FAST:4 ...
  368.                 1. drops port to 19200
  369.                 2. waits for "OK" for nn seconds (FOUR seconds if /FAST:4)
  370.                 3. if "OK" occurs before nn seconds, sends AT+FDR
  371.                          _or_
  372.                 3. if "OK" is not received in nn seconds,
  373.                      blindly sends AT+FDR
  374.  
  375.  
  376. ***           /FCO:nn [ USR, i.e., all Class 2.0 modems that report "+FCO"]
  377.                 This switch is a hybrid of the /FCO and /FCOS switches.
  378.                 Let's pretend we use /FCO:4 ...
  379.                 1. keeps port at locked DTE
  380.                 2. waits for "OK" for nn seconds (FOUR seconds if /FCO:4)
  381.                 3. if "OK" occurs before nn seconds, sends "AT+FDR"
  382.                             _or_
  383.                 3. if "OK" is not received in nn seconds,
  384.                      blindly sends "AT+FDR"
  385.  
  386.  
  387. ***           /FZYX  [ ZyXEL, use this only if /FAX doesn't work ]
  388.                 1. waits for high CTS
  389.                 2. sends <DC2>
  390.  
  391.          NOTE:  /FCO:0 is equivilant to the old /FCOS switch
  392.                 /FAST:0 is equivilant to the old /FCON switch
  393.  
  394.          When a fax is inbound, here are some example BGFAX command
  395.          lines for rear-end mode operation on my Supra:
  396.  
  397.          a.   BGFAX /FAX C:\BGFAX 1 Z
  398.          b.   bgfax /fax c:\bgfax f3 z
  399.          c.   bgfax /fax c:\bgfax 3f8x7 z
  400.          d.   bgfax2 /fax c:\bgfax h%3 z
  401.  
  402.          Here is how the above four options differ:
  403.  
  404.          a. Uses COM1
  405.          b. Uses FOSSIL port COM3 (many FOSSILs refer to this as Port 2)
  406.          c. Uses non-standard port configuration at hex address 3f8 and
  407.             using hardware IRQ 7.
  408.          d. OS/2 version, using a com handle ("h") of whatever is passed
  409.             by the %3 variable.  The com handle cannot be translated into
  410.             a port number, so it must be passed by the OS/2 BBS or OS/2
  411.             Fido mailer software.
  412.  
  413.          Using my Hayes 288, example command line options might be:
  414.  
  415.               bgfax /fhay:713_555_1212 c:\bgfax 1 z
  416.  
  417.          ...note that the ID string MUST be presented on the command line
  418.          when you are receiving with a Class 1 modem in rear end mode.
  419.          In Class 1, the fax software is responsible for sending the ID
  420.          string to the remote machine.  (In contrast to Class 2/2.0 modems,
  421.          which automatically send the ID to the remote machine.)
  422.  
  423.          The /FAX means that I used the modem response "FAX" as a trigger
  424.          for FD (see FD212.TXT for more details), C:\BGFAX is the path
  425.          where I want all faxes to be stored, "1" is the communications
  426.          port, and the "Z" represents I want faxes saved in ZyXEL's ZFAX
  427.          image format.
  428.  
  429.          If you configure your FidoMailer and modem to to adaptive answering,
  430.          some modems will appear to answer data calls correctly, but only
  431.          the word "DATA" appears on the screen and nothing else.  The modem
  432.          expects to get an "ATO" response before the modem spits out the
  433.          "CONNECT nnnnn" message.  Not very modems do this--usually some
  434.          of the older Class 1 only modems.  (The Hayes Optima 288 does NOT
  435.          do this.)  If this "DATA" problem occurs, you can use the included
  436.          ATOTSR.COM program to get around it.  ATOTSR.COM works only under
  437.          DOS and requires that you are using a FOSSIL driver with your
  438.          Fido Mailer.  Remember that you must reboot your computer after
  439.          putting ATOTSR.COM in your AUTOEXEC.BAT file for it to become
  440.          effective.  You do not need to use this TSR if you are using
  441.          BGFAX's /HOST mode, since the /ATO command switch will work.
  442.  
  443.          -------------------------------------------------------------
  444.          CLASS 1 RECEIVING AND THE /DIS:NNN SWITCH
  445.          -------------------------------------------------------------
  446.  
  447.          Telling Class 1 modems to receive at a maximum of 9600 bps  /DIS
  448.          ================================================================
  449.  
  450.          If your Class 1 modem can receive at a maximum of 9600, strange
  451.          things will happen if you forgot to tell BGFAX this, since it will
  452.          default to tell the other side you will be using 14400 bps for fax
  453.          operations.  To force BGFAX to receive at a maximum of 9600 bps
  454.          with Class 1 faxmodems, use the /DIS:79 parameter, i.e.:
  455.  
  456.               bgfax /fhay:713_893_9124 c:\bgfax 1 z /dis:79 /ns
  457.  
  458.          To compute your own /DIS value, first, pick a value from the
  459.          following table:
  460.  
  461.          2400  -> 3
  462.          4800  -> 11
  463.          9600  -> 15
  464.          14400 -> 47
  465.  
  466.          Next, you have two options.  If you want to allow high resolution
  467.          documents, add the value 64 to your choice.  If you want to allow
  468.          2D-MR documents, add the value 128 to your choice.  For example,
  469.          let's say you wanted a maximum speed of 9600 along with high
  470.          resolution documents: 15 + 64 = 79, so use /DIS:79.
  471.  
  472.          See the following chart for pre-computed examples:
  473.  
  474.          /DIS:nnn   Description (all of the following allow high res faxes)
  475.          --------   -------------------------------------------------------
  476.          75         Maximum speed of 4800 bps, 1D-MH faxes only
  477.          79         Maximum speed of 9600 bps, 1D-MH faxes only
  478.          207        Maximum speed of 9600 bps, 1D-MH & 2D-MR faxes
  479.          111        Maximum speed of 14400 bps, 1D-MH faxes only [DEFAULT]
  480.          239        Maximum speed of 14400 bps, 1D-MH & 2D-MR faxes
  481.  
  482.          -------------------------------------------------------------
  483.          TSR fax notification
  484.          -------------------------------------------------------------
  485.  
  486.          BGFAX comes with an optional TSR program (NFAX.COM) that will
  487.          place the word "FAX" on your screen whenever a successful incoming
  488.          fax occurs.  However, you must tell BGFAX that you wish to alert
  489.          NFAX.COM to display the message.  You can do this by using the /NF
  490.          switch.  Example:
  491.  
  492.               bgfax /fax c:\bgfax 2 q /nf
  493.  
  494.          This will activate the NFAX.COM interrupt and cause the message to
  495.          get displayed.  To turn the message off, you can run the FAXOFF.COM
  496.          program contained in the BGFAX archive.  Remember, NFAX.COM is a
  497.          TSR and must be loaded in your AUTOEXEC.BAT properly if you wish
  498.          to use it with BGFAX.  It is totally optional!  Also, note that if
  499.          your machine is rebooted, the fax message will not be on your
  500.          screen when your system powers back up.
  501.  
  502.          When you want to turn off the "FAX" alert message, you need to
  503.          run the included "FAXOFF.COM" file.
  504.  
  505.     ************************************************************************
  506.          AFTER YOU RECEIVE THE FAX
  507.     ************************************************************************
  508.  
  509.          NAMING CONVENTION
  510.          =================
  511.          The name of the fax file will be FAXnnnn.??? where "nnnn" is a
  512.          number that is padded with zeros and "???" is "FAX" or "QFX",
  513.          depending upon which fax format you save the file in.  If you ever
  514.          see a BGFAX.$$$ file in your directory, it should *NOT* be there,
  515.          as it should have been renamed in the FAXnnnn.??? format.  If it
  516.          is there, it means some kind of problem happened during the fax
  517.          reception.  Normally, problem faxes will be renamed to BADnnnn.???.
  518.  
  519.          Faxworks format files are named FXnnnnn.FAX.
  520.  
  521.          FAXIN.LOG
  522.          =========
  523.          BGFAX creates a BGFAX.LOG file that contains a bunch of
  524.          information that is mainly only for debug purposes.  A much
  525.          cleaner log file is called FAXIN.LOG and looks like this:
  526.  
  527. Date  Time  ET    Bytes   Rate  Filename     Remote Fax ID        Pgs  Notes
  528. -------------------------------------------------------------------------------
  529. 12-21 11:52 00:42   18183  9600*FAX0001.FAX  Unknown                2  Finished
  530. 12-21 18:04 00:38   18182  9600 FAX0002.FAX  Unknown                2  Not Done
  531. 12-22 21:30 00:29   17793 14400*FAX0003.FAX  7138939124             1  Finished
  532. 12-22 21:42 00:29   17541 14400#FAX0004.FAX  TRANQUILITY BASE       1  Finished
  533. 12-23 06:44 00:32   16941  9600%FAX0005.FAX  Null ID Received       1  Finished
  534. 12-25 17:21 01:22  107392 14400*FAX0006.FAX  7132424708             1  Finished
  535.  
  536.          Notice the special symbols between the Rate and Filename:
  537.  
  538.            -> (space) means low resolution, 1D-MR compression
  539.          * -> means high resolution, 1D-MH compression
  540.          % -> means low resoltion, 2D-MR compression
  541.          # -> means high resolution, 2D-MR compression
  542.  
  543.          "Not Done" under Notes means that BGFAX believed more pages were
  544.          to have followed, but were not actually received.  "ET" is
  545.          estimated time.  Everything else is self explanatory.
  546.  
  547.  
  548.          DOPRINT.BAT
  549.          ===========
  550.          After you successfully receive a fax, BGFAX will exit with an
  551.          errorlevel of 4 and append (or create) a DOPRINT.BAT file.
  552.  
  553.          CALL C:\BGFAX\EXEPRINT.BAT C:\BGFAX\FAX0085.FAX
  554.          CALL C:\BGFAX\EXEPRINT.BAT C:\BGFAX\FAX0086.FAX
  555.  
  556.          You do not have to do anything with this at all, but it is
  557.          provided for those of you who wish to print faxes as they are
  558.          received.  It will call the EXEPRINT.BAT file and pass it the
  559.          parameter with the path and name of the fax file that was just
  560.          received.
  561.  
  562.          @echo off
  563.          rem ... following line prints to a laser
  564.          view %1 /p40
  565.          rem ... following line prints to a 24-pin dot matrix
  566.          rem view %1 /p24
  567.  
  568.          Remember to delete the DOPRINT.BAT file after you process it.
  569.          (If you do not, every time BGFAX goes to print another fax,
  570.          it will print ALL faxes received since you first set it up.)
  571.  
  572.    #########################################################################
  573.    ##                           SEND FAX MODE                             ##
  574.    #########################################################################
  575.  
  576.       Note: A better version of the SEND fax mode documentation is available
  577.       in HTML format from my web site at http://www.blkbox.com/~bgfax/
  578.  
  579.          Currently, if you want to send a fax to another person, the fax
  580.          file must already be in either ZFAX, Quick Link II format, or
  581.          TIFF-Class-F (Faxworks, Word Perfect 5.1+, etc.) format.
  582.  
  583.               BGFAX /SEND FAX0001.FAX 893-9124
  584.  
  585.          See the BGFAX.CNF file for more info, such as maximum amount of
  586.          busy signals and failures before exit, etc.
  587.  
  588.          MAKEFAX.EXE (or MAKEFAX2.EXE) is used to convert ASCII, PCX, or
  589.          DCX files to fax format.  SEE DOCS\MAKEFAX.DOC FOR MORE DETAILS!
  590.  
  591.          BGFAX can exit with three possible errorlevels when sending...
  592.  
  593.               errorlevel 5  -> fax sent successfully
  594.               errorlevel 1  -> fax send failure
  595.               no errorlevel -> file not found, keypress abort, etc.
  596.  
  597.          If the number is BUSY, BGFAX will try a few more times (the number
  598.          of times specified in the MB= entry in the BGFAX.CNF file) and
  599.          will pause for SW= number of seconds between dials.  If a failure
  600.          occurs during handshaking or during the actual sending of the fax,
  601.          BGFAX will terminate with an failure errorlevel.
  602.  
  603.          If you are a programmer, and need to use BGFAX to send faxes, but
  604.          need more information than success or failure, you need to use the
  605.          /ER switch on the BGFAX /SEND command line.  BGFAX will make only
  606.          ONE attempt to send the fax in /ER mode (regardless of BUSY, etc.)
  607.  
  608.               bgfax /send fax0001.fax 893-9124 /er
  609.  
  610.          The following "Extended Results" are available:
  611.  
  612.               errorlevel 19 -> too many retrains (a class 1 failure)
  613.               errorlevel 18 -> remote ID fails the /CI:xxx match
  614.               errorlevel 17 -> remote fax device does not support 2D-MR
  615.               errorlevel 16 -> remote fax does not support high resolution
  616.               errorlevel 15 -> failure after connect (HDLC frameout, etc.)
  617.                                (a class 1 failure)
  618.               errorlevel 14 -> a timeout occurred
  619.               errorlevel 13 -> no +FCON ever occurred (NO CARRIER, etc.)
  620.                                (a class 2 or 2.0 failure)
  621.               errorlevel 12 -> failure after connect (+FHNG, no XON, etc.)
  622.                                (a class 2 or 2.0 failure)
  623.               errorlevel 11 -> "NO DIALTONE"
  624.               errorlevel 10 -> "BUSY"
  625.               errorlevel 7  -> the number is BLACKLISTED by the modem
  626.               errorlevel 5  -> *** FAX SENT SUCCESSFULLY ***
  627.               errorlevel 1  -> generic fax send failure
  628.               no errorlevel -> keypress abort, file access failure, misc fail
  629.  
  630.          TOP OF PAGE HEADERS
  631.          ===================
  632.          BGFAX will print a top of page header at the top of each page
  633.          BGFAX sends out.  This is same kind of thing that real fax
  634.          machines and other computer fax software do to identify who sent
  635.          the fax, where it's going, the date and time, and the page number.
  636.  
  637.          BGFAX will need to call MAKEFAX.EXE with a special command line
  638.          parameter to cause the creation of the top of make banners.  Make
  639.          sure you keep both MAKEFAX.EXE and BGFAX.FNT in your BGFAX
  640.          environment directory.
  641.  
  642.          If you get lost real easy, you can skip the rest of this section.
  643.          This rest of this section describes how to configure BGFAX to
  644.          change the format of the top of page banners.
  645.  
  646.          BGFAX lets you be very flexible with what exactly is said on the
  647.          top of page headers.  It does this by the use of a "template" that
  648.          is located in the BGFAX.CNF file.  This is necessary so that
  649.          countries that do not use English can put their own language on
  650.          the top of page banners.  Also, it's just plain fun.
  651.  
  652. fh=To: %to21% From: %fr42% %mo2%/%dy2%/%yr2%  %hr2%:%mi2%  Pg %pg2%/%mp2%
  653. fr=B.J. Guillot (713-893-9124)
  654.  
  655.          The fh= entry is the template.
  656.  
  657.          It should be obvious as to what all those %TTNN% things do,
  658.          but if not, here's a little dictionary:
  659.  
  660.    %toNN% -> who the fax is for (will default to the sending phone number,
  661.      but can override to say any text with the /TO= command line switch)
  662.    %frNN% -> who the fax if from (will default to the ID= entry in the
  663.      BGFAX.CNF file, unless a FR= entry is found, but can override to say
  664.      any text with the /FR= command line switch)
  665.    %moNN% -> month
  666.    %dyNN% -> year
  667.    %hrNN% -> hour
  668.    %miNN% -> minute
  669.    %pgNN% -> current page number
  670.    %mpNN% -> maximum number of pages
  671.  
  672.    With %to and %fr, BGFAX will right pad the whoto or whofrom strings to
  673.    a total number of NN characters with blanks.  All other fields, are
  674.    left padded to NN characters with ZEROS.  Keep in mind that BGFAX can
  675.    fit 100 characters across the page.
  676.  
  677.          The fr= option, is used in the fh= template entry.  Basically,
  678.          fr= is what will be inserted into the %frNN% template variable.
  679.  
  680.          Are you lost?  Here is an example and what it would look like:
  681.  
  682.           C:\> bgfax /send output.fax 555-1212
  683.  
  684. To: 555-1212              From: B.J. Guillot (713-893-9124)                05/08/94  16:25  Pg 01/15
  685.  
  686.          Let's say you run a BBS with a fax door and want to stick you
  687.          user's name at the top of each page instead of your personal name.
  688.          No need to rebuild a BGFAX.CNF!  You can manipulate the %toNN% and
  689.          %frNN% template variables from the command line.  If you do this,
  690.          remember to use underscores (_) to indicate spaces.  Example:
  691.  
  692. C:\> bgfax /send output.fax 555-1212 /fr=BGFAX_Tech_Support /to=John_Doe
  693.  
  694. To: John Doe              From: BGFAX Tech Support                         05/08/94  16:25  Pg 01/15
  695.  
  696.          LIMITING MAXIMUM /SEND SPEED
  697.          ============================
  698.  
  699. /SEND:nnnn Some fax machines and fax modems don't operate very well together
  700.            at 14400 speeds.  You can force BGFAX to use a lower maximum speed
  701.            by putting the BPS rate after the send command, e.g.:
  702.  
  703.               bgfax /send:9600 fax0001.fax 893-9124 /c1
  704.               bgfax /send:7200 fax0001.fax 893-9124
  705.               bgfax /send:12000 fax0001.fax 1-713-893-9124
  706.  
  707.  
  708.          FAXOUT.LOG
  709.          ==========
  710.  
  711.          A FAXOUT.LOG file is created when sending out faxes to indicate
  712.          the success or failure.  Here is an example:
  713.  
  714. Date  Time  ET    Bytes   Rate  Filename     Phone Number         Pgs  Notes
  715. -------------------------------------------------------------------------------
  716. 03-22 13:18 00:25    3882 14400 RESPOND.FAX  8939124                2  Finished
  717. 03-22 13:18 00:11    3884 NOFAX RESPOND.FAX  8939124                0  Busy
  718. 03-22 13:19 00:11    3884 NOFAX RESPOND.FAX  8939124                0  No Fcon
  719. 03-22 13:30 00:31    3208  7200 RESPOND.FAX  8939124                0  Bad Conn
  720. 03-22 13:31 00:28    3882  9600 RESPOND.FAX  8939124                2  Finished
  721. 03-23 14:42 00:26    3882 14400 RESPOND.FAX  8939124                1  Timeout
  722. 03-23 14:44 00:29    3882 NOFAX RESPOND.FAX  8939124                0  BlackLst
  723. 03-23 14:47 00:21    3882 NOFAX RESPOND.FAX  8939124                0  Max Busy
  724. 03-23 14:51 00:23    3882 14400 RESPOND.FAX  8939124                1  Gen Fail
  725. 03-23 14:54 00:05    3882 NOFAX RESPOND.FAX  8939124                0  No Dial
  726.  
  727.          SEND.DAT
  728.          ========
  729.          After running BGFAX /SEND, it will create a file to let you easily
  730.          know what happened.  Example:
  731.  
  732. FaxFilename 2pages.fax
  733. FaxTelephoneNumber 7138939124
  734. LastPageSuccessfullySent 2
  735. TotalNumberOfPages 2
  736.  
  737.    This is a regular ASCII file, which contains information about the last
  738.    fax sent, including (most importantly) the last page successfully sent.
  739.    To use this information, you would need to write a program to examine
  740.    and see if "LastPageSuccessfullySent" is equal to "TotalNumberOfPages".
  741.    If not, this indicates a transmission failure, and you will need to
  742.    resend the fax using the /SP:lastpagesuccessfullysent+1 logic, so that
  743.    you need not resend the entire fax.
  744.  
  745.    This may also be useful on some of the buggier fax modems, where they
  746.    (sometimes) do not return a successfully condition upon sending the
  747.    last page, even though it was really sent.  What you would need to do,
  748.    is see if the LastPageSuccessfullySent is one less than the
  749.    TotalNumberOfPages, if so, you can "assume" (big assumption) that the
  750.    last page might have actually gotten through even though the modem
  751.    reports to BGFAX otherwise.
  752.  
  753.  
  754.  
  755.    ##########################################################################
  756.    ##       LIST OF ALL COMMAND LINE PARAMETERS, SHORT DESCRIPTIONS        ##
  757.    ##########################################################################
  758.  
  759.          "REAR" refers to BGFAX's rear-end mode, usually when a BBS
  760.          or Fido mailer answers the phone, and then passes control to
  761.          BGFAX when the port is still hot.  This refers to /FAX, /FAST,
  762.          /FCO, /FHAY and /FZYX modes.
  763.  
  764.  
  765.          Switches valid in ALL operational modes
  766.          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  767.          /50       Tell BGFAX (DOS version only) to use 50 line text mode
  768.  
  769.          /ED       Tells BGFAX to use "European Date" format.  DD-MM-YY.
  770.  
  771.          /NL       No Log--tells BGFAX not to use a BGFAX.LOG file at all.
  772.  
  773.          /SD       Skip Debug--tells BGFAX to make smaller LOG files by
  774.                    skipping all debugging information.
  775.  
  776.          /MO       Monochrome display mode, for palmtop computers
  777.  
  778.          /PID:nnn  Example... /PID:34 will make all log files named
  779.                    BGFAX34.LOG to keep from having trouble on multi-node
  780.                    systems.
  781.  
  782.          /QQ:nn    BGFAX will print only one line of information on the
  783.                    screen at line# nn rather than using all 25 lines of
  784.                    the screen.  /QQ:25 for example would make BGFAX print
  785.                    all status messages only on line 25 (bottom of screen.)
  786.  
  787.          Valid only in /SEND mode
  788.          ~~~~~~~~~~~~~~~~~~~~~~~~
  789.          /SEND     can also be used as /SEND:nnnnn where nnnnn is the maximum
  790.                    fax transmit speed, e.g., /SEND:9600
  791.  
  792.          BGFAX /SEND:9600 output.fax 555-1212
  793.  
  794.          In send mode, parameter #2 (output.fax) is the name of the fax
  795.          file that is being sent.  Parameter #3 is the phone number.  The
  796.          following switches must come after parameter #3, e.g.,
  797.  
  798.          BGFAX /SEND:9600 output.fax 555-1212 /ER
  799.  
  800.          /SP:nn    Tells BGFAX to start sending at Page n instead
  801.                    of Page 1.  example: BGFAX /SEND out.fax 5551212 /SP:4
  802.                    Would tell BGFAX to start sending at Page 4.
  803.  
  804.          /ER       Extended Results send mode.  Discussed earlier.
  805.  
  806.          /NX       Tells BGFAX that when sending on Class 2 modems to
  807.                    "Not wait for initial XON".  This switch should ONLY be
  808.                    used if the BGFAX.LOG reports "initial XON not received".
  809.                    Only some Intel (GVC OEM) modems are known to need this.
  810.  
  811.          /HW       Tells BGFAX to use hardware flow control (CTS) when
  812.                    sending faxes.  Applies only to the DOS version of BGFAX.
  813.                    This should not be needed unless you are running under
  814.                    a multitasking operating system like OS/2, Windows, or
  815.                    DesqView.  If you are using a Class 1 or Class 2 modem,
  816.                    you will also need to edit the BGFAX.CNF file's "ds="
  817.                    dial string, and insert the command to activate hardware
  818.                    flow control for the modem as well!  This will be
  819.                    taken care of automatically in Class 2.0, but Class 1
  820.                    and 2 have no provisions for activating hardware flow
  821.                    control.  If ds=ATDT in BGFAX.CNF, then change it to...
  822.  
  823.                           ds=AT&K3DT   for a Rockwell Class 1 or 2 modem
  824.                           ds=AT&H1DT   for a US Robotics Class 1 modem
  825.  
  826.                    If you are running plain DOS, software-based flow control
  827.                    should work perfectly unless you have a buggy modem.
  828.  
  829.          /NB       Do not create top of page banners when sending faxes.
  830.  
  831.          /C1       Forces BGFAX to use Class 1 mode when sending.
  832.  
  833.          /C2       Forces BGFAX to use Class 2 mode when sending.
  834.  
  835.          /NM       Forces BGFAX to use Numeric Mode when sending in Class 1
  836.                    mode.  May be required on some modems like the I-Modem.
  837.                    Numeric mode being "ATEQV".
  838.  
  839.          /FR:xxxx  Overrides the FR= field in BGFAX.CNF when sending
  840.                    faxes.  This text goes in the "From:" field in the
  841.                    top of page banner.  Use underscores instead of
  842.                    spaces.  Example... /FR:BGFAX_Tech_Support
  843.  
  844.          /TO:xxxx  Stuffs the "%toNN%" field template.  Use underscores
  845.                    instead of spaces.
  846.  
  847.          /SL:nn    Add nn extra scan lines to the top of each page sent.
  848.                    "nn" is given in SCAN LINES not text lines.  16 scan
  849.                    lines is about equal to one line of text.
  850.  
  851.       /CI:xxxxx Check ID of remote machine before we /SEND the document.
  852.                 Example: BGFAX /SEND file.fax 8939124 /ci:3_9124
  853.                 BGFAX will dial the remote fax machine, and make sure
  854.                 that a "3 9124" appears somewhere in the remote fax ID.
  855.                 Note that underscores (_) are used to represent spaces.
  856.                 If /ER mode is active, if the Check ID fails, BGFAX /SEND
  857.                 will exit with errorlevel 18.  If no /ER, if it fails, it
  858.                 will exit the standard error exit errorlevel 1.  How is this
  859.                 useful?  Well, say someone gets call forwarding on their fax
  860.                 line, and they have to forward their number to an alternate
  861.                 fax machine for a week while their fax machine is repaired.
  862.                 The remote fax machine is probably programmed with an
  863.                 alternate remote ID, and BGFAX /SEND will abort when it
  864.                 realized the remote ID does not match what it should, in
  865.                 the case that you need to send very confidential documents.
  866.  
  867.          Command example:
  868.             BGFAX /send:9600 output.fax 555-1212 /qq:10 /c1 /sp:2 /ed /pid:44
  869.                 BGFAX would send the file "OUTPUT.FAX" to 555-1212 with a
  870.                 maximum speed of 9600 bps.  BGFAX will work in "quiet" mode--
  871.                 displaying status information on a single line (line 10).
  872.                 BGFAX will force Class 1 mode, and it will start sending the
  873.                 fax at page number 2.  BGFAX will log the results into the
  874.                 BGFAX44.LOG file and the dates will be in European format
  875.                 instead of American format.
  876.  
  877.  
  878.          Valid in "REAR" mode only
  879.          ~~~~~~~~~~~~~~~~~~~~~~~~~
  880.          /DTE:nnnnn If BGFAX has trouble determining the DTE speed when
  881.                    used in rear-end mode (sometimes happens on FOSSIL
  882.                    based systems), you can tell BGFAX what DTE speed the
  883.                    port is set to.  Example...
  884.                    BGFAX /FAX C:\BGFAX 1 Z /DTE:57600
  885.                    People using BGFAX/DOS in a dos session of Windows 3.11,
  886.                    Windows 95, and OS/2 may need to use this.
  887.  
  888.  
  889.          Valid in both "REAR" and /HOST modes
  890.          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  891.          /NS       Eliminates the sound that BGFAX plays after successfully
  892.                    receiving a fax.  Registered version only.
  893.  
  894.          /NF       Make "FAX" appear on screen after fax received, must be
  895.                    have the NFAX.COM TSR loaded.  Use only on 286 machines
  896.                    and higher.
  897.  
  898.          /DIS:nnn  Useful for limiting/changing the fax capabilities on
  899.                    a Class 1 modem.  Discussed in detail in another part
  900.                    of the documentation.
  901.  
  902.          /EX       If you are using an EXAR based fax modem, BGFAX will
  903.                    not perform DLE escapes so that you can get a readable
  904.                    fax image when receiving.  DO NOT USE THIS COMMAND ON
  905.                    A ROCKWELL OR OTHER TYPE OF FAX MODEM.  Most people
  906.                    in the United States will never need this parameter.
  907.                    A few people in other countries might need to use it.
  908.  
  909.          /NT       Tells BGFAX that when receiving in Class 1 mode to
  910.                    "Not check Training".  Use this if you notice BGFAX
  911.                    sending <FTT> frames to the other side for no
  912.                    apparent reason.
  913.  
  914.  
  915.          Valid only in /HOST mode
  916.          ~~~~~~~~~~~~~~~~~~~~~~~~
  917.          /HOST     can also be used as /HOST:nn mode where nn is the number
  918.                    of minutes of idle time in which BGFAX will exit with an
  919.                    errorlevel 6.  /HOST alone will not exit when idle.
  920.  
  921.          /NH       No Hop.  In /HOST mode, BGFAX will normally do a
  922.                    "screen saving" hop.  This takes less CPU resources.
  923.  
  924.          /ATO      In /HOST mode, use this parameter if you are using
  925.                    some very old modems in Class 1 mode (some old 2400/9600
  926.                    modems, as well as the newer USR modems).  How do you
  927.                    know if you need to use this?  If you see the word "DATA"
  928.                    appear on the screen and then nothing else, you need it!
  929.  
  930.          /300      Tells BGFAX's /HOST mode to allow 300 bps callers.
  931.                    Only use this on a Class 2, 2.0, or ZyXEL modem.
  932.                    Class 1 (when adaptive answering is disabled) uses
  933.                    a string of "CONNECT" to represent a fax connect,
  934.                    which is the same as a 300 BPS data caller.
  935.  
  936.          /SB       In /HOST mode for the OS/2 version of BGFAX, it causes
  937.                    BGFAX/2 to _spawn_ the DOBBS.CMD file so that BBS
  938.                    software such as Maximus/2 can be used successfully.
  939.                    This switch is meaningless to the DOS version.
  940.  
  941.          /ME       In /HOST mode, if you make BGFAX ask the user to hit
  942.                    <Escape> to load the BBS, normally, if nothing
  943.                    happens in ten seconds or so, BGFAX times out and
  944.                    loads the BBS anyway.  /ME stands for Must hit Escape
  945.                    to actually load the BBS.  If the user does not,
  946.                    BGFAX will hang up on them instead of loading the
  947.                    BBS.  Can be used to keep people that don't have
  948.                    <Esc> keys on their keyboard off your BBS.
  949.  
  950.          /ND       In /HOST mode, BGFAX will send a message to any human
  951.                    (data) callers telling them the BBS is not currently
  952.                    accepting modem callers.  You should never really need
  953.                    to use this.
  954.  
  955.  
  956.          Speciality Modes
  957.          ~~~~~~~~~~~~~~~~
  958.          The following mode is only needed in very special cases, and
  959.          the average user should have no use for it.
  960.  
  961.          /RING     Used instead of /HOST, except that BGFAX will immediately
  962.                    send the answer string (an= in BGFAX.CNF) to the modem
  963.                    after BGFAX finishes initializing the modem.
  964.  
  965.          Undocumented
  966.          ~~~~~~~~~~~~
  967.          /HB       For internal testing purposes only, /SEND
  968.          /XB       For internal testing purposes only, /SEND
  969.          /SMD      For internal testing purposes only, /SEND
  970.          /EM:nnnnn For internal testing purposes only, /SEND
  971.          /IT       For internal testing purposes only, /SEND
  972.          /TF       For internal testing purposes only, receive mode
  973.  
  974.          -------------------------------------------------------------
  975.          HANGUP STATUS CODES
  976.          -------------------------------------------------------------
  977.  
  978.          When BGFAX reports "Problematic fax reception", it will indicate a
  979.          fax hangup code, such as [+FHNG: 73].  This chart, taken from the
  980.          Supra CLASS_2.TXT fax command set documentation (which, I believe
  981.          was taken from the Rockwell Class 2 documentation), allows you to
  982.          match up the +FHNG message with its true meaning.  For example,
  983.          +FHNG: 73 would indicate "T.30 T2 timeout, expected page not
  984.          received", which really does not say much, but it may give you
  985.          some clue.  I don't know what most of these mean myself, so I
  986.          don't know whether it will provide you any luck or not, but, many
  987.          people asked that it be included, so here it is.
  988.  
  989.      /-----------------------------------------------------------------\
  990.      | 2.0   Class 2 |  Cause Description                              |
  991.      | --------------|-------------------------------------------------|
  992.      | 00-0F     0-9 |  CALL PLACEMENT AND TERMINATION                 |
  993.      |---------------|-------------------------------------------------|
  994.      | 00          0 |  Normal and proper end of connection            |
  995.      | 01          1 |  Ring Detect without successful handshake       |
  996.      | 02          2 |  Call aborted, from +FK/+FKS or <CAN>           |
  997.      | 03          3 |  No Loop Current                                |
  998.      | 04      4,n/a |  Ringback detected, no answer (timeout)         |
  999.      | 05        n/a |  Ringback detected, answer without CED          |
  1000.      |---------------|-------------------------------------------------|
  1001.      | 10-1F   10-19 |  TRANSMIT PHASE A & MISCELLANEOUS ERRORS        |
  1002.      |---------------|-------------------------------------------------|
  1003.      | 10         10 |  Unspecified Phase A error                      |
  1004.      | 11         11 |  No Answer (T.30 T1 timeout)                    |
  1005.      |---------------|-------------------------------------------------|
  1006.      | 20-3F   20-39 |  TRANSMIT PHASE B HANGUP CODES                  |
  1007.      |---------------|-------------------------------------------------|
  1008.      | 20         20 |  Unspecified Transmit Phase B error             |
  1009.      | 21         21 |  Remote cannot receive or send                  |
  1010.      | 22         22 |  COMREC error in transmit Phase B               |
  1011.      | 23         23 |  COMREC invalid command received                |
  1012.      | 24         24 |  RSPEC error                                    |
  1013.      | 25         25 |  DCS sent three times without response          |
  1014.      | 26         26 |  DIS/DTC received 3 times; DCS not recognized   |
  1015.      | 27         27 |  Failure to train at 2400 bps or +FMS/          |
  1016.      |               |                                  +FMINSP value  |
  1017.      | 28         28 |  RSPREC invalid response received               |
  1018.      |---------------|-------------------------------------------------|
  1019.      | 40-4F   40-49 |  TRANSMIT PHASE C HANGUP CODES                  |
  1020.      |---------------|-------------------------------------------------|
  1021.      | 40         40 |  Unspecified Transmit Phase C error             |
  1022.      | 41        n/a |  Unspecified Image format error                 |
  1023.      | 42        n/a |  Image conversion error                         |
  1024.      | 43         43 |  DTE to DCE data underflow                      |
  1025.      | 44        n/a |  Unrecognized Transparent data command          |
  1026.      | 45        n/a |  Image error, line length wrong                 |
  1027.      | 46        n/a |  Image error, page length wrong                 |
  1028.      | 47        n/a |  Image error, wrong compression code            |
  1029.      |---------------|-------------------------------------------------|
  1030.      | 50-6F   50-69 |  TRANSMIT PHASE D HANGUP CODES                  |
  1031.      |---------------|-------------------------------------------------|
  1032.      | 50         50 |  Unspecified Transmit Phase D error             |
  1033.      | 51         51 |  RSPREC error                                   |
  1034.      | 52         52 |  No response to MPS repeated 3 times            |
  1035.      | 53         53 |  Invalid response to MPS                        |
  1036.      | 54         54 |  No response to EOP repeated 3 times            |
  1037.      | 55         55 |  Invalid response to EOP                        |
  1038.      | 56         56 |  No response to EOM repeated 3 times            |
  1039.      | 57         57 |  Invalid response to EOM                        |
  1040.      | 58         58 |  Unable to continue after PIN or PIP            |
  1041.      |---------------|-------------------------------------------------|
  1042.      | 70-8F   70-89 |  RECEIVE PHASE B HANGUP CODES                   |
  1043.      |---------------|-------------------------------------------------|
  1044.      | 70         70 |  Unspecified Receive Phase B error              |
  1045.      | 71         71 |  RSPREC error   (before TCF??)                  |
  1046.      | 72         72 |  COMREC error   (after TCF??)                   |
  1047.      | 73         73 |  T.30 T2 timeout, expected page not received    |
  1048.      | 74         74 |  T.30 T1 timeout after EOM received             |
  1049.      |---------------|-------------------------------------------------|
  1050.      | 90-9F   90-99 |  RECEIVE PHASE C HANGUP CODES                   |
  1051.      |---------------|-------------------------------------------------|
  1052.      | 90         90 |  Unspecified Receive Phase C error              |
  1053.      | 91         91 |  Missing EOL after 5 seconds                    |
  1054.      | n/a        92 |  < Not assigned >           /--- Rockwell only  |
  1055.      | 92 -Note-> 94 |  Bad CRC or frame (ECM {or BFT} modes)          |
  1056.      | 93         93 |  DCE to DTE buffer overflow                     |
  1057.      |---------------|-------------------------------------------------|
  1058.      | A0-BF 100-119 |  RECEIVE PHASE D HANGUP CODES                   |
  1059.      |---------------|-------------------------------------------------|
  1060.      | A0        100 |  Unspecified Receive Phase D errors             |
  1061.      | A1        101 |  RSPREC invalid response received               |
  1062.      | A2        102 |  COMREC invalid response received               |
  1063.      | A3        103 |  Unable to continue after PIN or PIP            |
  1064.      |---------------|-------------------------------------------------|
  1065.      | C0-DF     n/a |  RESERVED FOR FUTURE STANDARDIZATION            |
  1066.      | E0-FF     n/a |  RESERVED FOR MANUFACTURER SPECIFIC USE         |
  1067.      | n/a   120-255 |  RESERVED CODES                                 |
  1068.      \-----------------------------------------------------------------/
  1069.  
  1070.  
  1071.          -------------------------------------------------------------
  1072.          ACKNOWLEDGEMENTS
  1073.          -------------------------------------------------------------
  1074.  
  1075.          I would like to thank the following people for their assistance
  1076.          during the initial alpha and beta test phase.
  1077.  
  1078.          Bill Huther
  1079.          Brian Wood
  1080.          Russell Kroll
  1081.          Ethan Brofman
  1082.          Ed Lucas
  1083.  
  1084.          I also think the many people from the Internet and FidoNet that
  1085.          help out with the on-going public beta program.
  1086.  
  1087.          US Robotics, Hayes and Supra have also been very helpful in
  1088.          getting BGFAX to work better with their modems.
  1089.  
  1090.          -------------------------------------------------------------
  1091.          SHAREWARE
  1092.          -------------------------------------------------------------
  1093.  
  1094.          THIS PROGRAM IS SHAREWARE.
  1095.  
  1096.          If you use this program for more than four weeks you are required
  1097.          to register it for its low cost of only $25 US DOLLARS.
  1098.  
  1099.          Please make sure BGFAX works for you BEFORE registering.  If you
  1100.          have a question or problem, I'll answer it (or say I don't know
  1101.          the answer) whether you have registered or not.  I receive so much
  1102.          mail that it sometimes takes me up to two months to reply to your
  1103.          question.  Again, this is whether you are registered or not.
  1104.          Voice contact is the only way you will be able to get prompt reply.
  1105.  
  1106.          Registrations encourage frequent updates.
  1107.  
  1108.          If you are paying by check or money order, please print out the
  1109.          REGISTER.FRM file, fill it out, and mail it to my address.  Please
  1110.          try your best to make sure checks are drawn on a US bank.
  1111.  
  1112.          If you are paying by credit card (Visa, Mastercard, Discover or
  1113.          American Express) you can (1) mail the form to me, (2) fax the
  1114.          form to me, (3) netmail the form to me, or (4) call my BBS and
  1115.          open door #6 and quickly register.
  1116.  
  1117.          You can also register with Authur Mol in the Netherlands.  (See
  1118.          the REGISTER.NL file for more info.  I hope you read Dutch.)
  1119.  
  1120.          Hamish Moffatt is the registration agent for Australia.  (See
  1121.          the REGISTER.AUS file for more info.  This one is in English.)
  1122.  
  1123.          -------------------------------------------------------------
  1124.  
  1125.          Regards,
  1126.          B.J. Guillot
  1127.  
  1128.          "Don't take a vacation while basting your Rick Roger's turkey."
  1129.                                  -- Yan Can Cook, PBS television network
  1130.  
  1131.