home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / BGFAXB05.ZIP / BGFAX.DOC < prev    next >
Text File  |  1993-08-25  |  39KB  |  729 lines

  1.  
  2.                Voice              B.J. Guillot            Data/Fax
  3.             713.893.9320      2611 Rushwood Circle      713.893.9124
  4.                             Houston Texas 77067-1941
  5.  
  6.              Copyright (C) 1993 B.J. Guillot.  All Rights Reserved.
  7.  
  8.          =============================================================
  9.          BGFAX 1.0 Beta 5                                WED 25 AUG 93
  10.          =============================================================
  11.  
  12.                          Dedicated to Gene Roddenberry
  13.                                   1921-1991
  14.  
  15.          -------------------------------------------------------------
  16.          ABSTRACT                                  FidoNet 1:106/400.0
  17.          -------------------------------------------------------------
  18.  
  19.          BGFAX allows SYSOPs to accept faxes on their BBS line.  BGFAX can
  20.          also send faxes.  (While BGFAX was originally designed just for
  21.          sysops, it can also be used by Mr. Joe User who, like me, hates
  22.          TSR based fax programs that all the commerical fax software
  23.          developers love for some reason.)
  24.  
  25.          BGFAX is a tool designed for use with *ANY* Class 2 compliant fax
  26.          modem.  The fax modem must also support fully functional ADAPTIVE
  27.          ANSWERING.
  28.  
  29.          Common Class 2 fax modems include the Supra, Practical Peripherials
  30.          (may require purchase of a newer ROM revision if you are using an
  31.          older model), Zoom, ZyXEL, etc.
  32.  
  33.          BGFAX will *NOT* function with Class 1 *ONLY* fax modems.  Common
  34.          Class 1 *ONLY* fax modems include *ALL* USR fax modems, Digicom
  35.          Scouts, the AT&T Dataport, and the SupraLC.
  36.  
  37.          BGFAX can be used in FOUR distinct modes.
  38.  
  39.          FRONTEND MODE ... BGFAX will answer the telephone line ITSELF,
  40.                            handle events, pass data calls to a front end
  41.                            compatible BBS, and take fax calls.
  42.  
  43.          REAR END MODE ... BGFAX will be called from another program when
  44.                            an incoming fax is detected.  FidoNet sysops
  45.                            using front end mailers such as Front Door,
  46.                            Intermail, D'Bridge, Dutchie, etc. are required
  47.                            to use this mode.  The mailer must support the
  48.                            ability to exit to BGFAX when a fax is coming.
  49.  
  50.          SEND MODE ....... BGFAX has the ability to send faxes to another
  51.                            fax machine.  (At this time, the file to be sent
  52.                            must already be in converted fax format.)
  53.  
  54.          INITIALIZATION .. BGFAX will only initialize the modem, and then
  55.                            quit.  This mode is provided for people who need
  56.                            to use BGFAX in rear end mode, but their Fido
  57.                            mailer (or BBS software) will not allow the long
  58.                            initialization strings required for fax usage.
  59.  
  60.          -------------------------------------------------------------
  61.          INCLUDED FILES
  62.          -------------------------------------------------------------
  63.  
  64.          1.    BGFAX.DOC -- general documentation
  65.  
  66.          2.    BGFAX.TXT -- beta version release notes
  67.  
  68.          3.    BGFAX.HLP -- specialized help for various setups
  69.  
  70.          4.    BGFAX.EXE -- the main executable
  71.  
  72.          5. REGISTER.FRM -- registration form
  73.  
  74.          -------------------------------------------------------------
  75.          DISCLAIMER
  76.          -------------------------------------------------------------
  77.  
  78.          BGFAX and accompanying files are provided AS IS without any
  79.          warranty, expressed or implied.  This includes without limitation
  80.          the fitfulness for a particular purpose or application and any
  81.          warranties of merchantability.
  82.  
  83.          While I tried to be as through as possible in preparing BGFAX,
  84.          B.J. Guillot shall not be liable for any damages, whether direct,
  85.          indirect, special, incidental or consequential arising from a
  86.          failure of this program or accompanying files to operate in a
  87.          manner desired by the user.  B.J. Guillot shall not be liable for
  88.          any damage to data or property which may by caused directly or
  89.          indirectly by use of this program.
  90.  
  91.          In no event will B.J. Guillot be liable to you for any damages,
  92.          including any lost profits, lost savings or other incidental or
  93.          consequential damages arising out of your use or inability to use
  94.          the program, or for any claim by any other party.  Individuals using
  95.          the software bear all risk as to its quality and performance.
  96.   
  97.          -------------------------------------------------------------
  98.          CONTACTING ME
  99.          -------------------------------------------------------------
  100.  
  101.           FidoNet:  1:106/400                   Voice: +1 713.893.9320
  102.          InterNet:  st1r8@jetson.uh.edu      Data/Fax: +1 713.893.9124
  103.  
  104.          The latest versions of BGFAX can be obtained by Fido FREQ at the
  105.          above Fido node number with the magic name "BGFAX" and can be
  106.          obtained by anonymous FTP for InterNet users at the site
  107.          "uhdux2.dt.uh.edu" in the "/incoming" directory.
  108.  
  109.          BGFAX can also be obtained from Fido 2:512/39.  This system is
  110.          called The Owl's Nest and is the Dutch Supra Distributor.  They
  111.          have three nodes:
  112.  
  113.          +31 0.2155.10921      +31 0.2155.12571      +31 0.2155.28096
  114.  
  115.          -------------------------------------------------------------
  116.          MISCELLANEOUS NOTES
  117.          -------------------------------------------------------------
  118.  
  119.          BGFAX takes the fax call itself.  It does *NOT* require any special
  120.          TSR drivers to be used and does *NOT* pass control to another fax
  121.          program to receive the fax.
  122.  
  123.          ...HOWEVER... You *WILL* need some type of external fax program to
  124.          VIEW and PRINT the received fax.  BGFAX currently supports two
  125.          popular fax formats.  Smith Micro Software's Quick Link II, which
  126.          is included with several faxmodems, and ZyXEL's ZFAX software.
  127.          (ZFAX will not function on a normal Class 2 faxmodem, but it will
  128.          allow you to view and print BGFAX faxes stored in ZFAX format.)
  129.          If anyone can get me the formats for other popular packages, I
  130.          will gladly add them to BGFAX if its not too much trouble.  A
  131.          number of people have requested WinFax format, but I can't find
  132.          any information on Delrina's WinFax file format.
  133.  
  134.          PLEASE NOTE: BGFAX does not need nor use a FOSSIL driver.  BGFAX
  135.          has internal communication support for all UART types including
  136.          the 16550A FIFO chip.  BGFAX assumes ...
  137.  
  138.          COM1=3F8x4     COM2=2F8x3     COM3=3E8x4     COM4=2E8x3
  139.  
  140.          If you are using a nonstandard port configuration, whenever BGFAX
  141.          requires a port number to be entered (such as po=2), instead of
  142.          entering the port number, enter the base address and IRQ seperated
  143.          by an 'x' character (such as po=2E8x5).  BGFAX requires the base
  144.          address be given in hexidecimal notation.
  145.  
  146.          If you are using a ZyXEL modem, whenever you specify the com port
  147.          for BGFAX, you will need to put an exclamation point, !, i.e.,
  148.          po=2! so that BGFAX will not attempt to relock the DTE.  Most
  149.          modems work fine without the !, but remember this option is
  150.          available.  I've also heard that the Zoom VFP Internal Fax Modem
  151.          may also require this ! option.
  152.  
  153.          BGFAX supports Desqview's alternate video buffer zone, if used, and
  154.          will return ticks to other tasks.
  155.  
  156.          This program was compiled under Borland's Turbo Pascal 7.0.
  157.  
  158.          I do all testing with a Supra Fax Modem (ROCKWELL based) v.32bis
  159.          external with V1.80-02 firmware and Frontdoor 2.02/NC running on
  160.          a 386DX/40.  I also routinely test BGFAX with a generic no-namer
  161.          2400 data, 9600 send/receive fax (SIERRA based) modem from Computer
  162.          City running on the ever-so-slow 286/8.
  163.  
  164.          -------------------------------------------------------------
  165.          QUICK TUTORIAL ON SOME FAX CLASS 2 COMMANDS
  166.          -------------------------------------------------------------
  167.  
  168.          AT+FCLASS=?
  169.          ===========
  170.          This command will allow you to see if your fax modem supports
  171.          the "unofficial" Fax Class 2 standard.  The modem should report
  172.          back a string similar to:
  173.  
  174.          0,1,2
  175.  
  176.          This indicates the modes the modem is capable of opering in.  0
  177.          means data, 1 means "official" Class 1, and 2 means "unofficial"
  178.          Class 2.  (3 may indicate "official" Class 2.0, which is not
  179.          necessiarly compatible with BGFAX.)  If the modem response if
  180.          "ERROR" this means your modem does not have any CCITT standard fax
  181.          capabilities.
  182.  
  183.          The above command is explained only for people's curiosity.  BGFAX
  184.          should always be used in data mode.  If you issue an "AT+FCLASS=2"
  185.          command, you may disable adaptive answer and cause your modem to
  186.          attempt a fax connect on *ALL* incoming calls.
  187.  
  188.          AGAIN, do *NOT* use the "AT+FCLASS=2" command.
  189.  
  190.          GROUP III and CLASS 2
  191.          =====================
  192.  
  193.          Many people are often confused between the terminology "GROUP" and
  194.          "CLASS" regarding fax modems.
  195.  
  196.          ALL FAX EQUIPMENT is "GROUP 3" compatible.  This includes fax
  197.          machines, fax modems, standalone PC fax cards, etc.  Group 3 just
  198.          defines the fax specifications, e.g., black-and-white, the
  199.          resolutions, etc.  When Group 4 fax machines are available to
  200.          consumers, they will offer color fax capabilities, but are fax
  201.          modems will still only do black-and-white.
  202.  
  203.          "CLASS" refers only to fax modems.  CLASS has NOTHING AT ALL to do
  204.          with fax machines.  Class 1, Class 2 and Class 2.0 are different
  205.          methods of sending commands to a fax modem from a computer serial
  206.          port.  Many fax modems offer the Class 2 command set.
  207.  
  208.          AT+FAA=1
  209.          ========
  210.          This command will put your modem in ADAPTIVE ANSWERING mode.  This
  211.          means your modem will properly mate with either a standard modem
  212.          data call or a fax machine/fax modem.  Some modems, such as the
  213.          Supra, will report a "FAX" response the instant a fax CNG tone is
  214.          heard from the remote end.  Some modems are brain dead and will
  215.          report "FAX" whenever an "ATA" command is issued to the modem
  216.          regardless of whether the incoming fax is data or fax.
  217.  
  218.          All modems, on true fax calls, will report a "+FCON" response code
  219.          when the fax connection is truly established.  (This is similar to
  220.          a "CONNECT 14400" on a data call.)
  221.  
  222.          Many modems are slightly brain dead and will forget the +FAA
  223.          setting when another command is issued to the modem.  To ensure
  224.          you always answer in adaptive mode, rather than using "ATA" to
  225.          answer the phone, use the following: "AT+FAA=1;A".
  226.  
  227.          The ";", semicolon, is used as a seperator for fax commands.  Some
  228.          modems, such as the Supra, do not require it.  Others, such as the
  229.          PPI, will "ERROR" out if the semicolons are not used.
  230.  
  231.          A final note about adaptive answering: IT IS NOT 100% ACCURATE.
  232.  
  233.          Every now and then, your modem may get confused and think a data
  234.          call is a fax call.  There is nothing I can do about this as it is
  235.          most likely a firmware problem with the modem.  Some modems are
  236.          very brain dead and allow low speed data callers to call the BBS,
  237.          but all high speed callers are treated like they are fax machines.
  238.          (That is NOT GOOD.)  The only way to cure this is get a ROM chip
  239.          upgrade to the modem, if a newer version exists.  You'll just have
  240.          to experiment and make sure your adaptive answer works about
  241.          95% of the time, or whatever you decide is good.
  242.  
  243.          The Supra Fax Modem, for example, is pretty good concerning
  244.          adaptive answering.  (Note that very earlier versions of the
  245.          Supra, did not offer adaptive answering until the 1.2-H and 1.2-J
  246.          ROMs appeared on the scene.)  However, many older fax machines do
  247.          not send out a CNG tone when they are engaged.  Many fax modems,
  248.          including the Supra, won't know what to do, and will assume the
  249.          old fax machine is really a data caller.  Again, this is not good,
  250.          but its not that much of a problem.  Tell the operator of the old
  251.          fax machine to push their "START" button *IMMEDIATELY* after dialing
  252.          the last digit of the telephone number instead of waiting to hear
  253.          the fax tones on our end like many office people do.
  254.  
  255.          AT+FCR=1
  256.          ========
  257.          As silly as this command may sound, it gives permission to your
  258.          fax modem the ability to accept fax calls.  The fax modems default
  259.          to *NOT* allow incoming fax calls (EVEN IF ADAPTIVE ANSWERING IS
  260.          ENABLED!)  So, just make sure +FCR is always equal to 1.
  261.  
  262.          AT+FLID="TRANQUILITY BASE"
  263.          ==========================
  264.          The above command sets your modems fax ID string.  This is the
  265.          string that is send to the remote end on fax connects.  (It's the
  266.          deal that's printed on the little 'confirmation reports' that many
  267.          fax machines make.)  The fax ID can ONLY BE A MAXIMUM OF *20*
  268.          CHARACTERS.  If you try to stuff more than 20 characters in a fax
  269.          ID string, the modem will respond with an "ERROR".  DO NOT USE
  270.          HIGH-BIT ASCII CHARACTERS IN THIS STRING.  Use only simple
  271.          letters, numbers, and punctuation marks.  (High-bit ASCII
  272.          characters include foreign accented letters, inverted question
  273.          marks, etc.)
  274.  
  275.          I've been told that some older fax machines will go nuts if you
  276.          use a fax ID with ALPHABETIC letters and that the only true valid
  277.          values, as specified by the CCITT, are PLUS, SPACE, DASH, and the
  278.          numbers ZERO through NINE.  I've never seen this happen
  279.          personally, but am informing you of it nevertheless.
  280.  
  281.          AT+FDCC=1,5,0,2,0,0,0,0
  282.          =======================
  283.          The above command is what the power on defaults to a 14400 fax
  284.          modem are, with one exception.  The first number, 1, allows your
  285.          fax modem to accept high resolution fax documents.  The power on
  286.          default to most modems are to accept only low resolution
  287.          documents.  The second number, 5, allows your fax modem to use fax
  288.          speeds up to 14400 bps.
  289.  
  290.          If you issue the above command on a fax modem with an upper limit
  291.          of 9600 on fax tranmissions, you will receive an "ERROR" or cause
  292.          the modem to behave odd.  Use this string on a 9600 fax modem:
  293.  
  294.          AT+FDCC=1,3,0,2,0,0,0,0
  295.  
  296.          The remaining numbers are not that important.  Changing them
  297.          around, though, may cause BGFAX to fail.  The command can also be
  298.          abbreviated to "AT+FDCC=1,5" or "AT+FDCC=1,3".
  299.  
  300.          STACKING
  301.          ========
  302.          A single command string can be made using what we need ...
  303.  
  304.          AT+FAA=1;+FCR=1;+FLID="BGFAX IS GREAT";+FDCC=1,5,0,2,0,0,0,0
  305.  
  306.          However, if you are using BGFAX in rear end mode with a Fido
  307.          mailer, you may have a hard time of making an initialization
  308.          string that long, so you may be required to split the line into a
  309.          few pieces.  Remeber to make your ATA command "AT+FAA=1;A" if it
  310.          is possible to change in your mailer.
  311.  
  312.          AT+FMFR?
  313.          ========
  314.  
  315.          If you want to find out who makes the fax datapump for your modem,
  316.          this command should tell you if you enter it in while in terminal
  317.          mode.  My Supra (and many others) report "ROCKWELL".  My Cheap
  318.          2400 data, 9600 S/R fax modem reports "SIERRA".  Other modems
  319.          report "EXAR".
  320.  
  321.          FAX MODE
  322.          ========
  323.  
  324.          Probably 95% of you will be using BGFAX with a high speed modem
  325.          (v.32 or v.32bis).  Many of you may have started off with slower
  326.          300, 1200, or 2400 modems from long ago.  If you can remember back
  327.          that far, when an incoming data call came in, you would see a
  328.          string like "CONNECT 1200".  If your port was set at 2400, you
  329.          would garbage on the screen unless you shifted your bps rate down
  330.          to 1200 to match that of the caller.  Many newer terminal programs
  331.          refer to this speed shift as "Autobaud".
  332.  
  333.          Modern modems require your serial port be locked at a specific
  334.          speed (such as 19200, 38400, 57600, etc.) so that you can achieve
  335.          higher thruput via compression engines such as MNP and v.42bis.
  336.          The modem-to-modem speed may only be 14400, but the modem-to-
  337.          computer speed stays "locked" at 38400.  Autobaud is not required,
  338.          and if used, would result is garbage on the screen.
  339.  
  340.          Why am I telling you all this?  Well, I don't know who's silly
  341.          idea it was, but the powers that be decided that fax modems should
  342.          use the ancient method of changing the port rate when a fax is
  343.          incoming or outgoing.
  344.  
  345.          After your modem reports the result code "+FCON" all further
  346.          communications *MUST* be done at 19200 bps, even if you are locked
  347.          at 38400 or 57600.  If the port speed is not relocked at 19200,
  348.          nothing but garbage will come on the screen.
  349.  
  350.          I'm telling you this because I frequently get mail asking me why
  351.          I'm changing the port speed to 19200.  It's not my fault!  That's
  352.          the way is has to be done!  The only modem that I know that does
  353.          not require this idiotic speed shift is the ZyXEL modem.  In fact,
  354.          a special option must be used to tell BGFAX you are using a ZyXEL
  355.          or BGFAX will fail as it will try talking to the ZyXEL modem at
  356.          19200 instead of 57600 or whatever rate it's locked at.
  357.  
  358.          -------------------------------------------------------------
  359.          FRONTEND MODE
  360.          -------------------------------------------------------------
  361.  
  362.          If you plan on using BGFAX in Frontend mode, you need to do a
  363.          couple of things first.
  364.  
  365.          1. An evironment variable called BGFAX needs to be inserted in
  366.             your AUTOEXEC.BAT or someother batch file.  Example:
  367.  
  368.             SET BGFAX=C:\BGFAX
  369.  
  370.             This environment variable points to the location of your BGFAX
  371.             configuration file and the directory where faxes will be
  372.             received into.
  373.  
  374.          2. Make sure the BGFAX.CNF configuration file is in the directory
  375.             pointed to by the BGFAX environment variable and make any
  376.             changes you think necessary.  The included configuration file
  377.             is self explantory.  I won't repeat the format here.
  378.  
  379.          3. BGFAX can exit with 4 possible errorlevels:
  380.  
  381.                4 - fax was received
  382.                3 - local logon
  383.                2 - data call
  384.                1 - restart batch file
  385.  
  386.             If no errorlevel is encountered, it means the sysop aborted
  387.             BGFAX by pressing the [Esc] key or a serious error occurred.
  388.  
  389.          4. When BGFAX is waiting for a call, pressing Ctrl-R will reset
  390.             the on screen counters.  Ctrl-A will force BGFAX to send the
  391.             answer string to the modem.
  392.  
  393.          5. When a data call comes in, BGFAX creates a DOBBS.BAT file that
  394.             looks like so:
  395.  
  396.             C:\BGFAX\EXEBBS.BAT 9600 1 528 /ARQ
  397.             
  398.             The first parameter is the DCE data speed, then the com port,
  399.             number of minutes until the next event, and then the error
  400.             correcting string, if any.  The EXEBBS.BAT file must be created
  401.             by you so that your bulletin board software is loaded up in
  402.             frontend mode (ie., the data connection is already hot.)  When
  403.             you speed to specify the DCE rate in your EXEBBS.BAT file use
  404.             the variable %1 and the com port is %2, etc.
  405.  
  406.          -------------------------------------------------------------
  407.          SEND FAX MODE
  408.          -------------------------------------------------------------
  409.  
  410.          If you wish to have BGFAX send a fax file that it has received to
  411.          another fax number or send a fax file that has already been
  412.          converted by Quick Link II or ZFAX.
  413.  
  414.             BGFAX /SEND FAX0001.ZFX 893-9124
  415.  
  416.          See the BGFAX.CNF file for more info, such as maximum amount of
  417.          busy signals and failures before exit, etc.
  418.  
  419.          At this time, only previously converted fax files can be sent.
  420.          (i.e., ASCII files have to be translated to ZFAX .FAX format or
  421.          QLII .QFX format.)
  422.  
  423.          BGFAX will exit with an errorlevel of 1 if the fax was not
  424.          successfully sent, or no errorlevel if everything worked okay.
  425.  
  426.          -------------------------------------------------------------
  427.          INITIALIZATION MODE
  428.          -------------------------------------------------------------
  429.  
  430.          If you want BGFAX just to initialize the modem, you can have it do
  431.          so with the BGFAX /INIT parameter.  BGFAX will get the port,
  432.          speed, and initialization strings from the BGFAX.CNF file in the
  433.          directory specified by the BGFAX environment variable.
  434.  
  435.          This mode is provided for people who need to use BGFAX in rear end
  436.          mode, but their Fido mailers (or BBS software) do not allow them
  437.          to use the long initialization strings required for fax usage.
  438.  
  439.          -------------------------------------------------------------
  440.          REAR END MODE (FIDO MAILERS, ETC.)
  441.          -------------------------------------------------------------
  442.  
  443.          Rear end mode is useful for those of us who are FidoNet members
  444.          where a Fido mailer is required to be running 24 hours a day.  It
  445.          will be your job to figure out how to get your mailer to exit to
  446.          BGFAX when your modem informs the mailer a fax call is coming
  447.          through.  (See the BGFAX.HLP file for hints on specific mailers.)
  448.  
  449.          First of all, though, you need to discover what string your modem
  450.          sends when it has reliably mated with an incoming fax.  My Supra
  451.          Fax Modem for example returns "FAX".  All modems eventually report
  452.          "+FCON".  In my opinion, it is better to trigger your mailer to
  453.          exit on "FAX" *IF* your faxmodem supports it.  I've heard about
  454.          some brain dead modems to report "FAX" whenever an "ATA" is sent
  455.          to the modem.  If your modem does that, do *NOT* use "FAX" as the
  456.          trigger string in your mailer.
  457.  
  458.          Why is it better to use "FAX" as a trigger string?  My Supra
  459.          reports "FAX" as soon as it hears the CNG tone from the remote fax
  460.          device.  It takes about 1.5 seconds or so for the fax machine and
  461.          my Supra to mate, which gives BGFAX plenty and plenty of time to
  462.          load up and take the fax, even on slow computers.  (It should be
  463.          noted that your mailer must exit *IMMEDIATELY* upon receipt of the
  464.          fax trigger string, because after those 1.5 seconds, if the remote
  465.          fax machine cannot mate, it will hangup!)
  466.  
  467.          For those whose modems do not report "FAX", you will have to use
  468.          the "+FCON" string as the trigger string.  One downside to this is
  469.          that it makes timing much more critical and you will probably miss
  470.          your chance of obtaining the remote fax ID string.
  471.  
  472.          Your mailer should run BGFAX as soon as the trigger string comes
  473.          in the port.  It should call BGFAX in the following manner:
  474.  
  475.          BGFAX /how [faxpath port faxtype [pid]]
  476.  
  477.          FAXPATH will be the directory where incoming faxes are to be
  478.          placed.  PORT is a valid communications port from 1 to 4, or,
  479.          optionally, a hexidecial base address and IRQ formatted as
  480.          followed "3F8x5".  Also, optionally, if the port has a bang, !,
  481.          following it, it will force the port to stay locked at the current
  482.          speed rather than shifting to 19200 on fax connects.  (THIS '!' IS
  483.          TO BE USED ONLY FOR ZYXEL MODEMS, OR FOR PEOPLE THAT REALLY KNOW
  484.          WHAT THEY ARE DOING.)  FAXTYPE is a single character 'Z' or 'Q'.
  485.          'Z' for ZyXEL ZFAX format, 'Q' for Smith Micro Software's Quick
  486.          Link II fax format.
  487.  
  488.          The /how deal is the most critical switch.  There are three
  489.          possible settings.
  490.  
  491.               /FAX   ... Use this on modems like the Supra where the "FAX"
  492.                          response is generated by the modem, otherwise, you
  493.                          will have to use one of the following:
  494.  
  495.  
  496.               /FCON  ... If your modem reports +FCON only, try this option
  497.                          first.  If it doesn't seem to work, try ...
  498.               /FAST  ... what is the difference between these last two?
  499.  
  500.          If you use the /FCON switch, BGFAX will assume the fax machine
  501.          has already fully mated with your fax modem, and will BLINDLY tell
  502.          the remote fax machine to start sending a page.  HOWEVER, if the
  503.          machines have not fully mated, this will distrub the mating
  504.          process and make both ends hangup.
  505.  
  506.          If you use the /FAST switch, BGFAX will assume the fax machine is
  507.          still in the process of mating with your modem and will wait for
  508.          the "OK" signal before telling it to start sending the page.  The
  509.          /FAST switch may be necessary on very fast computers, or just
  510.          depending upon what type of modem is being used.
  511.  
  512.          Consider these situations ... (My Supra exits with the "FAX"
  513.          result, but for testing purposes, I ignored it to show you an
  514.          example of how the /FCON and /FAST switches work.  In reality, I
  515.          *SHOULD* use the /FAX option as it works more reliable, but this
  516.          is for example purposes only) ...
  517.  
  518.          a. Running FD 2.02/NC with a 386DX/40 and my external modem, I
  519.             have to use the /FAST option or BGFAX will hang up right away
  520.             when it is called.
  521.  
  522.          b. Running FD 2.02/NC with a 286/8 and my external modem, I have
  523.             to use the /FCON option or BGFAX will sit there and eventually
  524.             time out after 40 seconds.
  525.  
  526.          c. Running FD 2.02/NC with the same 286/8 and my INTERNAL 2400
  527.             data, 9600 send/receive fax modem, I must use the /FAST option
  528.             or BGFAX will sit there and timeout.
  529.  
  530.          When a fax is inbound, I call BGFAX in rearend mode with the
  531.          following command line for my Supra:
  532.  
  533.               BGFAX /FAX C:\BGFAX 1 Z
  534.  
  535.          The /FAX means that I used the modem response "FAX" as a trigger
  536.          for FD (see BGFAX.HLP for more details), C:\BGFAX is the path
  537.          where I want all faxes to be stored, "1" is the communications
  538.          port, and the "Z" represents I want faxes saved in ZyXEL's ZFAX
  539.          image format.
  540.  
  541.          If you want to run BGFAX on a multinode system, an optional fifth
  542.          parameter can be used.  This fifth parameter can be up to three
  543.          characters and it is called the PID.  Example:
  544.  
  545.               BGFAX /FAX C:\BGFAX 1 Z 99
  546.  
  547.          The only difference between the command above and the previous one
  548.          is that rather than making a BGFAX.LOG, all log entries will be
  549.          written to a file called BGFAXpid.LOG, in this case, BGFAX99.LOG.
  550.  
  551.          -------------------------------------------------------------
  552.          AFTER YOU RECEIVE THE FAX
  553.          -------------------------------------------------------------
  554.  
  555.          NAMING CONVENTION
  556.          =================
  557.          The name of the fax file will be FAXnnnn.xFX where "nnnn" is a
  558.          number that is padded with zeros and "x" is the letter "Z" or "Q"
  559.          depending upon which fax format you save the file in.  If you ever
  560.          see a BGFAX.TMP file in your directory, it should *NOT* be there,
  561.          as it should have been renamed in the FAXnnnn.xFX format.  If it
  562.          is there, it means some kind of problem happened during the fax
  563.          reception.
  564.  
  565.          FAXIN.LOG
  566.          =========
  567.          BGFAX creates a BGFAX.LOG file that contains a bunch of
  568.          information that is mainly only for debug purposes.  A much
  569.          cleaner log file is called FAXIN.LOG and looks like this:
  570.  
  571. Date  Time  ET    Bytes   Rate  Filename     Remote Fax ID        Pgs  Notes
  572. -------------------------------------------------------------------------------
  573. 07-22 11:52 00:42   18183  9600*FAX0001.ZFX  Not Available          2  Finished
  574. 07-22 18:04 00:38   18182  9600 FAX0002.ZFX  Not Available          2  Not Done
  575. 07-22 21:30 00:29   17793 14400*FAX0003.ZFX  7138939124             1  Finished
  576. 07-22 21:42 00:29   17541 14400 FAX0004.ZFX  TRANQUILITY BASE       1  Finished
  577. 07-22 21:44 00:32   16941  9600*FAX0005.ZFX  Null ID Received       1  Finished
  578. 07-22 22:21 01:22  107392 14400*FAX0006.ZFX  7132424708             1  Finished
  579.  
  580.          The asterick between the fax DCE rate and the filename indicates
  581.          the fax was marked as high resolution.  "Not Done" under Notes
  582.          means that BGFAX believed more pages were to have followed, but
  583.          were not actually received.  "ET" is estimated time.  Everything
  584.          else is self explanatory.
  585.  
  586.          DOPRINT.BAT
  587.          ===========
  588.          After you successfully receive a fax, BGFAX will exit with an
  589.          errorlevel of 4 and create a DOPRINT.BAT file.  Example:
  590.  
  591.          C:\BGFAX\EXEPRINT.BAT C:\BGFAX\FAX0086.ZFX
  592.  
  593.          You do not have to do anything with this at all, but it is
  594.          provided for those of you who wish to print faxes as they are
  595.          received.  It will call the EXEPRINT.BAT file and pass it the
  596.          parameter with the path and name of the fax file that was just
  597.          received.  If you are using Smith Micro Software's Quick Link II,
  598.          for example, and are one of those people that leave your printer
  599.          on 24 hours a day, your EXEPRINT.BAT file might contain this:
  600.  
  601.          @echo off
  602.          printfax %bgfax%\%1 24pin.qlp
  603.  
  604.          -------------------------------------------------------------
  605.          HANGUP STATUS CODES
  606.          -------------------------------------------------------------
  607.  
  608.          When BGFAX reports "Problematic fax reception", it will indicate a
  609.          fax hangup code, such as [+FHNG: 73].  This chart, taken from the
  610.          Supra CLASS_2.TXT fax command set documentation (which, I believe
  611.          was taken from the Rockwell Class 2 documentation), allows you to
  612.          match up the +FHNG message with its true meaning.  For example,
  613.          +FHNG: 73 would indicate "T.30 T2 timeout, expected page not
  614.          received", which really does not say much, but it may give you
  615.          some clue.  I don't know what most of these mean myself, so I
  616.          don't know whether it will provide you any luck or not, but, many
  617.          people asked that it be included, so here it is.
  618.  
  619.          |------------------------------------------------------------|
  620.          |    Code  |  Cause Description                              |
  621.          |----------|-------------------------------------------------|
  622.          |     0-9  |  CALL PLACEMENT AND TERMINATION                 |
  623.          |----------|-------------------------------------------------|
  624.          |       0  |  Normal and proper end of connection            |
  625.          |       1  |  Ring Detect without successful handshake       |
  626.          |       2  |  Call aborted, from +FK or AN                   |
  627.          |       3  |  No Loop Current                                |
  628.          |----------|-------------------------------------------------|
  629.          |   10-19  |  TRANSMIT PHASE A & MISCELLANEOUS ERRORS        |
  630.          |----------|-------------------------------------------------|
  631.          |      10  |  Unspecified Phase A error                      |
  632.          |      11  |  No Answer (T.30 T1 timeout)                    |
  633.          |----------|-------------------------------------------------|
  634.          |   20-39  |  TRANSMIT PHASE B HANGUP CODES                  |
  635.          |----------|-------------------------------------------------|
  636.          |      20  |  Unspecified Transmit Phase B error             |
  637.          |      21  |  Remote cannot receive or send                  |
  638.          |      22  |  COMREC error in transmit Phase B               |
  639.          |      23  |  COMREC invalid command received                |
  640.          |      24  |  RSPEC error                                    |
  641.          |      25  |  DCS sent three times without response          |
  642.          |      26  |  DIS/DTC received 3 times; DCS not recognized   |
  643.          |      27  |  Failure to train at 2400 bps or +FMINSP value  |
  644.          |      28  |  RSPREC invalid response received               |
  645.          |----------|-------------------------------------------------|
  646.          |   40-49  |  TRANSMIT PHASE C HANGUP CODES                  |
  647.          |----------|-------------------------------------------------|
  648.          |      40  |  Unspecified Transmit Phase C error             |
  649.          |      43  |  DTE to DCE data underflow                      |
  650.          |----------|-------------------------------------------------|
  651.          |   50-69  |  TRANSMIT PHASE D HANGUP CODES                  |
  652.          |----------|-------------------------------------------------|
  653.          |      50  |  Unspecified Transmit Phase D error             |
  654.          |      51  |  RSPREC error                                   |
  655.          |      52  |  No response to MPS repeated 3 times            |
  656.          |      53  |  Invalid response to MPS                        |
  657.          |      54  |  No response to EOP repeated 3 times            |
  658.          |      55  |  Invalid response to EOM                        |
  659.          |      56  |  No response to EOM repeated 3 times            |
  660.          |      57  |  Invalid response to EOM                        |
  661.          |      58  |  Unable to continue after PIN or PIP            |
  662.          |----------|-------------------------------------------------|
  663.          |   70-89  |  RECEIVE PHASE B HANGUP CODES                   |
  664.          |----------|-------------------------------------------------|
  665.          |      70  |  Unspecified Receive Phase B error              |
  666.          |      71  |  RSPREC error                                   |
  667.          |      72  |  COMREC error                                   |
  668.          |      73  |  T.30 T2 timeout, expected page not received    |
  669.          |      74  |  T.30 T1 timeout after EOM received             |
  670.          |----------|-------------------------------------------------|
  671.          |   90-99  |  RECEIVE PHASE C HANGUP CODES                   |
  672.          |----------|-------------------------------------------------|
  673.          |      90  |  Unspecified Receive Phase C error              |
  674.          |      91  |  Missing EOL after 5 seconds                    |
  675.          |      92  |  Unused code                                    |
  676.          |      93  |  DCE to DTE buffer overflow                     |
  677.          |      94  |  Bad CRC or frame (ECM or BFT modes)            |
  678.          |----------|-------------------------------------------------|
  679.          | 100-119  |  RECEIVE PHASE D HANGUP CODES                   |
  680.          |----------|-------------------------------------------------|
  681.          |     100  |  Unspecified Receive Phase D errors             |
  682.          |     101  |  RSPREC invalid response received               |
  683.          |     102  |  COMREC invalid response received               |
  684.          |     103  |  Unable to continue after PIN or PIP            |
  685.          |----------|-------------------------------------------------|
  686.          | 120-255  |  RESERVED CODES                                 |
  687.          |------------------------------------------------------------|
  688.  
  689.          -------------------------------------------------------------
  690.          ACKNOWLEDGEMENTS
  691.          -------------------------------------------------------------
  692.  
  693.          I would like to thank the following people for their assistance
  694.          during the beta test phase.
  695.  
  696.          Bill Huther
  697.          Brian Wood
  698.          Russell Kroll
  699.          Ethan Brofman
  700.          Ed Lucas
  701.          ...and many people from the InterNet and FidoNet.
  702.  
  703.          -------------------------------------------------------------
  704.          SHAREWARE
  705.          -------------------------------------------------------------
  706.  
  707.          THIS PROGRAM IS SHAREWARE.
  708.  
  709.          If you use this program for more than four weeks and it works to
  710.          your satisfaction, it is *HIGHLY* recommended you register the
  711.          program at its low cost of only US $25.  (I have to pay off the
  712.          new computer I just bought to replace the one that crashed!)
  713.          Registrations encourage frequent updates.  If you choose to
  714.          register after the trial time period, please fill out the included
  715.          REGISTER.FRM file and send it along with your check, money order,
  716.          VISA, MASTERCARD, DISCOVER, or AMERICAN EXPRESS card number.
  717.  
  718.          Call my BBS and open door number SIX to download your registration
  719.          key.  Also, this door allows non-registered users to instantly
  720.          register using their credit cards.  If you are in FidoNet, include
  721.          your node number on the registration form and I will put the
  722.          BGFAX.KEY file on hold status for you.
  723.  
  724.          -------------------------------------------------------------
  725.  
  726.          Regards,
  727.          B.J. Guillot
  728.  
  729.