This is a technical discussion of ECM (Error Correction Mode). If you're looking for the "executive summary," check out our blog post on the topic: ECM - T.38's Dirty Little Secret. The issues discussed here are for the most part rare but are reported to us occasionally.
How does a fax without ECM work?
A fax machine, regardless of whether it uses ECM or not, transmits a page as a TIFF-F image, one horizontal row of pixels at a time: usually 1728 pixels per row for 2200 rows. On a fax call without ECM enabled, the fax machine will transmit the entire page and then wait on the receiver to approve the page. The receiving fax machine will check to what extent the page can be reassembled. If the page wasn't perfect, the receiving fax machine must decide whether the page was good enough to use; if not, it will re-request a whole page at a time. A retransmission of the whole page is time consuming, so sometimes it will settle and accept a few errors in the page before agreeing to move on to the next. Each fax machine will have its own personality in what it considers an acceptable page.
How does a fax with ECM work?
The purpose of ECM is to deliver pixel-perfect page transmissions end-to-end. ECM transports fax page data over HDLC frames. Fax machines attach a checksum to each frame, which allows the receiving fax machine to determine whether the page was corrupted. If the receiving fax machine detects errors, it selectively requests only the frames that failed the checksum test until all of the frames have been delivered correctly. In order for ECM to function, both fax machines must have ECM enabled. This is more common than you may think: most manufacturers enable ECM by default, and although the conventional wisdom is to disable ECM when a fax machine has issues, most users don't have to resort to disabling ECM to get their fax machine to work over the PSTN.
What fax speed(s) does ECM work at?
All of them! ECM works irrespectively of the transmission speed selected. Some of the higher fax speeds are only available with ECM enabled.
What does a bad non-ECM fax look like?
In the attached PDFs, we're using a "stress test" image to test out an analog gateway that doesn't support ECM. This image is difficult for fax machines to compress, so a single page takes twice to three times as long to transmit compared to a normal page. We are artificially increasing the difficulty here, and a "normal" fax wouldn't look quite so bad under the same conditions. However, a fax machine may have to make similar decisions and tradeoffs in the wild, and those circumstances are often affected by the connection quality of the far end. This particular analog gateway often had to wait for the fax machine to slow down to at least 12,000bps to transmit correctly, even on much easier pages.
In Exhibit A, we send a fax to this gateway. The first page looks pretty good, but later pages don't. The fax machine probably could have achieved better results if it had requested a retransmission of these pages, but ultimately the receiving fax machine chooses whether it is appropriate to do so, and each fax machine will have a different opinion of what a good fax looks like. This particular fax machine decides to leave well enough alone.
In Exhibit B, the parties in the first transmission have now switched places: we send back the first page. Each included page is an attempt to transmit (and retransmit) the first page. In the first attempt, the sender tries to send at 14,400bps, but the page is rejected by the recipient. They eventually make their second attempt to transmit their page at 9,600bps. The recipient rejects this page as well, but they decide try again at 9,600bps and finally the recipient accepts the page.
Although the recipient in Exhibit B is much pickier than the recipient in Exhibit A, there are still some visible artifacts in Exhibit B. By comparison, ECM delivers a consistent experience across all fax machines because it removes the whims left to individual implementations. It takes an nebulous, gradient problem and makes it clear and binary: you either got the fax or you didn't.
When and how does an ECM-enabled fax fail?
Apples-to-apples, ECM faxes fail slightly more often than non-ECM faxes. However, one feature that differentiates fax from other technologies is its ability to notify the sender that the destination fax machine received the transmission. As in Exhibit B, the fax machine can report that it fully received a non-ECM fax with notable errors. ECM adheres to the user's expectations by design and will only succeed when the fax pages are error-free. When poor line quality causes a fatal failure occur, the failure looks about the same whether you're using ECM or not: you only get the top part of a page, the rest being blank. Exhibit C shows an example. Since a sending fax machine is aware that the full fax didn't reach the other end, it will usually make a new call, either to resend the entire fax or to pick up from the last page OKed by the receiving side.
Are there any other features that come with using ECM?
When ECM is enabled, usually a fax machine will flip on two other settings: 2D Coding and T.6 Coding. These settings dictate how the TIFF-F image is encoded. 2D Coding enables MR compression, which reduces the file size by about 20% over the original fax encoding, MH. This setting doesn't require ECM to be enabled, but many vendors choose to disable it unless ECM is enabled because this compression method is not very error-tolerant: a disruption of one row may actually lead to a disruption of up to three rows. T.6 Coding improves further on MR compression, and is often referred to as MMR compression. This setting requires ECM to be enabled. Higher compression ratios shorten page transmissions somewhat. For example, enabling ECM and switching from MR to MMR saved me about 7 seconds on an otherwise 1 minute, 6 second fax.