766 lines
39 KiB
Plaintext
766 lines
39 KiB
Plaintext
|
|
|
|
Voice B.J. Guillot Data/Fax
|
|
713.893.9320 2611 Rushwood Circle 713.893.9124
|
|
Houston Texas 77067-1941
|
|
|
|
Copyright (C) 1993 B.J. Guillot. All Rights Reserved.
|
|
|
|
=============================================================
|
|
BGFAX 1.09 WED 22 DEC 93
|
|
=============================================================
|
|
|
|
Dedicated to Gene Roddenberry
|
|
1921-1991
|
|
|
|
-------------------------------------------------------------
|
|
ABSTRACT FidoNet 1:106/400.0
|
|
-------------------------------------------------------------
|
|
|
|
BGFAX allows SYSOPs to accept faxes on their BBS line. BGFAX can
|
|
also send faxes. (While BGFAX was originally designed just for
|
|
sysops, it can also be used by Mr. Joe User who, like me, hates
|
|
TSR based fax programs that all the commerical fax software
|
|
developers love for some reason.)
|
|
|
|
BGFAX is a tool designed for use with *ANY* Class 2 compliant fax
|
|
modem. The fax modem must also support fully functional ADAPTIVE
|
|
ANSWERING.
|
|
|
|
Common Class 2 fax modems include the Supra, Practical Peripherials
|
|
(may require purchase of a newer ROM revision if you are using an
|
|
older model), Zoom, etc.
|
|
|
|
BGFAX also directly supports ZyXEL fax mode. (AT#B1+FCLASS=6).
|
|
|
|
BGFAX will *NOT* function with Class 1 *ONLY* fax modems. Common
|
|
Class 1 *ONLY* fax modems include all non-v.32terbo USR fax modems,
|
|
Digicom Scouts, the AT&T Dataport, and the SupraLC.
|
|
|
|
BGFAX can be used in FOUR distinct modes.
|
|
|
|
FRONTEND MODE ... BGFAX will answer the telephone line ITSELF,
|
|
handle events, pass data calls to a front end
|
|
compatible BBS, and take fax calls.
|
|
|
|
REAR END MODE ... BGFAX will be called from another program when
|
|
an incoming fax is detected. FidoNet sysops
|
|
using front end mailers such as FrontDoor,
|
|
Intermail, D'Bridge, Dutchie, etc. are required
|
|
to use this mode. The mailer must support the
|
|
ability to exit to BGFAX when a fax is coming.
|
|
|
|
SEND MODE ....... BGFAX has the ability to send faxes to another
|
|
fax machine. (At this time, the file to be sent
|
|
must already be in converted fax format.)
|
|
|
|
INITIALIZATION .. BGFAX will only initialize the modem, and then
|
|
quit. This mode is provided for people who need
|
|
to use BGFAX in rear end mode, but their Fido
|
|
mailer (or BBS software) will not allow the long
|
|
initialization strings required for fax usage.
|
|
|
|
-------------------------------------------------------------
|
|
INCLUDED FILES
|
|
-------------------------------------------------------------
|
|
|
|
1. BGFAX.DOC -- general documentation
|
|
|
|
2. BGFAX.TXT -- release notes
|
|
|
|
3. BGFAX.EXE -- the main executable
|
|
|
|
4. BGFAX.CNF -- default configuration file, not required
|
|
if you plan on using only rear end mode
|
|
|
|
5. HELPME.ARJ -- specialized help files for various setups
|
|
|
|
6. REGISTER.FRM -- registration form
|
|
|
|
-------------------------------------------------------------
|
|
DISCLAIMER
|
|
-------------------------------------------------------------
|
|
|
|
BGFAX and accompanying files are provided AS IS without any
|
|
warranty, expressed or implied. This includes without limitation
|
|
the fitfulness for a particular purpose or application and any
|
|
warranties of merchantability.
|
|
|
|
While I tried to be as through as possible in preparing BGFAX,
|
|
B.J. Guillot shall not be liable for any damages, whether direct,
|
|
indirect, special, incidental or consequential arising from a
|
|
failure of this program or accompanying files to operate in a
|
|
manner desired by the user. B.J. Guillot shall not be liable for
|
|
any damage to data or property which may by caused directly or
|
|
indirectly by use of this program.
|
|
|
|
In no event will B.J. Guillot be liable to you for any damages,
|
|
including any lost profits, lost savings or other incidental or
|
|
consequential damages arising out of your use or inability to use
|
|
the program, or for any claim by any other party. Individuals using
|
|
the software bear all risk as to its quality and performance.
|
|
|
|
-------------------------------------------------------------
|
|
CONTACTING ME
|
|
-------------------------------------------------------------
|
|
|
|
FidoNet: 1:106/400 Voice: +1 713.893.9320
|
|
InterNet: st1r8@jetson.uh.edu Data/Fax: +1 713.893.9124
|
|
|
|
The latest versions of BGFAX can be obtained by Fido FREQ at the
|
|
above Fido node number with the magic name "BGFAX" and can be
|
|
obtained by anonymous FTP for InterNet users at the site
|
|
"uhdux2.dt.uh.edu" in the "/incoming" directory.
|
|
|
|
BGFAX can also be obtained from Fido 2:512/39. This system is
|
|
called The Owl's Nest and is the Dutch Supra Distributor. They
|
|
have three nodes:
|
|
|
|
+31 0.2155.10921 +31 0.2155.12571 +31 0.2155.28096
|
|
|
|
An alternate distribution site is Fido 3:635/552. Cloud Nine.
|
|
|
|
+61-3-803-6954
|
|
|
|
-------------------------------------------------------------
|
|
MISCELLANEOUS NOTES
|
|
-------------------------------------------------------------
|
|
|
|
BGFAX takes the fax call itself. It does *NOT* require any special
|
|
TSR drivers to be used and does *NOT* pass control to another fax
|
|
program to receive the fax.
|
|
|
|
...HOWEVER... You *WILL* need some type of external fax program to
|
|
VIEW and PRINT the received fax. BGFAX currently supports two
|
|
popular fax formats. Smith Micro Software's Quick Link II, which
|
|
is included with several faxmodems, and ZyXEL's ZFAX software.
|
|
(ZFAX will not function on a normal Class 2 faxmodem, but it will
|
|
allow you to view and print BGFAX faxes stored in ZFAX format.)
|
|
If anyone can get me the formats for other popular packages, I
|
|
will gladly add them to BGFAX if its not too much trouble. A
|
|
number of people have requested WinFax format, but I can't find
|
|
any information on Delrina's WinFax file format.
|
|
|
|
PLEASE NOTE: BGFAX does not need nor use a FOSSIL driver. BGFAX
|
|
has internal communication support for all UART types including
|
|
the 16550A FIFO chip. BGFAX assumes ...
|
|
|
|
COM1=3F8x4 COM2=2F8x3 COM3=3E8x4 COM4=2E8x3
|
|
|
|
If you are using a nonstandard port configuration, whenever BGFAX
|
|
requires a port number to be entered (such as po=2), instead of
|
|
entering the port number, enter the base address and IRQ seperated
|
|
by an 'x' character (such as po=2E8x5). BGFAX requires the base
|
|
address be given in hexidecimal notation.
|
|
|
|
If you are using a ZyXEL modem, whenever you specify the com port
|
|
for BGFAX, you will need to put an exclamation point, !, i.e.,
|
|
po=2! so that BGFAX will not attempt to relock the DTE. Most
|
|
modems work fine without the !, but remember this option is
|
|
available. I've also heard that the Zoom VFP Internal Fax Modem
|
|
may also require this ! option.
|
|
|
|
BGFAX supports Desqview's alternate video buffer zone, if used, and
|
|
will return ticks to other tasks.
|
|
|
|
This program was compiled under Borland's Turbo Pascal 7.0.
|
|
|
|
I do all testing with a Supra Fax Modem (ROCKWELL based) v.32bis
|
|
external with V1.80-02 firmware and FrontDoor 2.02/NC running on
|
|
a 386DX/40. I also routinely test BGFAX with a generic no-namer
|
|
2400 data, 9600 send/receive fax (SIERRA based) modem from Computer
|
|
City running on the ever-so-slow 286/8.
|
|
|
|
-------------------------------------------------------------
|
|
QUICK TUTORIAL ON SOME FAX CLASS 2 COMMANDS
|
|
-------------------------------------------------------------
|
|
|
|
AT+FCLASS=?
|
|
===========
|
|
This command will allow you to see if your fax modem supports
|
|
the "unofficial" Fax Class 2 standard. The modem should report
|
|
back a string similar to:
|
|
|
|
0,1,2 or 0,2 or 0,1,2.0 or ERROR
|
|
|
|
0 = Data
|
|
1 = Fax Class 1 capable
|
|
2 = Draft Fax Class 2 "compatible"
|
|
2.0 = Fax Class 2.0 capable
|
|
ERROR = no fax capabilities
|
|
|
|
Do *NOT* use the "AT+FCLASS=n" command in any of your intialization
|
|
strings. (Unless you are using Class 2.0).
|
|
|
|
GROUP III and CLASS 2
|
|
=====================
|
|
|
|
Many people are often confused between the terminology "GROUP" and
|
|
"CLASS" regarding fax modems.
|
|
|
|
ALL FAX EQUIPMENT is "GROUP 3" compatible. This includes fax
|
|
machines, fax modems, standalone PC fax cards, etc. Group 3 just
|
|
defines the fax specifications, e.g., black-and-white, the
|
|
resolutions, etc. When Group 4 fax machines are available to
|
|
consumers, they will offer color and/or ISDN fax capabilities, but
|
|
our fax modems will still only do black-and-white.
|
|
|
|
"CLASS" refers only to fax modems. CLASS has NOTHING AT ALL to do
|
|
with fax machines. Class 1, Class 2 and Class 2.0 are different
|
|
methods of sending commands to a fax modem from a computer serial
|
|
port. Many fax modems offer the Class 2 command set.
|
|
|
|
AT+FAA=1
|
|
========
|
|
This command will put your modem in ADAPTIVE ANSWERING mode. This
|
|
means your modem will properly mate with either a standard modem
|
|
data call or a fax machine/fax modem. Some modems, such as the
|
|
Supra, will report a "FAX" response the instant a fax CNG tone is
|
|
heard from the remote end. Some modems are brain dead and will
|
|
report "FAX" whenever an "ATA" command is issued to the modem
|
|
regardless of whether the incoming fax is data or fax.
|
|
|
|
All modems, on true fax calls, will report a "+FCON" response code
|
|
when the fax connection is truly established. (This is similar to
|
|
a "CONNECT 14400" on a data call.)
|
|
|
|
Many modems are slightly brain dead and will forget the +FAA
|
|
setting when another command is issued to the modem. To ensure
|
|
you always answer in adaptive mode, rather than using "ATA" to
|
|
answer the phone, use the following: "AT+FAA=1;A".
|
|
|
|
The ";", semicolon, is used as a seperator for fax commands. Some
|
|
modems, such as the Supra, do not require it. Others, such as the
|
|
PPI, will "ERROR" out if the semicolons are not used.
|
|
|
|
A final note about adaptive answering: IT IS NOT 100% ACCURATE.
|
|
|
|
Every now and then, your modem may get confused and think a data
|
|
call is a fax call. There is nothing I can do about this as it is
|
|
most likely a firmware problem with the modem. Some modems are
|
|
very brain dead and allow low speed data callers to call the BBS,
|
|
but all high speed callers are treated like they are fax machines.
|
|
(That is NOT GOOD.) The only way to cure this is get a ROM chip
|
|
upgrade to the modem, if a newer version exists. You'll just have
|
|
to experiment and make sure your adaptive answer works about
|
|
95% of the time, or whatever you decide is good.
|
|
|
|
The Supra Fax Modem, for example, is pretty good concerning
|
|
adaptive answering. (Note that very earlier versions of the
|
|
Supra, did not offer adaptive answering until the 1.2-H and 1.2-J
|
|
ROMs appeared on the scene.) However, many older fax machines do
|
|
not send out a CNG tone when they are engaged. Many fax modems,
|
|
including the Supra, won't know what to do, and will assume the
|
|
old fax machine is really a data caller. Again, this is not good,
|
|
but its not that much of a problem. Tell the operator of the old
|
|
fax machine to push their "START" button *IMMEDIATELY* after dialing
|
|
the last digit of the telephone number instead of waiting to hear
|
|
the fax tones on our end like many office people do.
|
|
|
|
AT+FCR=1
|
|
========
|
|
As silly as this command may sound, it gives permission to your
|
|
fax modem the ability to accept fax calls. The fax modems default
|
|
to *NOT* allow incoming fax calls (EVEN IF ADAPTIVE ANSWERING IS
|
|
ENABLED!) So, just make sure +FCR is always equal to 1.
|
|
|
|
AT+FLID="713 893 9124"
|
|
======================
|
|
( The Class 2.0 command is AT+FLI )
|
|
|
|
The above command sets your modems fax ID string. This is the
|
|
string that is send to the remote end on fax connects. (It's the
|
|
deal that's printed on the little 'confirmation reports' that many
|
|
fax machines make.) The fax ID can ONLY BE A MAXIMUM OF *20*
|
|
CHARACTERS. If you try to stuff more than 20 characters in a fax
|
|
ID string, the modem will respond with an "ERROR". DO NOT USE
|
|
HIGH-BIT ASCII CHARACTERS IN THIS STRING. Use only simple
|
|
letters, numbers, and punctuation marks. (High-bit ASCII
|
|
characters include foreign accented letters, inverted question
|
|
marks, etc.)
|
|
|
|
I've been told that some older fax machines will go nuts if you
|
|
use a fax ID with ALPHABETIC letters and that the only true valid
|
|
values, as specified by the CCITT (PLUS, SPACE, DASH, and the
|
|
numbers ZERO through NINE). I've never seen this happen
|
|
personally, but am informing you of it nevertheless.
|
|
|
|
AT+FDCC=1,5,0,2,0,0,0,0
|
|
=======================
|
|
|
|
The above command is what the power on defaults to a 14400 fax
|
|
modem are, with one exception. The first number, 1, allows your
|
|
fax modem to accept high resolution fax documents. The power on
|
|
default to most modems are to accept only low resolution
|
|
documents. The second number, 5, allows your fax modem to use fax
|
|
speeds up to 14400 bps.
|
|
|
|
If you issue the above command on a fax modem with an upper limit
|
|
of 9600 on fax tranmissions, you will receive an "ERROR" or cause
|
|
the modem to behave odd. Use this string on a 9600 fax modem:
|
|
|
|
AT+FDCC=1,3,0,2,0,0,0,0
|
|
|
|
The remaining numbers are not that important. Changing them
|
|
around, though, may cause BGFAX to fail. The command can also be
|
|
abbreviated to "AT+FDCC=1,5" or "AT+FDCC=1,3".
|
|
|
|
STACKING
|
|
========
|
|
A single command string can be made using what we need ...
|
|
|
|
AT+FAA=1;+FCR=1;+FLID="713 893 9124";+FDCC=1,5,0,2,0,0,0,0
|
|
|
|
However, if you are using BGFAX in rear end mode with a Fido
|
|
mailer, you may have a hard time of making an initialization
|
|
string that long, so you may be required to split the line into a
|
|
few pieces. Remeber to make your ATA command "AT+FAA=1;A" if it
|
|
is possible to change in your mailer.
|
|
|
|
AT+FMFR?
|
|
========
|
|
( The Class 2.0 command is AT+FMI? )
|
|
|
|
If you want to find out who makes the fax datapump for your modem,
|
|
this command should tell you if you enter it in while in terminal
|
|
mode. My Supra (and many others) report "ROCKWELL". My Cheap
|
|
2400 data, 9600 S/R fax modem reports "SIERRA". Others report
|
|
"EXAR" and other things as well.
|
|
|
|
FAX MODE
|
|
========
|
|
|
|
Probably 95% of you will be using BGFAX with a high speed modem
|
|
(v.32 or v.32bis). Many of you may have started off with slower
|
|
300, 1200, or 2400 modems from long ago. If you can remember back
|
|
that far, when an incoming data call came in, you would see a
|
|
string like "CONNECT 1200". If your port was set at 2400, you
|
|
would garbage on the screen unless you shifted your bps rate down
|
|
to 1200 to match that of the caller. Many newer terminal programs
|
|
refer to this speed shift as "Autobaud".
|
|
|
|
Modern modems require your serial port be locked at a specific
|
|
speed (such as 19200, 38400, 57600, etc.) so that you can achieve
|
|
higher thruput via compression engines such as MNP and v.42bis.
|
|
The modem-to-modem speed may only be 14400, but the modem-to-
|
|
computer speed stays "locked" at 38400. Autobaud is not required,
|
|
and if used, would result is garbage on the screen.
|
|
|
|
Why am I telling you all this? Well, I don't know who's silly
|
|
idea it was, but the powers that be decided that fax modems should
|
|
use the ancient method of changing the port rate when a fax is
|
|
incoming or outgoing.
|
|
|
|
After your modem reports the result code "+FCON" all further
|
|
communications *MUST* be done at 19200 bps, even if you are locked
|
|
at 38400 or 57600. If the port speed is not relocked at 19200,
|
|
nothing but garbage will come on the screen.
|
|
|
|
I'm telling you this because I frequently get mail asking me why
|
|
I'm changing the port speed to 19200. It's not my fault! That's
|
|
the way is has to be done! The only modem that I know that does
|
|
not require this idiotic speed shift is the ZyXEL modem. In fact,
|
|
a special option must be used to tell BGFAX you are using a ZyXEL
|
|
or BGFAX will fail as it will try talking to the ZyXEL modem at
|
|
19200 instead of 57600 or whatever rate it's locked at.
|
|
|
|
-------------------------------------------------------------
|
|
FRONTEND MODE
|
|
-------------------------------------------------------------
|
|
|
|
To use BGFAX in front end mode, you say "BGFAX /HOST".
|
|
|
|
If you plan on using BGFAX in Frontend mode, you need to do a
|
|
couple of things first.
|
|
|
|
1. An evironment variable called BGFAX needs to be inserted in
|
|
your AUTOEXEC.BAT or someother batch file. Example:
|
|
|
|
SET BGFAX=C:\BGFAX
|
|
|
|
This environment variable points to the location of your BGFAX
|
|
configuration file and the directory where faxes will be
|
|
received into.
|
|
|
|
2. Make sure the BGFAX.CNF configuration file is in the directory
|
|
pointed to by the BGFAX environment variable and make any
|
|
changes you think necessary. The included configuration file
|
|
is self explantory. I won't repeat the format here.
|
|
|
|
3. BGFAX can exit with 5 possible errorlevels:
|
|
|
|
5 - fax was sent successfully
|
|
4 - fax was received
|
|
3 - local logon
|
|
2 - data call
|
|
1 - restart batch file
|
|
|
|
If no errorlevel is encountered, it means the sysop aborted
|
|
BGFAX by pressing the [Esc] key or a serious error occurred.
|
|
|
|
4. When BGFAX is waiting for a call, pressing Ctrl-R will reset
|
|
the on screen counters. Ctrl-A will force BGFAX to send the
|
|
answer string to the modem.
|
|
|
|
5. When a data call comes in, BGFAX creates a DOBBS.BAT file that
|
|
looks like so:
|
|
|
|
C:\BGFAX\EXEBBS.BAT 9600 1 528 /ARQ
|
|
|
|
The first parameter is the DCE data speed, then the com port,
|
|
number of minutes until the next event, and then the error
|
|
correcting string, if any. The EXEBBS.BAT file must be created
|
|
by you so that your bulletin board software is loaded up in
|
|
frontend mode (ie., the data connection is already hot.) When
|
|
you speed to specify the DCE rate in your EXEBBS.BAT file use
|
|
the variable %1 and the com port is %2, etc.
|
|
|
|
-------------------------------------------------------------
|
|
SEND FAX MODE
|
|
-------------------------------------------------------------
|
|
|
|
If you wish to have BGFAX send a fax file that it has received to
|
|
another fax number or send a fax file that has already been
|
|
converted by Quick Link II or ZFAX.
|
|
|
|
BGFAX /SEND FAX0001.ZFX 893-9124
|
|
|
|
See the BGFAX.CNF file for more info, such as maximum amount of
|
|
busy signals and failures before exit, etc.
|
|
|
|
At this time, only previously converted fax files can be sent.
|
|
(i.e., ASCII files have to be translated to ZFAX .FAX format or
|
|
QLII .QFX format.)
|
|
|
|
BGFAX will exit with an errorlevel of 1 if the fax was not
|
|
successfully sent, or errorlevel 5 if everything worked okay.
|
|
|
|
-------------------------------------------------------------
|
|
INITIALIZATION MODE
|
|
-------------------------------------------------------------
|
|
|
|
If you want BGFAX just to initialize the modem, you can have it do
|
|
so with the BGFAX /INIT parameter. BGFAX will get the port,
|
|
speed, and initialization strings from the BGFAX.CNF file in the
|
|
directory specified by the BGFAX environment variable.
|
|
|
|
This mode is provided for people who need to use BGFAX in rear end
|
|
mode, but their Fido mailers (or BBS software) do not allow them
|
|
to use the long initialization strings required for fax usage.
|
|
|
|
-------------------------------------------------------------
|
|
REAR END MODE (FIDO MAILERS, ETC.)
|
|
-------------------------------------------------------------
|
|
|
|
Rear end mode is useful for those of us who are FidoNet members
|
|
where a Fido mailer is required to be running 24 hours a day. It
|
|
will be your job to figure out how to get your mailer to exit to
|
|
BGFAX when your modem informs the mailer a fax call is coming
|
|
through. (See the BGFAX.HLP file for hints on specific mailers.)
|
|
|
|
First of all, though, you need to discover what string your modem
|
|
sends when it has reliably mated with an incoming fax. My Supra
|
|
Fax Modem for example returns "FAX". All modems eventually report
|
|
"+FCON". In my opinion, it is better to trigger your mailer to
|
|
exit on "FAX" *IF* your faxmodem supports it. I've heard about
|
|
some brain dead modems to report "FAX" whenever an "ATA" is sent
|
|
to the modem. If your modem does that, do *NOT* use "FAX" as the
|
|
trigger string in your mailer.
|
|
|
|
Why is it better to use "FAX" as a trigger string? My Supra
|
|
reports "FAX" as soon as it hears the CNG tone from the remote fax
|
|
device. It takes about 1.5 seconds or so for the fax machine and
|
|
my Supra to mate, which gives BGFAX plenty and plenty of time to
|
|
load up and take the fax, even on slow computers. (It should be
|
|
noted that your mailer must exit *IMMEDIATELY* upon receipt of the
|
|
fax trigger string, because after those 1.5 seconds, if the remote
|
|
fax machine cannot mate, it will hangup!)
|
|
|
|
For those whose modems do not report "FAX", you will have to use
|
|
the "+FCON" string as the trigger string. One downside to this is
|
|
that it makes timing much more critical and you will probably miss
|
|
your chance of obtaining the remote fax ID string.
|
|
|
|
Your mailer should run BGFAX as soon as the trigger string comes
|
|
in the port. It should call BGFAX in the following manner:
|
|
|
|
BGFAX /how [faxpath port faxtype [pid]]
|
|
|
|
FAXPATH will be the directory where incoming faxes are to be
|
|
placed. PORT is a valid communications port from 1 to 4, or,
|
|
optionally, a hexidecial base address and IRQ formatted as
|
|
followed "3F8x5". Also, optionally, if the port has a bang, !,
|
|
following it, it will force the port to stay locked at the current
|
|
speed rather than shifting to 19200 on fax connects. (THIS '!' IS
|
|
TO BE USED ONLY FOR ZYXEL MODEMS, OR FOR PEOPLE THAT REALLY KNOW
|
|
WHAT THEY ARE DOING.) FAXTYPE is a single character 'Z' or 'Q'.
|
|
'Z' for ZyXEL ZFAX format, 'Q' for Smith Micro Software's Quick
|
|
Link II fax format.
|
|
|
|
The /how deal is the most critical switch. There are three
|
|
possible settings.
|
|
|
|
/FAX ... Modem reports "FAX" or "CONNECT FAX".
|
|
BGFAX will automatically detect whether it should
|
|
use Class 2 (Supra, Zoom) or the ZyXEL fax mode
|
|
based on the next message (ie, "+FCON" or "ZyXEL").
|
|
|
|
/FAST ... Modem reports "+FCON" (PPI, other Class 2 modems)
|
|
/FCON ... Try this option if /FAST doens't work.
|
|
|
|
/FCO ... Modem reports "+FCO" (USR 21.6K)
|
|
/FCOS ... Try this option if /FCO doesn't work.
|
|
|
|
/FZYX ... ZyXEL owners use this if /FAX doesn't work.
|
|
|
|
Here is a schematic of how each option behaves:
|
|
|
|
/FAX [ Supra, ZyXEL, i.e. all modems that report "FAX" ]
|
|
1. keeps port at locked DTE
|
|
2. waits for "+FCON" _or_ 2. waits for "ZyXEL"
|
|
3. drops port to 19200 3. waits for high CTS
|
|
4. waits for "OK" 4. sends <DC2>
|
|
5. sends "AT+FDR"
|
|
|
|
/FAST [ PPI, i.e. all modems that report "+FCON" ]
|
|
1. drops port to 19200
|
|
2. waits for "OK"
|
|
3. sends "AT+FDR"
|
|
|
|
/FCON [ PPI, use this if above options don't work ]
|
|
1. drops port to 19200
|
|
2. blindly sends "AT+FDR"
|
|
|
|
/FCO [ USR, i.e. all Class 2.0 modems that report "+FCO" ]
|
|
1. keeps port at locked DTE
|
|
2. waits for "OK"
|
|
3. drops port to 19200 _only if_ DTE rate is 38400
|
|
(leaves port alone if set at 19200, 57600 or 115200)
|
|
4. sends "AT+FDR"
|
|
|
|
/FCOS [ USR, i.e. all Class 2.0 modems that report "+FCO" ]
|
|
1. drops port to 19200 _only if_ DTE rate is 38400
|
|
(leaves port alone if set at 19200, 57600 or 115200)
|
|
2. blindly sends "AT+FDR"
|
|
|
|
/FZYX [ ZyXEL, use this only if /FAX doesn't work ]
|
|
1. waits for high CTS
|
|
2. sends <DC2>
|
|
|
|
When a fax is inbound, I call BGFAX in rearend mode with the
|
|
following command line for my Supra:
|
|
|
|
BGFAX /FAX C:\BGFAX 1 Z
|
|
|
|
The /FAX means that I used the modem response "FAX" as a trigger
|
|
for FD (see BGFAX.HLP for more details), C:\BGFAX is the path
|
|
where I want all faxes to be stored, "1" is the communications
|
|
port, and the "Z" represents I want faxes saved in ZyXEL's ZFAX
|
|
image format.
|
|
|
|
If you want to run BGFAX on a multinode system, an optional fifth
|
|
parameter can be used. This fifth parameter can be up to three
|
|
characters and it is called the PID. Example:
|
|
|
|
BGFAX /FAX C:\BGFAX 1 Z 99
|
|
|
|
The only difference between the command above and the previous one
|
|
is that rather than making a BGFAX.LOG, all log entries will be
|
|
written to a file called BGFAXpid.LOG, in this case, BGFAX99.LOG.
|
|
|
|
-------------------------------------------------------------
|
|
AFTER YOU RECEIVE THE FAX
|
|
-------------------------------------------------------------
|
|
|
|
NAMING CONVENTION
|
|
=================
|
|
The name of the fax file will be FAXnnnn.xFX where "nnnn" is a
|
|
number that is padded with zeros and "x" is the letter "Z" or "Q"
|
|
depending upon which fax format you save the file in. If you ever
|
|
see a BGFAX.TMP file in your directory, it should *NOT* be there,
|
|
as it should have been renamed in the FAXnnnn.xFX format. If it
|
|
is there, it means some kind of problem happened during the fax
|
|
reception.
|
|
|
|
FAXIN.LOG
|
|
=========
|
|
BGFAX creates a BGFAX.LOG file that contains a bunch of
|
|
information that is mainly only for debug purposes. A much
|
|
cleaner log file is called FAXIN.LOG and looks like this:
|
|
|
|
Date Time ET Bytes Rate Filename Remote Fax ID Pgs Notes
|
|
-------------------------------------------------------------------------------
|
|
12-21 11:52 00:42 18183 9600*FAX0001.ZFX Unknown 2 Finished
|
|
12-21 18:04 00:38 18182 9600 FAX0002.ZFX Unknown 2 Not Done
|
|
12-22 21:30 00:29 17793 14400*FAX0003.ZFX 7138939124 1 Finished
|
|
12-22 21:42 00:29 17541 14400 FAX0004.ZFX TRANQUILITY BASE 1 Finished
|
|
12-23 06:44 00:32 16941 9600*FAX0005.ZFX Null ID Received 1 Finished
|
|
12-25 17:21 01:22 107392 14400*FAX0006.ZFX 7132424708 1 Finished
|
|
|
|
The asterick between the fax DCE rate and the filename indicates
|
|
the fax was marked as high resolution. "Not Done" under Notes
|
|
means that BGFAX believed more pages were to have followed, but
|
|
were not actually received. "ET" is estimated time. Everything
|
|
else is self explanatory.
|
|
|
|
DOPRINT.BAT
|
|
===========
|
|
After you successfully receive a fax, BGFAX will exit with an
|
|
errorlevel of 4 and append (or create) a DOPRINT.BAT file.
|
|
|
|
CALL C:\BGFAX\EXEPRINT.BAT C:\BGFAX\FAX0085.ZFX
|
|
CALL C:\BGFAX\EXEPRINT.BAT C:\BGFAX\FAX0086.ZFX
|
|
|
|
You do not have to do anything with this at all, but it is
|
|
provided for those of you who wish to print faxes as they are
|
|
received. It will call the EXEPRINT.BAT file and pass it the
|
|
parameter with the path and name of the fax file that was just
|
|
received. If you are using Smith Micro Software's Quick Link II,
|
|
for example, and are one of those people that leave your printer
|
|
on 24 hours a day, your EXEPRINT.BAT file might contain this:
|
|
|
|
@echo off
|
|
printfax %bgfax%\%1 24pin.qlp
|
|
|
|
Remeber to delete the DOPRINT.BAT file after you process it.
|
|
|
|
-------------------------------------------------------------
|
|
HANGUP STATUS CODES
|
|
-------------------------------------------------------------
|
|
|
|
When BGFAX reports "Problematic fax reception", it will indicate a
|
|
fax hangup code, such as [+FHNG: 73]. This chart, taken from the
|
|
Supra CLASS_2.TXT fax command set documentation (which, I believe
|
|
was taken from the Rockwell Class 2 documentation), allows you to
|
|
match up the +FHNG message with its true meaning. For example,
|
|
+FHNG: 73 would indicate "T.30 T2 timeout, expected page not
|
|
received", which really does not say much, but it may give you
|
|
some clue. I don't know what most of these mean myself, so I
|
|
don't know whether it will provide you any luck or not, but, many
|
|
people asked that it be included, so here it is.
|
|
|
|
/-----------------------------------------------------------------\
|
|
| 2.0 Class 2 | Cause Description |
|
|
|---------------|-------------------------------------------------|
|
|
| 00-0F 0-9 | CALL PLACEMENT AND TERMINATION |
|
|
|---------------|-------------------------------------------------|
|
|
| 00 0 | Normal and proper end of connection |
|
|
| 01 1 | Ring Detect without successful handshake |
|
|
| 02 2 | Call aborted, from +FK/+FKS or <CAN> |
|
|
| 03 3 | No Loop Current |
|
|
| 04 n/a | Ringback detected, no answer (timeout) |
|
|
| 05 n/a | Ringback detected, answer without CED |
|
|
|---------------|-------------------------------------------------|
|
|
| 10-1F 10-19 | TRANSMIT PHASE A & MISCELLANEOUS ERRORS |
|
|
|---------------|-------------------------------------------------|
|
|
| 10 10 | Unspecified Phase A error |
|
|
| 11 11 | No Answer (T.30 T1 timeout) |
|
|
|---------------|-------------------------------------------------|
|
|
| 20-3F 20-39 | TRANSMIT PHASE B HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| 20 20 | Unspecified Transmit Phase B error |
|
|
| 21 21 | Remote cannot receive or send |
|
|
| 22 22 | COMREC error in transmit Phase B |
|
|
| 23 23 | COMREC invalid command received |
|
|
| 24 24 | RSPEC error |
|
|
| 25 25 | DCS sent three times without response |
|
|
| 26 26 | DIS/DTC received 3 times; DCS not recognized |
|
|
| 27 27 | Failure to train at 2400 bps or +FMS/ |
|
|
| | +FMINSP value |
|
|
| 28 28 | RSPREC invalid response received |
|
|
|---------------|-------------------------------------------------|
|
|
| 40-4F 40-49 | TRANSMIT PHASE C HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| 40 40 | Unspecified Transmit Phase C error |
|
|
| 41 n/a | Unspecified Image format error |
|
|
| 42 n/a | Image conversion error |
|
|
| 43 43 | DTE to DCE data underflow |
|
|
| 44 n/a | Unrecognized Transparent data command |
|
|
| 45 n/a | Image error, line length wrong |
|
|
| 46 n/a | Image error, page length wrong |
|
|
| 47 n/a | Image error, wrong compression code |
|
|
|---------------|-------------------------------------------------|
|
|
| 50-6F 50-69 | TRANSMIT PHASE D HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| 50 50 | Unspecified Transmit Phase D error |
|
|
| 51 51 | RSPREC error |
|
|
| 52 52 | No response to MPS repeated 3 times |
|
|
| 53 53 | Invalid response to MPS |
|
|
| 54 54 | No response to EOP repeated 3 times |
|
|
| 55 55 | Invalid response to EOP |
|
|
| 56 56 | No response to EOM repeated 3 times |
|
|
| 57 57 | Invalid response to EOM |
|
|
| 58 58 | Unable to continue after PIN or PIP |
|
|
|---------------|-------------------------------------------------|
|
|
| 70-8F 70-89 | RECEIVE PHASE B HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| 70 70 | Unspecified Receive Phase B error |
|
|
| 71 71 | RSPREC error |
|
|
| 72 72 | COMREC error |
|
|
| 73 73 | T.30 T2 timeout, expected page not received |
|
|
| 74 74 | T.30 T1 timeout after EOM received |
|
|
|---------------|-------------------------------------------------|
|
|
| 90-9F 90-99 | RECEIVE PHASE C HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| 90 90 | Unspecified Receive Phase C error |
|
|
| 91 91 | Missing EOL after 5 seconds |
|
|
| n/a 92 | < Not assigned > /--- Rockwell only |
|
|
| 92 -Note-> 94 | Bad CRC or frame (ECM {or BFT} modes) |
|
|
| 93 93 | DCE to DTE buffer overflow |
|
|
|---------------|-------------------------------------------------|
|
|
| A0-BF 100-119 | RECEIVE PHASE D HANGUP CODES |
|
|
|---------------|-------------------------------------------------|
|
|
| A0 100 | Unspecified Receive Phase D errors |
|
|
| A1 101 | RSPREC invalid response received |
|
|
| A2 102 | COMREC invalid response received |
|
|
| A3 103 | Unable to continue after PIN or PIP |
|
|
|---------------|-------------------------------------------------|
|
|
| C0-DF n/a | RESERVED FOR FUTURE STANDARDIZATION |
|
|
| E0-FF n/a | REVERVED FOR MANUFACTURER SPECIFIC USE |
|
|
| n/a 120-255 | RESERVED CODES |
|
|
\-----------------------------------------------------------------/
|
|
|
|
-------------------------------------------------------------
|
|
ACKNOWLEDGEMENTS
|
|
-------------------------------------------------------------
|
|
|
|
I would like to thank the following people for their assistance
|
|
during the beta test phase.
|
|
|
|
Bill Huther
|
|
Brian Wood
|
|
Russell Kroll
|
|
Ethan Brofman
|
|
Ed Lucas
|
|
...and many people from the InterNet and FidoNet.
|
|
|
|
-------------------------------------------------------------
|
|
SHAREWARE
|
|
-------------------------------------------------------------
|
|
|
|
THIS PROGRAM IS SHAREWARE.
|
|
|
|
If you use this program for more than four weeks you are required
|
|
to register it for its low cost of only $25 US DOLLARS.
|
|
|
|
Registrations encourage frequent updates.
|
|
|
|
If you are paying by check or money order, please print out the
|
|
REGISTER.FRM file, fill it out, and mail it to my address.
|
|
|
|
If you are paying by credit card (Visa, Mastercard, Discover or
|
|
American Express) you can (1) mail the form to me, (2) fax the
|
|
form to me, (3) netmail the form to me, or (4) call my BBS and
|
|
open door #6 and instantly register.
|
|
|
|
All people will have to call my BBS and open door #6 to pick up
|
|
the BGFAX.KEY registration key file.
|
|
|
|
I will mail (or air mail) registration letters out.
|
|
|
|
-------------------------------------------------------------
|
|
|
|
Regards,
|
|
B.J. Guillot
|
|
|