FaxTap for PCM to TIFF-F Converter

Call-center quality systems, brokerages, government agencies, and other entities have a need to monitor fax transactions between two parties. In some cases, the monitoring is done by recording the PCM stream for later conversion to a viewable format. FaxTap is an off-line (non-real-time) software process that converts the recorded PCM file to a TIFF-F file. In this case, non-real time doesn’t mean slow. A fax image that might take one minute to receive will be converted in 1-4 seconds.

The function of the system is to convert a linear pulse-code modulation (PCM) recording of a facsimile session into the original transmitted image. A report is provided indicating the extent of the success of the conversion in addition to the document properties that can be extracted from the input signal.

The product is a Win32, Linux, or Solaris DLL, and provides a blocking conversion function. FaxTap’s design takes full advantage of Commetrex extensive portfolio of field-proven fax technologies, including the fax modems, PortableT30, and the Image Conversion Library.


  • Win32, Linux, and Solaris platforms
  • A single API for easy integration with any application
  • V.21, V.27ter, V.29, and V.17 modems included
  • Error Correcting Mode (ECM) supported
  • Faster than real time
  • Comprehensive conversion report
  • Field-proven modems
  • Bad-line repair
  • Post real-time decoding


  • Use of host MIPS to decode faxes reduces system costs
  • Fast response for on-demand conversion

License Options

  • Paid-up source code
  • Source with runtime license
  • Paid-up object code
  • Object Code with Runtime Licenses


The PCM recording may begin during the Called Terminal Identification (CED) tone or may contain other tones, such as ringback, before the actual fax negotiation begins. Typically, recording begins once the CED tone has been detected.

The input signal to the application consists of 16-bit linear PCM samples in little-endian format. Since the recording is made from a line tap, the signal will contain both sides of the fax session.

The output of the conversion has two parts. The rendered image is delivered to the calling application in TIFF-F format, which can be viewed by any TIFF-F viewer, such as Imaging for Windows®. The second part of the output is a report containing the information in the table below.

Report Field Description
Result NO_FAX: Input is not a fax signal (no V.21 flags detected).
FAX_NO_PAGES: Input is a fax signal but no pages were recovered.
COMPLETE_SUCCESS: All pages recovered had less than 10% bad lines.
PARTIAL_SUCCESS: At least one page had more than 10% bad lines.
NSS_MODE_ON: Session is using non-standard facilities as opposed to T.30.
Modem Rate 2400, 4800, 7200, 9600, 12000, or 14400 bits per second.
Resolution HIGH (204x196dpi), LOW (204x98dpi), or SUPER_HIGH (204x391dpi).
Encoding Modified Huffman (MH), Modified READ (MR), or Modified-Modified READ (MMR) encoding.
Page Size A4, B4, or A3.
Bad Lines The number of bad lines received.
Total Lines The total number of lines.
Pages The number of pages processed.
Bytes The number of bytes processed by the high-speed (non-V.21) modem.
Trains The number of training signals processed.
Document File Name The name of the current file processed.
Sender ID The sending fax machine identification number.
Receiver ID The receiving fax machine identification number.

System Operation

As shown in the diagram below, the application’s command is received by the Controller, which starts the V.21 receiver in order to decode the answering terminal’s Digital Identification Signal (DIS). DIS informs the caller of the capabilities of the answering terminal. The ensuing Digital Command Signal (DCS) from the caller is decoded to determine such details as modem to train, image resolution, encoding, page size, and so on. The appropriate image modem’s training is then initiated. Modem events, such DIS, DCS, and Train End, are sent from the Controller to the event preprocessor and from there to the system’s state machine, which is used to determine the next course of action. Image data are then sent to the Image Conversion Library, where the image is converted, as necessary, for storage in the output TIFF-F.