FaxTap for T.38

In addition to the development of any T.38-capable product; call-center quality systems, brokerages, government agencies, and other entities that use T.38-based fax have a need to implement third-party monitoring of T.38-based fax transactions. Commetrex’ FaxTap for T.38 is an off-line (non-real-time) software product that converts a PCAP file, the output of Wireshark (Ethereal) to the TIFF-F file that results from the fax transaction.

FaxTap for T.38 also provides an analysis function that will return the decoded T.38 packets, T.30 frames, and general call-flow indicators. So it is a valuable T.38 debug and test tool, aiding significantly in system development.

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


  • Win32, Linux, and Solaris platforms
  • A single API for easy integration with any application
  • Error Correcting Mode (ECM) supported
  • Faster than real time
  • Comprehensive conversion report
  • Based on Commetrex’ TerminatingT38, the industry’s reference standard
  • Bad-line repair
  • Post real-time decoding


  • Reduced development time
  • Meet CALEA requirements
  • 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 PCAP recording should optimally begin before the first T.30 Indicator or before the first DIS is sent by the called terminal. Multiple sessions may exist within a PCAP file, so FaxTap for T.38 requires the IP addresses and corresponding ports of the T.38 participants.

The input to the application consists of a recording of T.38 packets saved using the PCAP format output from a packet-snoop program, as well as the address information. Since the recording is made from a packet snoop, the capture 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 Windows Picture and Fax Viewer ®. 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 to begin the extraction. Upon receipt of the command, the PCAP file is opened, and the state machine started. Each packet is processed through the T.38 Frame Classifier. If the frame is a T.38 frame, it is passed to the T.30 event preprocessor which accumulates V.21 frames to produce a T.30 event. Regardless of which T.30 event occurred, the state machine will take appropriate action, safely ignoring some events, while acting upon others. When the T.30 Preprocessor reports DIS, the following High-Speed frames are known to be either ECM or Raw image data. ECM data is accumulated until either a PPS-EOP or PPS-EOP are seen by the T.30 event preprocessor, then sent to the Image Conversion Library to be written to disk. Non-ECM data is immediately passed to the ICL for conversion and storage.