FoIP Protocols

To understand what needs to happen during an IP fax session, it helps to take a closer look at the phases of a fax. If you've read How Fax Machines Work, you know that when you insert a document into a fax machine and dial a phone number, the machine sends a signal over the phone lines to the receiving machine to initiate the fax session. If the receiving machine responds with that series of tones most of us have come to associate with faxing, the sending machine knows the connection is established. At this point, the two machines exchange a series of control signals telling each other stuff like what paper size they can handle, whether they're color or black-and-white and what types of data compression they support.

Something important to note here is that fax machines are digital in nature. Digital is what they initially produce and what they ultimately understand. But phone lines are analog. So G3 fax machines use a protocol called T.30 to encode digital information into analog signals on the sending end and decode those analog signals back into digital information on the receiving end.

Once each machine knows the other's capabilities, the sending machine scans the page and produces a series of bits (1s or 0s) that represent the black and white areas of the page in digital form. It then converts those bits into analog signals for transmission over the phone line. On the other end, the receiving machine decodes the page data back into digital form, reads the bits and prints out the page based on the instructions provided by those bits.

In a fax session, timing is everything. Phone lines are really good in this regard because they provide constant timing for each phase of the fax session -- establishing the connection, exchanging control signals, sending and confirming receipt of page data, sending and confirming multipage alerts, and terminating the session. At each step along the way, the machines are talking to each other to make sure everything is going okay. As you saw in the last section, a real-time fax session over the Internet includes all of these phases and confirmations. FoIP uses the same method of compressing and interpreting image data as G3 does, but it uses a different protocol for transmitting that data. The protocol that enables real-time faxing over the Internet is the T.38 protocol.

T.38 converts traditional fax data into an Internet-friendly format. It's basically a method of packaging T.30 fax signals and data as IP packets on the sending end and turning those IP packets back into T.30 signals and data on the receiving end. Here's a look at the conversion process that happens during a single phase of an FoIP session between two G3 fax machines:

As you can see, faxing over the Internet can require a lot of data conversion. From an efficiency standpoint, it would make a lot more sense to just discard the old T.30 protocol in favor of one that's digital and packet-based from end to end. But since faxing evolved as a phone-line technology, T.30 is the only language that every fax machine out there understands -- FoIP can't just throw it out. But a successful real-time session with all of the traditional T.30 phases requires a stability in timing that the Internet just can't provide. This is only one of the challenges facing FoIP. In the next section, we'll take a look at some of the obstacles to a seamless IP faxing session.