[comp.dcom.fax] [comp.archives...] Netfax 2.1 Postscript->Fax spooler package

hqm@ai.mit.edu (Henry Minsky) (05/13/91)

Archive-name: dcom/fax/netfax/1991-05-13
Archive-directory: transit.ai.mit.edu:/pub/systems/netfax/ [128.52.39.116]
Original-posting-by: hqm@ai.mit.edu (Henry Minsky)
Original-subject: Netfax 2.1 Postscript->Fax spooler package
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)


The following software is available by anonymous ftp from
transit.ai.mit.edu:/pub/systems/netfax/netfax.tar


**************** MIT AI Lab Fax Sending and Spooling System ****************
-----------------------------------------------------------------------------

(c) Copyright 1991 by Henry Minsky and David M. Siegel.
    All rights reserved.

   This file is part of Netfax.

   This software is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
   to anyone for the consequences of using it or for whether it serves any
   particular purpose or works at all, unless he says so in writing.  Refer
   to the General Public License for full details.

   Everyone is granted permission to copy, modify and redistribute
   Netfax, but only under the conditions described in the Netfax
   General Public License.  A copy of this license is supposed to have been
   given to you along with Netfax so you can know your rights and
   responsibilities.  It should be in a file named COPYING.  Among other
   things, the copyright notice and this notice must be preserved on all
   copies.


-----------------------------------------------------------------------------

This is version 2.1 of Netfax.

Please send comments, bug reports, and fixes to: bug-fax@ai.mit.edu.
Faxes to (617) 253 5060

**************** Overview ****************

This is a set of software which provides Group 3 fax tranmission
 and recptions services for a networked unix system. It requires a
faxmodem which conforms to the new EIA-592 Asynchronous Facsimile DCE
Control Standard, Service Clas 2, such as the model " Everfax 24/96
D" -- (model EV-968-51)

[ I have heard you can order through a dealer, such as Avcom in Palo
Alto.  A contact there is Mark Wakup (or Karen Southerland).  Avcom's
number is 326-8686.

The list price is $499.  The model number is 968-51, and the product
name is Everfax 24/96D.  The "D" seems to indicate that it's the
latest one, but John Dyer-Bennet told me to be sure to specify the
model number also.

Everex's main number is 1-415-491-1111 for support(?).  The sales
number is 1-800-821-0806. ]

The system works by running a queue manager (faxspooler) on the host
machine with the faxmodem installed. This program scans a queue
directory for entries from user programs. Users can post faxes using
the fax program directly, or, with the proper entry in the mail
aliases file, send email to post a fax. The user can post files in
ASCII text, postscript, or TeX DVI format. They are all converted to
postscript and queued to be sent.

Incoming telephone calls to the modem are answered, and incoming faxes
are deposited in the spooler's incoming fax directory. Nothing else is
done with the received faxes, they just sit there until someone looks
at them.

The fax queue entries consist of the document to be sent as a
postscript file, and a job header file which contains the transmission
data (user, fax phone number, retry count, etc).

When a queue entry is found, the postscript document is converted to
multiple bitmap images, one per page, using the Ghostscript system.
The bitmaps are then converted to fine-resolution g3 fax format (1-d
Modified Huffman coding, 200 dpi) using the pbm Portable Bitmap
Toolkit system.

Received faxes are currently stored in the /com/fax/incoming 
(or wherever you set the INCOMING directory in the conf.h file)
as g3 format files. You could use Sam Leffler's fax2tiff program
to create class F tiff files from these directly, if you wish.

**************** Other Software You Need ****************

You must have Ghostscript installed, and the Portable Bitmap tools
installed in order to run this system. See the INSTALL file for
information about where to get these programs. 

You should have gotten with this release a copy of 'psify', a program to
format computer programs into postscript. It also does plain ASCII
text files.

The enscript program from Adobe, or something comparable, is also
useful to format an ascii text file as a postscript file. 

**************** Installation ****************

Look in the file INSTALL in this directory

**************** Fax System Directory ****************

The software sources are divided into several directories:

coversheet:
	Program used by spooler to make coversheet for a fax transmission.

doc:	
	Some Documentation of internals.

fax:
	The program a user calls to send a document as a fax. Currently
	has options for sending ascii text, postscript, and DVI files.

faxmail:
	The program called by the mailer to parse and queue a mail message
	for transmission as a fax.

faxsend:
	Program to sends a list of fax pages to a particular fax.

faxspooler:
	Simple spooler to manage a queue of faxes.

include:
	Common header files 

libfax:
	Common utility routines: Currently just the serial port and
	faxmodem protocol drivers.

man:
	Manual pages for documentation
ps:	
	Postscript programs used to generate bitmaps and coversheets.

scripts:
	Various shell scripts used by the system.

----------------

**************** User Interface ****************

(1) The 'fax' program invoked by the user to post a fax transmission. The
command line arguments are: 

usage: fax [-p returnfax] [-r recipient] [-d] phone [file]

The phone number is a Hayes Modem compatible dial string. (A comma in the
dial string indicates a pause, etc; see a Hayes manual for details). 

The file can be ascii, postscript, or DVI format. For DVI format, use
the -d option. Postscript will be automatically recognized if the first
two characters in the file are '%!'. 

The optional -p and -r options are strings which go on the coversheet. '-r' is
the name of the recipient, and -p is a return fax number.

(2) Alternatively, faxes can be posted from email. See the installation
instructions in doc/install.doc for details.

**************** Potential Improvements ****************

Here are some things which might be cool to implement, if you are
feeling the urge to hack.

  You can obtain copies of the faxmodem class 2 standard document
  (EIA-592)from the Electronic Industries Association. 

1. Add support for sending tiff files, including class F. This would
be a trivial thing to do, using Sam Leffler's TIFF library functions.

2. Do something with the received faxes; a little OCR or AI might go a
long way.


**************** KNOWN BUGS/FIXES ****************


[1] For fax reception, I changed the scan_queue procedure to read the serial
line in the top level loop, using the ALARM signal set to kick it out at the
QUEUE_INTERVAL to check for outgoing entries in the queue. I had been having 
trouble with reliability with the process when fax receive is enabled.
[Previous to this change, the faxspooler process had been known to lock up
from time to time and I had trouble debugging it, especially when it was
running as a daemon process.] 

-- comp.archives file verification
transit.ai.mit.edu
total 3648
-rw-rw-r--  1 hqm        532480 May 12 05:56 netfax.tar
-rw-rw-r--  1 hqm        328367 Apr 23 19:42 netfax.tar.Z
-rw-rw-r--  1 hqm        829481 Apr 19 01:27 v2.3pics.tar.Z
-rw-rw-r--  1 hqm        351929 Apr 19 01:26 v2.3.tar.Z
-rw-rw-r--  1 hqm        688527 Apr 19 01:25 v2.2pics.tar.Z
-rw-rw-r--  1 hqm        333827 Apr 19 01:23 v2.2.tar.Z
-rw-rw-r--  1 hqm         32768 Apr 19 01:13 psify.tar
-rw-rw-r--  1 hqm        278222 Apr 19 01:13 pbmplus.tar.Z
-rw-rw-r--  1 hqm        270336 Apr 19 01:13 faxpak.tar
found netfax ok
transit.ai.mit.edu:/pub/systems/netfax/