Saturday, September 13, 2008

Difficulty sending faxes

The support of sending faxes over VoIP is still limited. The existing voice codecs are not designed for fax transmission; they are designed to digitize an analog representation of a human voice efficiently. However, the inefficiency of digitizing an analog representation (modem signal) of a digital representation (a document image) of analog data (an original document) more than negates any bandwidth advantage of VoIP. In other words, the fax "sounds" simply don’t fit in the VoIP channel. An effort is underway to remedy this by defining an alternate IP-based solution for delivering fax-over-IP, namely the T.38.

The T.38 protocol is designed to work like a traditional fax machine and can work using several configurations. The fax machine could be a traditional fax machine connected to the PSTN, or an ATA box (or similar). It could be a fax machine with an RJ-45 connector plugged straight into an IP network, or it could be a computer pretending to be a fax machine. [7] Originally, T.38 was designed to use UDP and TCP transmission methods across an IP network. The main difference between using UDP and TCP methods for a FAX is the real time streaming attributes. TCP is better suited for use between two IP devices. However, older fax machines, connected to an analog system, does benefit from UDP near real-time characteristics.

There have been updated versions of the T.30 to resolve the FoIP issues, which is the core fax protocol. Some new fax machines have T.38 built-in capabilities which allow the user to plug right into the network with minimal configuration changes. A unique feature of T.38 is that each packet contains a copy of the main data in the previous packet. This is an option and most implementations seem to support it. This forward error correction scheme makes T.38 far more tolerant of dropped packets than using VoIP. With T.38, it requires two successive lost packets to actually lose any data. [8] The data you lose will only be a small piece, but with the right settings and error correction mode, there is a high probability that you will receive the whole transmission.

Tweaking the settings on the T.30 and T.38 protocols could also turn your unreliable fax into a robust machine. Some fax machines pause at the end of a line to allow the paper feed to catch up. This is good news for packets that were lost or delayed because it gives them a chance to catch up. However, if this were to happen on every line, your fax transmittal would take a long time. Another possible solution to overcome the drawback is to treat the fax system as a message switching system, which does not need a real-time data transmission (such as sending a fax as an email attachment (see Fax) or remote printout (see Internet Printing Protocol)). The end system can completely buffer the incoming fax data before displaying or printing the fax image.

No comments: