To test software-only fax servers, I installed copies of each product on an identical pair of servers equipped with a 300MHz Pentium II processor, 192MB of RAM, a 9GB hard disk, and Brooktrout Technology's TR114 four-port fax board. I loaded each server machine with Windows NT Server 4.0 Service Pack 5 (SP5) and Brooktrout Technology's NT drivers, unless otherwise indicated. I also equipped one server with Microsoft Exchange Server 5.5.

I acquired the turnkey products in pairs whenever possible so that I could test the software's load-balancing capabilities. Vendors usually preinstalled software on turnkey products, so I didn't test installation as I did for software products, but I tested installed software the same way on both types of products.

My test network consisted of three client systems. One was a 300MHz Pentium II processor-based desktop running NT 4.0 and Microsoft Outlook to send and receive faxes through Exchange. I used a 150MHz Pentium processor-based notebook running Windows 98 to test Windows clients and other Windows components. Finally, so that I could test from a heterogeneous environment, I used a 233MHz Pentium processor-based desktop system running SCO OpenServer 5.0.5 with SCO's Advanced File and Print Server.

I linked these systems by a combination 10Base-2/10Base-T Ethernet network running at 10Mbps. I ran two analog lines to the first server and one analog line to the second server. I used the second server's line primarily for load-balance testing. I also used a Brother plain-paper fax machine to send inbound faxes to the servers.

I reinstalled NT on both servers before I tested each software product. On the client workstations, I removed all fax server client software components from the previous product before testing the next product. When removing the software wasn't possible, I reinstalled Windows on the clients.

For each product, I used Windows, Exchange, or both to send and receive faxes, depending on whether the product included a Windows client. If a product offered a Web-based component, I sent faxes through that component. If the product offered a form of server-based rendering, I tested that feature by sending a fax with file attachments for rendering at the server. I used a combination of Microsoft Word documents and bitmap and JPEG images to test rendering capabilities. To test fax receipt, I used the Brother fax machine to send an inbound fax. When possible, I used dual-tone multifrequency (DTMF) or Calling Station Identification (CSID) routing to send the fax automatically to an Exchange mailbox.

Legacy system support was an important consideration for this review. Many of the products provide support in the form of a file API that let me create a file with embedded fax commands that instruct the fax server to send the fax. To test this capability, I used an SCO UNIX host to create files and transferred files to the fax server by mounting an NT share on the UNIX host.

I tested line and server load balancing on systems that offered those features, and I tested Least Cost Routing (LCR) capabilities where they existed. To test server load-balancing capability, I sent a large fax to a dozen recipients. To test a product's line load-balancing capability, I observed the feature's behavior when one line on the server had to send a large fax while other faxes were waiting in the queue. I tested a server's LCR capability by configuring routing tables to send faxes with a specific dialing prefix from one server machine to the other server machine for delivery. I then observed the fax queue on the second server machine to ensure that the fax arrived successfully and was ready for delivery.