PJSIP T.38 pass-through not working

I have a similar issue to this:

I have a SNG7 box hosted in the cloud with no internal IP, so it isn’t behind NAT. On the fax machine side, I have a SPA112 behind NAT with T.38 enabled. Voice calls work just fine, but with T.38 calls I hear the initial fax tones, then the audio goes dead. The call doesn’t terminate. Both the ATA and the SIP trunk are using PJSIP.

My knowledge of SIP debugging is very limited (I’d love to learn but I have no clue where to start), but from what I can tell from packet captures taken on the PBX, the T.38 handshake goes well, both the ATA and SIP trunk ACK the handshake, the ATA sends a t30-no-signal (as expected), but then I see a flood of T.38 packets from the SIP trunk to Asterisk that don’t get forwarded to the ATA at all.

Earlier in the capture, I see some of the first RTP packets from the PBX being sent to the internal IP of the ATA, but that seems to get sorted out after 5 RTP packets or so (which seems wrong to me.) While it’s possible this is a NAT issue, I would expect to see the PBX at least attempting to send the T.38 packets back to the ATA on either its external or internal IP, but I’m not seeing that at all.

Am I missing a setting for PJSIP to allow T.38 passthrough, or a NAT setting perhaps?

After further analysis, it seems Asterisk doesn’t transition from RTP to UDPTL.

No one? I can’t be the first guy trying to get this set up!

The TL;DR version of this is that I’m hearing the initial fax tones over G711u, then once the handshake to T.38 takes place there’s no audio anymore. Packet captures show T.38 packets going into Asterisk but none coming out. Usually, netsock.c will show in the logs “Using UDPTL,” here I’m not seeing that at all. I don’t know what else is needed to enable T.38 passthrough. I’ve gotten this to work with other setups, so I’m not sure why it isn’t working here.

I can confirm that everything works with AsteriskNOW distro 10.13.66 with Asterisk 13.19.1, and it doesn’t work with SNG7 with the same verison of Asterisk. Something about T.38 isn’t working in SNG7, but I don’t have the knowledge how to debug this. My setup is working now.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.