T.38 issues -- other end sends TCF but my end doesn't send CFR

Ok folks, I’m at my wits end – time to ask the community for help.

I’m using Asterisk 16.2.1 and FreePBX 15.0.16.81.

I have a Lanier MP C4502 (re-branded Ricoh), which is supposed to support T.38 faxing. I’m trying to do a simple “receive a fax” test, but I can’t get it to work. I can get the two sides to connect, they start to exchange T.30 packets, but they don’t ever get to the point where the actual image data is transmitted over.

Having done some packet captures, here’s what I’m seeing:

  • SIP setup looks normal – INVITE comes in, Asterisk forwards it to my fax machine, my machine re-INVITES for t38, and from there Asterisk starts talking to the remote fax machine.
  • My end sends a CED, several v21-preambles, a couple NSFs, a CSI, and a DIS/DSR. Asterisk forwards those packets on to the remote end.
  • The remote end sends back a v21-preamble. Asterisk sends a no-signal followed by a v21-preamble back to my fax machine.
  • The remote end then sends a TSI, a DIS/DSR, and a no-signal. Asterisk forwards them back to my machine.
  • The remote end then sends a v17-14400-long-training – which, again, Asterisk forwards back to my machine.
  • My machine then seemingly starts the process over – it sends several v21-preambles, a couple NSFs, a CSI, and a DIS/DSR. The remote end sends back a single v21-preamble. This process repeats a couple more times before my machine sends back a “BYE” message and hangs up.

Any idea what might be going wrong? The only thing that stands out to me is that the long training is supposed to last 1400 milliseconds, but my fax machine is only waiting about 900ms before starting to send back v21-preambles.

Now for all the technical information:

Screen cap of the session in Wireshark:

  • 34.226.36.33 is Flowroute.
  • 192.168.3.22 is my Asterisk box.
  • 192.168.1.183 is my fax machine.
  • 23.29.25.58 is the remote fax machine.

Logs from Asterisk (with pjsip set logger on, core set verbose 4, core set debug 4, and udptl set debug on): https://pastebin.com/j0tkq6XL

PCAP of the session: https://drive.google.com/file/d/1IUgWAZ39nqvta1T6KFnB54iTUcDSV0uH/view?usp=sharing