sendpage [options] [message...]
faxalter [options] jobid...
fax2ps [options] [files...]
The HylaFAX software is divided into two packages: software used on client machines and software used on machines where one or more modems reside. Client software includes:
Many systems also support submission of outgoing facsimile by electronic mail and/or graphical interfaces to the sendfax program. Such facilities are site-dependent; consult local documentation for more information.
Once the software is setup on your machine you need to locate a host that has a facsimile server that you can use. The host, and possibly the modem on the host, should be defined in your environment in the FAXSERVER variable. For example, for csh users,
or for ksh or sh users,
If there are multiple modems on your server then you may be assigned to use a specific modem. For example, if you are to use the modem attached to the ttym2 port on the server machine, then the FAXSERVER variable should be setup as
(Note: the SNPPSERVER environment variable is used instead of FAXSERVER by the sendpage program; consult sendpage(8C) for more information.)
Note also, that before you can submit outgoing facsimile jobs the administrator for the facsimile server may need to register your identity in an access control list. You will encounter the message ``530 User %s access denied.'' if access to your server is controlled and you are not properly registered or you may be prompted for a password and then denied service with ``530 Login incorrect.''.
The general rule in crafting dial strings is to specify exactly what you would dial on your telephone; and, in addition, the actual phone number can be specified in a location-independent manner by using the IDD syntax of ``+country-code local-part''.
Automatically-generated cover pages may include the following information:
Certain of this information is currently obtained from a user's personal facsimile database file; ~/.faxdb. Note that this file is deprecated; it is described here only because it is still supported for compatibility with older versions of the software.
The .faxdb file is an ASCII file with entries of the form
where keyword includes:
Data is free format. Whitespace (blank, tab, newline) can be freely interspersed with tokens. If tokens include whitespace, they must be enclosed in quote marks (``"''). The ``#'' character introduces a comment—everything to the end of the line is discarded.
Entries are collected into aggregate records by enclosing them in ``''. Records can be nested to create a hierarchy that that supports the inheritance of information—unspecified information is inherited from parent aggregate records.
For example, a sample file might be:
[ Company: "Silicon Graphics, Inc." Location: "Mountain View, California" [ Name: "Sam Leffler" FAX-Number: +1.415.965.7824 ] ]
which could be extended to include another person at Silicon Graphics with the following:
[ Company: "Silicon Graphics, Inc." Location: "Mountain View, California" [ Name: "Sam Leffler" FAX-Number: +1.415.965.7824 ] [ Name: "Paul Haeberli" FAX-Number: +1.415.965.7824 ] ]
Experience indicates that the hierarchical nature of this database format makes it difficult to maintain with automated mechanisms. As a result it is being replaced by other, more straightforward databases that are managed by programs that front-end the sendfax program.
Configuration files have a simple format and are entirely ASCII. A configuration parameter is of the form
where a tag identifies a parameter and a value is either a string, number, or boolean value. Comments are introduced by the ``#'' character and extend to the end of the line. String values start at the first non-blank character after the ``:'' and continue to the first non-whitespace character or, if whitespace is to be included, may be enclosed in quote marks (``"''). String values enclosed in quote marks may also use the standard C programming conventions for specifying escape codes; e.g. ``\n'' for a newline character and ``\xxx'' for an octal value. Numeric values are specified according to the C programming conventions (leading ``0x'' for hex, leading ``0'' for octal, otherwise decimal). Boolean values are case insensitive. For a true value, either ``Yes'' or ``On'' should be used. For a false value, use ``No'' or ``Off''.
hyla% faxstat -r HylaFAX scheduler on hyla.chez.sgi.com: Running Modem ttyf2 (+1 510 999-0123): Running and idle Protect Page Owner Sender/TSI Recvd@ Filename -rw-r-- 9 fax 1 510 5268781 05Jan96 fax00005.tif -rw-r-- 8 fax 1 510 5268781 07Jan96 fax00009.tif -rw-r-- 2 fax 1 510 5268781 07Jan96 fax00010.tif -rw-r-- 3 fax +14159657824 08Jan96 fax00011.tif -rw-r-- 2 fax +14159657824 08Jan96 fax00012.tif
Consult the faxstat manual page for a more detailed description of this information.
Received facsimile are stored as TIFF Class F files. These files are bilevel images that are encoded using the CCITT T.4 or CCITT T.6 encoding algorithms. The fax2ps(1) program can be used to view and print these files. A file can be viewed by converting it to POSTSCRIPT and then viewing it with a suitable POSTSCRIPT previewing program, such as xpsview(1) (Adobe's Display POSTSCRIPT-based viewer), ghostview(1) (a public domain previewer), or image viewer programs such as viewfax(1) (public domain), faxview(1) (another public domain TIFF viewer program), xv(1) (shareware and/or public domain), or xtiff(1) (a program included in the public domain TIFF software distribution). Consult your local resources to figure out what tools are available for viewing and printing received facsimile.
The following command queues the file zall.ps for transmission to John Doe at the number (123)456-7890 using fine mode; the server will attempt to send it at 4:30 A.M.:
sendfax -a "0430" -m -d "John Doe@1.123.456.7890" zall.ps
(the leading ``1.'' is supplied to dial area code ``123'' in the United States.)
The following command generates a one-page facsimile that is just a cover page:
faxcover -t "John Doe" -n "(123)456-7890" -c "Sorry John, I forgot the meeting..." | sendfax -n -d "(123)456-7890"
(note that the line was broken into several lines solely for presentation.)
The following command displays the status of the facsimile server and any jobs queued for transmission:
The following command displays the status of the facsimile server and any documents waiting in the receive queue on the server machine:
The following command shows how to use an FTP client program to communicate directly with a HylaFAX server:
hyla% ftp localhost hylafax Connected to localhost. 220 hyla.chez.sgi.com server (HylaFAX (tm) Version 4.0beta005) ready. Name (localhost:sam): 230 User sam logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir sendq 200 PORT command successful. 150 Opening new data connection for "sendq". 208 126 S sam 5268781 0:3 1:12 16:54 No local dialtone 226 Transfer complete. ftp> quote jkill 208 200 Job 208 killed. ftp> dir doneq 200 PORT command successful. 150 Opening new data connection for "doneq". 208 126 D sam 5268781 0:3 1:12 No local dialtone 226 Transfer complete. ftp> quote jdele 208 200 Job 208 deleted; current job: (default). ftp> dir docq 200 PORT command successful. 150 Opening new data connection for "docq". -rw---- 1 sam 11093 Jan 21 16:48 doc9.ps 226 Transfer complete. ftp> dele docq/doc9.ps 250 DELE command successful. ftp> dir recvq 200 PORT command successful. 150 Opening new data connection for "recvq". -rw-r-- 4 fax 1 510 5268781 30Sep95 faxAAAa006uh -rw-r-- 9 fax +14159657824 11Nov95 faxAAAa006nC -rw---- 25 fax +14159657824 Fri08PM fax00016.tif 226 Transfer complete. ftp> quit 221 Goodbye.
The following command shows how to use a Telnet client program to communicate directly with an SNPP server:
hyla% telnet melange.esd 444 Trying 184.108.40.206... Connected to melange.esd.sgi.com. Escape character is '^]'. 220 melange.esd.sgi.com SNPP server (HylaFAX (tm) Version 4.0beta010) ready. login sam 230 User sam logged in. help 214 The following commands are recognized (* =>'s unimplemented). 214 2WAY* ALER* DATA HOLD LOGI MSTA* PING RTYP* STAT 214 ABOR CALL* EXPT* KTAG* MCRE* NOQU* QUIT SEND SUBJ 214 ACKR* COVE* HELP LEVE MESS PAGE RESE SITE 250 Direct comments to FaxMaster@melange.esd.sgi.com. page 5551212 250 Pager ID accepted; provider: 1800SkyTel pin: 5551212 jobid: 276. send 250 Message processing completed. quit 221 Goodbye. Connection closed by foreign host.
/usr/local/bin/sendfax for sending facsimile /usr/local/bin/sendpage for sending alpha-numeric pages /usr/local/bin/fax2ps for converting facsimile to POSTSCRIPT /usr/local/bin/faxalter for altering queued jobs /usr/local/bin/faxcover for generating cover sheets /usr/local/bin/faxmail for converting email to POSTSCRIPT /usr/local/bin/faxrm for removing queued jobs /usr/local/bin/faxstat for facsimile server status /usr/local/sbin/sgi2fax SGI image file converter /usr/local/sbin/textfmt ASCII text converter /usr/local/lib/fax/typerules file type and conversion rules /usr/local/lib/fax/pagesizes page size database /usr/local/lib/fax/faxcover.ps prototype cover page /usr/local/lib/fax/dialrules optional client dialstring rules /var/spool/hylafax/tmp/sndfaxXXXXXX temporary files