Try to send a fax across a normal VoIP call and you will watch it fail more often than it succeeds: pages garble, transmissions drop halfway, or the call never handshakes at all. It is not your fax machine and not bad luck. The problem is that fax and voice want fundamentally opposite things from a network, and the codecs that make voice sound fine quietly destroy fax data. The fix is a protocol built specifically for this, T.38, and any serious open source fax server software speaks it. Here is what actually goes wrong, and how T.38 makes Fax over IP reliable again.

Let me explain why fax breaks on VoIP in plain terms, what T.38 does differently, and what to look for so your faxes actually arrive.

Why voice networks are hostile to fax

Voice and fax sound similar coming out of a phone line, but they could not be more different as data. The human ear is forgiving: VoIP can drop a packet, smooth over a tiny gap, or compress audio heavily, and you still understand the conversation. Fax is the opposite. It is a precise data signal where a single lost or altered tone can corrupt an entire page.

Two things about VoIP that are harmless for voice are lethal for fax:

  • Lossy compression. Codecs like G.729 squeeze audio to save bandwidth by throwing away detail the ear will not miss. That same discarded detail is the fax signal, so the fax data arrives mangled.
  • Packet loss and jitter. A dropped or late packet is a momentary blip in speech. In a fax transmission it is a hole in the data, and fax has almost no tolerance for holes.

So when people “send a fax over VoIP” by routing the fax tones through a regular voice call (an approach called G.711 pass-through), they are asking a system designed for forgiving audio to carry an unforgiving data signal. Sometimes it works. Often it does not, and it fails unpredictably, which is the worst kind of failure.

What T.38 actually does

T.38 takes a completely different approach. Instead of trying to carry the fax sound across the network and hoping it survives, T.38 understands the fax conversation and carries the fax data itself. It demodulates the fax at the sending side, sends the actual page data as data packets, and re-modulates it back into fax tones at the receiving side.

That shift is the whole trick. Because T.38 transports the data rather than the audio, it is immune to the codec compression that wrecks pass-through fax. It also adds redundancy designed for fax, so the occasional lost packet does not destroy the page. In short, T.38 was built knowing exactly how fragile fax is, and it protects the signal accordingly. This is why ICTFax is built around the T.38 protocol for open source faxing rather than relying on voice pass-through.

T.38 versus pass-through, in practice

You will hear two terms when setting up Fax over IP, and the difference decides your reliability:

  • G.711 pass-through sends fax as uncompressed audio over a voice call. It can work on a clean, low-latency network with no compression in the path, but it is brittle and breaks the moment conditions degrade.
  • T.38 handles fax as data with fax-aware error handling. It is the protocol designed for the job and the one to insist on for anything you actually depend on.

The honest guidance is simple: if reliability matters, use T.38 end to end. Pass-through is a fallback that happens to work sometimes, not a foundation to build a faxing service on.

What reliable Fax over IP needs from your software

Picking T.38 is necessary but not the whole story. A fax platform that delivers reliably also handles the surrounding details: negotiating T.38 with the provider, retrying failed transmissions, and falling back gracefully when a far end does not support it. The software has to manage the whole fax session, not just speak the right protocol.

This is where a purpose-built, FreeSWITCH-based fax server earns its place over a bolted-on fax add-on. ICTFax is designed for Fax over IP from the ground up, with the T.38 handling, retries, and email-to-fax and fax-to-email flows that a real faxing operation needs. You can see the full capability set on the ICTFax features page, and try it directly from the ICTFax download. The point is that reliable faxing is a property of the whole system, not of one protocol setting.

The short version

Faxes fail over VoIP because voice codecs and packet loss, both harmless to speech, corrupt the precise data a fax depends on. T.38 fixes it by carrying the fax data instead of the fax sound, with error handling built for how fragile fax is. If you are running fax over IP for anything that matters, use T.38 end to end and software built to manage the full fax session. Do that, and Fax over IP stops being a gamble and goes back to being something that simply works.

Frequently asked questions

Why does my fax fail when I send it over VoIP?

Because VoIP voice codecs compress audio and tolerate packet loss in ways that are fine for speech but destructive for fax. Fax is a precise data signal, so the compression and lost packets that you never notice on a call corrupt the fax page. The fix is to use the T.38 protocol instead of voice pass-through.

What is the T.38 protocol?

T.38 is a standard for sending faxes over IP networks as data rather than as audio. It demodulates the fax at the sending end, transports the actual page data with fax-aware error handling, and re-modulates it at the receiving end, which makes it immune to the codec compression that breaks pass-through fax.

What is the difference between T.38 and G.711 pass-through?

G.711 pass-through carries fax as uncompressed audio over a voice call and is brittle, working only on clean networks. T.38 carries fax as data with error handling designed for fax. For any faxing you depend on, use T.38 end to end rather than pass-through.

Do I need special software for T.38 faxing?

Yes. You need a fax server that negotiates T.38 with your provider, retries failed sends, and manages the full fax session, not just a generic VoIP setup. A purpose-built, open source fax server handles these details so transmissions actually complete reliably.

Can open source fax software handle T.38 reliably?

Yes. Open source fax server software like ICTFax is built around T.38 from the ground up, with the retries and email-to-fax and fax-to-email flows a real operation needs. Being open source has no bearing on T.38 reliability; the architecture does.

Related resources