home *** CD-ROM | disk | FTP | other *** search
/ Software Recommendations - 1998 Season 1 / DNBCD4.iso / share / modem / BGFAX170 / DOCS / BGFAX.DOC < prev    next >
Encoding:
Text File  |  1997-03-01  |  63.1 KB  |  1,250 lines

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