gnu.hylafax implements the HylaFAX client network protocol in pure Java. With it, Java applications can access a HylaFAX server in various ways, such as queueing FAX jobs, checking server/job status, and retrieving FAX files. The gnu.hylafax distribution also includes gnu.inet.ftp, a pure Java implementation of FTP client protocol (RFC0959).
HylaFAX is a fax and paging system for Unix. It supports sending facsimile, receiving facsimile, polled retrieval of facsimile, transparent shared data use of the modem and sending alpha-numeric pages. The software is structured around a client-server architecture. Fax modems may reside on a single machine on a network and clients can submit outbound jobs from any machine that can communicate with the machine on which the modems reside. An access control mechanism is included to control which users on which machines may access a server.
The mgetty package contains an intelligent getty for allowing logins over a serial line (such as through a modem) and receiving incoming faxes. The companion program sendfax is used for sending faxes from the commandline or from other applications. The third main component is vgetty/vm which can be used with a voice-capable modem to implement an answering machine, a voice menu system, and similar things.
smbfax is a Unix server which allows you to print via Samba from a Windows client to a hylafax-controlled faxmodem on your server without any additional Win32 software for the client. It's as easy as File->Print from an application, choose the network fax printer, then check your email's INBOX. You can also view and delete jobs via the standard Windows methods.
TkUsr is a small program that allows you to manage the Self-mode of USR/3Com Message/Professional modems. You can use it to retrieve voice messages and faxes. It features smart retrieving with a cache system, so you do not have to download the whole memory when you only want a single fax.
VOCP is a complete messaging solution for voice modems, with voicemail, fax, email pager, DTMF command shell and Text-to-Speech support, 4 graphical interfaces, and a Web interface. Callers navigate the system using a touch-tone phone and may send and receive faxes, voice mail, and pager messages, listen to text/HTML email messages, or execute configured programs on the host and hear the resulting output.
fax4CUPS is a very simple shell script that acts as a CUPS backend for a serial fax modem. Essentially, you print with lpr and the fax is sent. The nice thing is that you have CUPS around, and this means, for instance, that you can check whether your fax has been sent just using your favorite browser (as you would do for any other printer), even if the fax modem is really on a remote server. It supports efax, HylaFAX, mgetty-fax, and Capisuite.
TkScanFax is a TCL/Tk GUI fax program in ANSI C/POSIX with support for efax and multiple languages. It helps make the cover page, convert text files, PostScript files, and image files into fax files, and send faxes. It also uses scanners by using backends such as SANE. The efax program supports Class-1 faxmodems.