Fax over IP

T.38 & T.30 fax decoder for PCAPs.

Drop a PCAP that carries fax — T.38 (UDPTL, the SDP m=image udptl t38 reinvite) or T.30 over G.711 audio pass-through — and SIP Flow classifies the call, calls out failed reinvites and missing UDPTL traffic, and decodes the pages to a downloadable TIFF in your browser. The fax decoder is @sipflow/fax-wasm: SpanDSP compiled to WebAssembly, running in a Web Worker.

What you get out of it

  • Both fax-relay modes

    T.38 UDPTL (m=image udptl t38) and T.30 G.711 pass-through. Auto-classified per call from SDP + User-Agent / Server headers.

  • Fax-specific issue detection

    Detects rejected T.38 reinvites (488 / 415 / 606), missing UDPTL traffic on a negotiated stream, ECM / redundancy gaps, and spandsp decode errors.

  • Pages decoded to TIFF

    spandsp compiled to WebAssembly runs the T.30 state machine in a Web Worker. You get the page count, remote ident (TSI/CSI), state-machine log, and a downloadable multi-page TIFF.

  • 100% client-side

    Your PCAP never leaves the browser. The fax-WASM module is ~1.2 MB and loads lazily only when a fax call is found.

How fax detection works

  • SDP m=image udptl t38 classifies the call as T.38 per RFC 3362 + RFC 7345. The negotiated UDPTL 5-tuple is used to filter the packet capture.
  • G.711 RTP plus a fax-aware User-Agent (HylaFAX, SpanDSP, Asterisk res_fax) classifies the call as T.30 audio pass-through. The decoder demodulates V.17 / V.27ter / V.29 / V.34 directly off the RTP audio.
  • A T.38 reinvite rejected with 488 / 415 / 606 is flagged as a fax issue even when no UDPTL traffic ever flowed — the most common Cisco CUBE / AudioCodes / FreeSWITCH mod_spandsp misconfiguration.
  • Decoding runs in a Web Worker, so the analyzer UI stays responsive on multi-page faxes. The output is a multi-page TIFF you can download or render inline.

Related: the Sipflow MCP server grounds your editor on fax-relevant RFCs (3362, 6913, 7345) and vendor docs (SpanDSP, FreeSWITCH mod_spandsp, Cisco CUBE T.38, Asterisk res_fax / udptl.conf) so an AI assistant can answer T.38 / T.30 questions with citations.

SIP Flow · Free, private SIP/VoIP analyzer

Core utility runs entirely in your browser. AI debugging is opt-in and pseudonymizes by default.

ContactPrivacy