VoiceOps
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
February 2026
- 18 participants
- 18 discussions
To be fair, win-26.us != win-26.com ...
From: Aaron C. de Bruyn via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Friday, February 20, 2026 10:43
To: Peter Beckman
Cc: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Stopping win-26[.]com text spam?
Hey Peter,
On Thu, Feb 19, 2026 at 2:10 PM Peter Beckman <beckman(a)angryox.com> wrote:
Also win-26.com seems to have been scooped up and none of the links I could
find even work anymore...
At the risk of triggering more spam, here's one that was sent to me:
win-26[.]us/l7BnN8
Are they still sending out texts with a bad URL in them???
No, the URLs were always correct. I just changed it to [.] to avoid spam
filtering or someone accidentally clicking the links.
-A
2
1
Not exactly a 'voice' issue, but closely related.
I don't know if this is just "me" or if it's a larger campaign over the
last month, but I have been getting hammered by text spam.
I typically get 3-5 messages that make it through the Google Messages spam
filter every *month*.
But with this...on a slow day, I might get 5 per day. On a busy day, I'll
get a text every 3-5 minutes. Sometimes multiple messages come in
simultaneously.
After reporting them as spam for weeks, I replied to every one of them with
'STOP' for weeks...and the flood continues. I've literally reported
hundreds of them as spam, and replied to hundreds more with 'STOP'.
Every message has a unique link to win-26[.]com which usually ends up
redirecting to winred.com.
Almost all the messages are political in nature, but...not "normal".
They're all click-baity or absolutely unhinged:
* An emergency mandate from President Trump: "I AM ASKING ALL REPUBLICANS"
This just changed everything:
* You are accounted for. A CONFIDENTIAL document singles YOU out as
indispensable. Review it before access is restricted:
* TERMINATION NOTICE Your MAGA membership expired!
* CONFORM YOUR $2,000 Tariff Check for Aaron
* From Trump: I sent a special LOVE LETTER just for Aaron! Was it stolen?
I haven't heard from you.
They all end with unique links to win-26[.]com. Following them usually
leads to winred[.]com.
Apparently someone thinks I want to get blasted by political spam.
Is this some sort of legit political thing that gets to ignore laws and
abuse the system in ways that would get us peasants jailed? Or is this
some spam campaign that's getting ignored by Google and/or the carriers?
(Or is it just me?)
-A
2
4
Okay, I've got fresh successful (and failed) captures with audio this time.
But first, I was going back through the original captures, and I realized that I think Adam may have made a mistake when interpreting the T.30 exchange going on. The first frame he highlights is the DIS, true enough. But each successive frame is not DIS, but DCS. DIS is being sent out the network by the ATA, while DCS is being sent by the remote terminal back *to* the ATA (observe the sending and receiving IP addresses in the capture). So, DIS is sent by the receiver, and DCS by the sender. The DIS advertises the receiving terminal's capabilities to the sender, and then the DCS tells the receiver what capabilities it intends to actually use (presumably only a subset of what the receiver said it supported in the DIS, assuming the transmitting terminal is following the spec / not buggy).
In the case of every ATA but the Motorola, DIS always has the 2D-coding flag set. But in the case of everything but the Yeastar, the *DCS* always has the 2D-coding flag *UN*set.
Now this is interesting, because presumably the T.38 engine on either side is merely encapsulating whatever T.30 messages it got from the modem on the local side into T.38 packets, transparently. But in at least the case of the Motorola, we presume that can't be the case, and that it forcing feature flags in the DIS to values other than what the modem itself explicitly sent. And we know this because it makes no sense that in all cases (but one), the same receiving modem would be telling the sender it supports 2D-coding, except after changing the ATA out for the Moto, which then somehow this causes the modem to suddenly claim it doesn't?!
So my hypothesis here is that the receiving modem is advertising support for 2D-coding, but the Motorola ATA is forcefully unsetting that bit in the DIS it transmits to the sender.
Then comes the question, though, of why the Yeastar capture shows the sender attempting to use 2D-coding when none of the other captures do, even though it's the same sending fax machine in all examples. Well...I just realized that it's (of course) a Motorola ATA that's also being used on the transmitting fax machine's side. So if my earlier hypothesis about what the Moto is doing is correct, then even if the transmitting fax machine supports this feature, the OTHER Moto ATA on THAT side is similarly messing with the contents of the DCS frames before forwarding them on into T.38-land.
In the end, I suspect this is all a big red herring and doesn't explain the actual problem with the training break-downs. Though it's been a few months since I did all of these original captures and tests, I'm almost certain I tried swapping out the ATA on the sending side from a Motorola to other models to see if that made any difference. In fact, I wonder if, at the time I was testing & capturing the Yeastar ATA on the receiving side, perhaps I was using a non-Motorola ATA on the sending side...which would certainly explain why all of the DCS frames show 2D-coding enabled in that capture. (I plan to go back and re-test with the Yeastar, as well as re-test the Grandstream with a non-Moto ATA on the opposite side, to confirm this theory).
I also ran multiple tests from multiple other public faxback-testing-type services, such as the HP and Canon toll-free fax-back numbers, the Interpage send test service, the faxZERO free fax send service, t38fax.com's ECM test service, and so on...they all fail in precisely the same ways when using all of these same ATAs paired to this same USB fax modem, while I also got great success rates from all of them when using the Motorola with the exact same modem. I simply switched to initiating tests from a fax machine under my control & hooked up to another ATA in order to both eliminate the PSTN network entirely as well as get around the daily sending quotas of some of those public test services.
Aaaaaaaaaaaanyway.
Here are the fresh new captures I made:
http://projects.fsr.com/moto-vs-grand.zip
I didn't have the right equipment at my disposal to try to keep the local modem's TX audio and the ATA's TX audio in separate channels, so it's just a monaural recording, but hopefully it's obvious which party is which. I only tested the Moto and the Grandstream ("v2" hardware), but I plan to go back and also re-capture with the earlier v1 Grandstream hardware that I just discovered doesn't seem to have this problem, as well as the Flyingvoice since it kinda-sorta works.
The only thing that was obvious to me at a very quick glance is that the transmit gain of the Moto when it's in T.38 mode is noticeably higher than the Grandstream. Out of curiosity, I cranked the gain up in the Grandstream's settings, but it made zero difference to the output levels, so I suspect that setting has no effect on / is ignored by the T.38 DSP code.
Thanks, all,
-- Nathan
-----Original Message-----
From: Nathan Anderson via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Thursday, February 19, 2026 15:06
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Adam,
Wow, I had not spotted that, and that is a very interesting theory...
I will just point out that if you re-scrutinize the Flyingvoice capture, it does not end in "...eventual failure" like the other ones do. It eventually succeeds training at V.27ter @ 4800bps (DIS @ #1748, followed by CFR @ #1831). This is consistent behavior on the Flyingvoice: it works, just no faster than 4800 (and with some remote terminals, it has trouble even at 4800 but does train at 2400). The Grandstream, however, is also consistent: it consistently *fails* to train, at every rate, every time I test it.
So yes, I suppose it is possible that the Grandstream, at the very least, is perhaps "cacheing" the original value for that flag & ignoring the fact that it has changed in subsequent DIS frames. If that's happening, then to return back to what seems to have become the theme of this discussion, likely the only way to verify that would be to capture the actual audio from ATA to fax modem, and try to decode it.
But that doesn't quite explain the Flyingvoice's behavior. Unless it has a similar bug, but one where it eventually picks up on the change in negotiated fax control/feature flags?
-- Nathan
-----Original Message-----
From: Adam Maloney via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Thursday, February 19, 2026 10:04
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Thanks for posting this.
In the success pcap, the first and second (final) DIS packets (#726 and #788) have in the T.30 flags "Two dimensional coding capability" set to 0 (not supported). I think your Class 1 softmodem doesn't support this. I have even money on whether the Moto ATA doesn't support it too which is why that combination ATA/modem works.
vt1005-fax-rx-success.pcap:
#726 DIS v.27ter v.29 v.17 Two dimensional coding capability: 0
#788 DIS 14.4k v.17 Two dimensional coding capability: 0 ...Successful negotiation at 14.4 and fax proceeds
In the Yeastar failure pcap, all of those DIS packets have that flag set.
Yeastar packets.pcap:
#377 DIS v.27ter v.29 v.17 Two dimensional coding capability: 1
#411 DIS (14.4k v.17) Two dimensional coding capability: 1
#504 DIS (14.4k v.17) Two dimensional coding capability: 1 (re-train)
#602 DIS (12k v.17) Two dimensional coding capability: 1 (re-train)
This continues through all of the retrains all the way down to 2400 until it eventually fails completely:
#693 12kbit/s Two dimensional coding capability: 1 (re-train)
#793 9600 Two dimensional coding capability: 1 (re-train)
#882 9600 Two dimensional coding capability: 1 (re-train)
#982 7200 Two dimensional coding capability: 1 (re-train)
#1071 7200 Two dimensional coding capability: 1 (re-train)
#1171 4800 Two dimensional coding capability: 1 (re-train)
#1262 2400 Two dimensional coding capability: 1 (re-train)
#1362 2400 Two dimensional coding capability: 1 (re-train)
#1431 disconnect
The Flyingvoice and Grandstream pcaps both have that bit set from the first DIS packet, and then unset for the remaining packets:
Flyingvoice packets.pcap:
#726 Two dimensional coding capability: 1
#766 Two dimensional coding capability: 0
#880 Two dimensional coding capability: 0 (re-train)
#1014 Two dimensional coding capability: 0 (re-train)
#1131 Two dimensional coding capability: 0 (re-train) ...eventual failure
Grandstream packets.pcap:
#401 Two dimensional coding capability: 1
#437 Two dimensional coding capability: 0
#548 Two dimensional coding capability: 0 (re-train)
#674 Two dimensional coding capability: 0 (re-train) ...eventual failure
My theory is when that bit gets set from the get-go (all but the Moto ATA) it persists in negotiations on the ATA->Modem side even though it's changing on the t.38 side.
I'm not at all familiar with what that particular feature is but a quick Google shows a bunch of devices support it. Maybe with the right sending device it's something you can turn on and off to confirm if this one bit really is the culprit.
Adam Maloney
612.327.5713
adam(a)whee.org
adam(a)amaloneyconsulting.com
-----Original Message-----
From: Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>
Sent: Wednesday, February 18, 2026 11:31 PM
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I don't think you're missing anything. Like I mentioned, someone else asked for just the pcap if I had one sitting around, which I did, so I sent it on to him, and figured I'd share it here, too. But I attached those other comments when I did so, which basically state what you summed up so well in much fewer words: it seems highly unlikely that the pcaps alone are able to tell the story here.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Wednesday, February 18, 2026 21:17
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
But the pcap would be same, right ? The Mot ATA gets a packet flow, converts to audio, and the fax modem is happy. A failing ATA gets the same packet flow, converts to audio with some as-of-yet-unknown difference, and the modem is unhappy.
What am I missing ?
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> I haven't yet done an audio capture of a successful fax RX with the
> Motorola ATA, but I had a pcap of such a session already kicking
> around from a couple of months ago, and somebody off-list just asked
> for a pcap of that (without the audio), so for anybody playing along,
> I figured I might as well also post it here.
>
> So, here it is: http://projects.fsr.com/vt1005-fax-rx-success.pcap
>
> I also sent these comments along with it:
>
> I'm not really seeing anything much when comparing between them other
> than that the receiving modem just repeatedly responds with Failure To
> Train (FTT) for nearly every modulation training effort with the other
> ATAs (except for the Flyingvoice one, where it will typically
> eventually succeed at either 4800 or 2400bps), but when I throw the
> Motorola in play, suddenly the same modem can train and receive at
> 14400bps no problem.
>
> This leads me to hypothesize that there is something in particular
> about the *modulated audio* these other ATAs are generating that this
> particular modem just doesn't like; maybe it is just "too picky"
> relative to most other fax modems, and these other ATAs are generating
> a modulated signal that is slightly outside of spec somehow. If
> that's the case, I'm not really sure how to deduce what the actual
> problem is without also analyzing the audio from the ATAs relative to
> each other, and even if one has the audio, it may still not be obvious
> what the fax modem is balking at without being able to somehow get
> into the guts of the fax modem's own firmware at a low level
> (specifically, *why* is it unhappy with the training signal it's
> getting from the ATA / what does it consider to be wrong with it).
>
> That this is a DSP-level problem with these ATAs is also -- I think
> -- backed up by the observation that fax TX nearly always works at
> full-speed, and it's only RX that fails. When the modem hooked up to
> the ATA is transmitting, the larger burden is on the ATA to understand
> what the modem is saying (the ATA is mostly listening), whereas during
> fax reception, this is the other way around: the ATA is generating the
> modulated data (is mostly speaking) but the modem can't understand it.
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Tuesday, February 17, 2026 18:50
> To: voiceops(a)voiceops.org
> Subject: RE: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Jeff,
>
> I'm more than happy to collect captures from the "good" one, and
> re-collect captures from the "bad" ones. The captures I provided were
> just the ones I took when asked to by someone else a few months back,
> and he said he didn't particularly care about the captures from the
> "good" one, so I assumed he already had something specific in mind
> that he suspected might be the problem that perhaps he could
> identify/confirm easily just by looking at the failing captures.
> (Also, in my dealings with Yeastar, Grandstream, Flyingvoice, and even
> Adtran support, they always have asked for straight-off-the-DSP
> taps. Though I agree: you can't detect every problem with those.
> Like, what if something's going wrong with the DAC and/or
> amplification circuitry?)
>
> When I have a few minutes sometime in the next few days, I'll
> reproduce the issue again and re-capture it, this time with analog
> taps.
>
> -- Nathan
>
> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@signalogic.com]
> Sent: Tuesday, February 17, 2026 17:07
> To: Nathan Anderson
> Cc: voiceops(a)voiceops.org
> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Hi Nathan,
>
> If you want help, you might be making it a tad hard. You need to have
> audio output both from the Mot ATA and at least one failing ATA.
> Getting that from the ATA output (actual RJ-11 line) is the only way
> -- I wouldn't trust "debug outputs" further than I can throw a rock. I
> used to work on a wide range of DSP based devices, and debug/test
> outputs were never a high priority, did not include everything on the
> actual I/O lines, and only got updated from time-to-time.
>
> But from your subsequent mails it seems you're making progress, so
> things are looking good :-)
>
> -Jeff
>
> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>
>> Jeff,
>>
>> Yes, correct: in my test environment, I simply swap out one of the
>> many "bad" ATAs for the Moto ATA (or vice-versa), and have it
>> register to the exact same SIP proxy while plugged into the exact
>> same fax modem, receiving test faxes from the same remote machines.
>> When using a specific fax modem, the Moto succeeds, the others fail.
>> If I change out the fax modem for a different one (different model),
>> the success rate of the non-Moto ATAs goes up.
>>
>> I have taken captures from ATAs by 3 vendors while using the "sus" modem:
>>
>> Flyingvoice
>> Yeastar
>> Grandstream
>>
>> In each case, I have captured:
>>
>> 1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL
>> payloads (packets.pcap) 2. Audio recordings of the FXS port, from the
>> ATA's perspective (voice*.raw) 3. Debug/console logs from the DSP
>> captured during the session (console.log)
>>
>> In the case of Flyingvoice: both the TX and RX channels are included
>> in a single 2-channel PCM recording, 16-bits @ 16kHz
>>
>> In the case of both Yeastar and Grandsteam: TX and RX are separate,
>> 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @
>> 8kHz
>>
>> There are no WAV headers, but you should be able to import the raw
>> PCM into e.g. Audacity by specifying the above characteristics
>> manually during import.
>>
>> The files are available at
>> http://projects.fsr.com/ata-fax-captures.zip for anybody who is
>> interested/curious.
>>
>> I don't have any audio captures of successful fax reception from the
>> Moto. All of the audio captures I made for these other ATAs was from
>> the perspective of the ATA (both what it was hearing on the FXS port,
>> as well as what audio the DSP was generating and putting out on the
>> FXS port), using debug tools built into the ATAs themselves for
>> capturing them. I have not found a way to get the Motorola to do the
>> same thing, so to capture its audio, I'd have to put an analog tap in
>> place in between the ATA and the fax modem and re-digitize it (which
>> I could do, if anybody is curious to see that). I do have pcaps of
>> successful fax reception via the Moto (both with and without ECM),
>> though, if people care to see those.
>>
>> -- Nathan
>>
>> -----Original Message-----
>> From: Jeff Brower [mailto:jbrower@signalogic.com]
>> Sent: Monday, February 16, 2026 07:37
>> To: Nathan Anderson
>> Cc: voiceops(a)voiceops.org
>> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
>> problem
>>
>> Hi Nathan,
>>
>> What captures do you have ? Are those wav or other audio format files
>> ? How long are the captures and do you know or can guess how far into
>> the capture is the first sign of trouble ?
>>
>> I assume when you say working that's the Mot ATA output and
>> non-working is one of the failing ATAs, with no changes in
>> transmission conditions or settings. I.e. everything is exactly the
>> same but somehow the Mot ATA output is a tiny tad better / different.
>>
>> -Jeff
>>
>> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>>
>>> Raising this thread from the dead to see if anybody else who
>>> might've missed it the first time has any bright ideas.
>>>
>>> Shortly after I made the original post, a very kind gent with some
>>> actual DSP and fax-specific experience responded off-list, asking
>>> for some captures of working and non-working sessions. I sent those
>>> along, but unfortunately he seems to have dropped off the face of
>>> the earth. :-( Not that I really blame him...he was graciously
>>> volunteering his free time and expertise, and life is busy. But it
>>> just means I effectively lost one of the only leads I had.
>>>
>>> I'm desperate enough that now I'm willing to start naming names in
>>> public. At this point, I've run into nearly-identical T.38
>>> receive-specific problems with products I've tested from all of
>>> these vendors:
>>>
>>> * Grandstream
>>> * Yeastar
>>> * Flyingvoice
>>> * (HP/)Poly(com) (f/k/a Obihai)
>>> * ...even Adtran
>>>
>>> It is mind-blowing to me that the only ATA I have ever found that
>>> works reliably with T.38 *reception* regardless of what modem I hook
>>> up to it is the freaking ancient Motorola model that I can't get
>>> anymore. The modes of failure across all of the newer ATAs that
>>> don't work are so strikingly similar that either I'm consistently
>>> doing something wrong without realizing it, or all of the engineers
>>> behind these products made the same wrong assumptions in their fax
>>> DSP code that do not hold true across all fax modems (or perhaps
>>> they share some [bad] code in common with each other! ...I do have
>>> reason to believe that at least 2 of the above vendors are using the
>>> open-source SpanDSP project/library to implement their T.38 gateway
>>> stack in their firmware!!)
>>>
>>> With the modem I've been testing against, the Grandstream just fails
>>> to receive entirely. The Flyingvoice adapter, on the other hand,
>>> will eventually succeed, but only after it trains all the way down
>>> to 2400-4800bps. I have had tickets open with both Grandstream and
>>> Flyingvoice for months now; they seem to be going nowhere, though to
>>> their credit they haven't given up (or at least the front-line
>>> support people updating the ticket continue to put on a brave face).
>>> Yeastar (which also just fails entirely) threw in the towel within
>>> days when I tried to ask them. I had forgotten that I ran into an
>>> extremely similar problem with Adtran a few years back that their
>>> support people also never solved.
>>>
>>> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
>>> I've tried is a 300-series, which is now discontinued & replaced
>>> with the 400-series, so HP/Poly support won't touch it. I have
>>> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
>>> tickets with both, but I just know I'm in for a bad time with both
>>> company's TACs if I do.
>>>
>>> Help me, Obi-Wan Kenobi...
>>>
>>> -- Nathan
>>>
>>> -----Original Message-----
>>> From: Nathan Anderson
>>> Sent: Thursday, November 13, 2025 23:21
>>> To: Voiceops
>>> Subject: Bizarre T.38 gateway/DSP modem interop problem
>>>
>>> (...or, "Any currently-manufactured ATAs with a T.38 gateway
>>> implementation worth a damn?")
>>>
>>> Perhaps some will find this shocking, but for the longest time, we
>>> have been using Motorola VT1005 as our basic, low-port-count TA. We
>>> had lucked into a large source of overstock, still-new-in-box units
>>> for cheap some time ago, but that source is now gone. So we are
>>> shopping around for a new model to take its place.
>>>
>>> Part of the reason we stuck with the venerable Moto for so long was
>>> because our wish list looked like this:
>>>
>>> 1. Reasonable price point
>>> 2. Good performance for price
>>> 3. Solid T.38 implementation
>>>
>>> More to the point, we preferred a single TA that could fulfill all
>>> requirements, rather than having to stock multiple different models
>>> (e.g. one for voice-only, another for customers who actually cared
>>> about fax, etc.). And for the residential/SOHO crowd, it struck me
>>> as ridiculous that some 1-2 port count TAs out there often have
>>> MSRPs that are higher than the routers they're going to be sitting
>>> behind (I'm looking at you, Cisco...).
>>>
>>> The thing about the VT1005 is that not only did it have a solid T.38
>>> gateway feature, but it was hands-down the MOST bullet-proof
>>> implementation I have EVER run across, period. It "just works".
>>> Even if I was okay with stocking a special model for our fax-using
>>> customers, and even if price was no object, I seemingly CANNOT buy
>>> another TA with as good an implementation for love nor money. It
>>> was the same story every time: every couple of years, I'd order
>>> another TA model and/or pull out some previous eval units we'd
>>> acquired before & update their firmwares, re-test them, and still
>>> run into tons of issues. So as long as the Moto was still
>>> available, I just kept kicking the can down the road.
>>>
>>> I'm going through that same hell again now, and I have realized over
>>> the last few weeks of opening tickets with hardware vendors &
>>> tearing my hair out that there is a common thread to my failing fax
>>> tests.
>>>
>>> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
>>> modems train with each other at 14400bps, pages are sent
>>> successfully).
>>> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
>>> the receiving modem -- the one plugged into the TA on our side --
>>> always Fails To Train at virtually any speed) 3. ...though #2 is
>>> only true with CERTAIN fax modems, while others can receive faxes
>>> with non-Moto ATAs JUST FINE, at speeds up to 14400bps
>>>
>>> The fax modem I usually run my tests through is a cheap little
>>> USB-based hardware modem, but one with only Class 1.0 fax support.
>>> It's based on what seems to be a fairly ubiquitous Conexant chipset,
>>> the CX93010. When paired with Windows Fax & Scan and connected to a
>>> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
>>> when paired with literally any other ATA with T.38 support that I've
>>> tried, it will either attempt but fail to train at 14400bps all the
>>> way down to 2400bps, or (with one ATA in particular) it will finally
>>> successfully train and send CFR after training all the way down to
>>> 4800bps, or 2400bps at the worst.
>>>
>>> As far as I can tell, this is not strictly speaking a T.38 problem
>>> per-se. This is an issue seemingly with the DSP on the ATA that's
>>> emulating the remote modem, and there is something about most of
>>> these DSP implementations that at least this particular
>>> Conexant-based modem does NOT like. It can send faxes through these
>>> ATAs all day long, but whatever tones these TAs are generating, the
>>> Conexant just isn't having it.
>>>
>>> If I sub in a different fax machine in its place (e.g. big HP
>>> multifunction Laserjet), fax reception (mostly) works great through
>>> a lot of these same ATAs. And similarly, if I just put the Moto
>>> back in service with the Conexant modem, that also works just fine.
>>>
>>> Now, sure, blaming the modem is fair game. And I don't discount the
>>> possibility that there is something that it's doing wrong. The
>>> thing is...the Moto VT just freaking works with it. And the fact
>>> that there is at least one modem model out there -- one with a
>>> common enough chipset -- that virtually all currently-manufactured
>>> TA models out there spouting T.38 support cannot interop with makes
>>> me concerned that I'm likely going to run into more such interop
>>> problems in the field with customers' own fax equipment, after we
>>> start deploying & the TA we choose to go with is suddenly exposed to
>>> a much more, erm, diverse crowd of fax machine models.
>>>
>>> What on earth could this modem could be so sensitive to that it
>>> doesn't work with any of the TAs I've tested with it (other than the
>>> Moto)...?
>>>
>>> --
>>> Nathan Anderson
>>> First Step Internet, LLC
>>> nathana(a)fsr.com
>>>
>>> _______________________________________________
>>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>>
>>
>> _______________________________________________
>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
1
0
Adam,
Wow, I had not spotted that, and that is a very interesting theory...
I will just point out that if you re-scrutinize the Flyingvoice capture, it does not end in "...eventual failure" like the other ones do. It eventually succeeds training at V.27ter @ 4800bps (DIS @ #1748, followed by CFR @ #1831). This is consistent behavior on the Flyingvoice: it works, just no faster than 4800 (and with some remote terminals, it has trouble even at 4800 but does train at 2400). The Grandstream, however, is also consistent: it consistently *fails* to train, at every rate, every time I test it.
So yes, I suppose it is possible that the Grandstream, at the very least, is perhaps "cacheing" the original value for that flag & ignoring the fact that it has changed in subsequent DIS frames. If that's happening, then to return back to what seems to have become the theme of this discussion, likely the only way to verify that would be to capture the actual audio from ATA to fax modem, and try to decode it.
But that doesn't quite explain the Flyingvoice's behavior. Unless it has a similar bug, but one where it eventually picks up on the change in negotiated fax control/feature flags?
-- Nathan
-----Original Message-----
From: Adam Maloney via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Thursday, February 19, 2026 10:04
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Thanks for posting this.
In the success pcap, the first and second (final) DIS packets (#726 and #788) have in the T.30 flags "Two dimensional coding capability" set to 0 (not supported). I think your Class 1 softmodem doesn't support this. I have even money on whether the Moto ATA doesn't support it too which is why that combination ATA/modem works.
vt1005-fax-rx-success.pcap:
#726 DIS v.27ter v.29 v.17 Two dimensional coding capability: 0
#788 DIS 14.4k v.17 Two dimensional coding capability: 0 ...Successful negotiation at 14.4 and fax proceeds
In the Yeastar failure pcap, all of those DIS packets have that flag set.
Yeastar packets.pcap:
#377 DIS v.27ter v.29 v.17 Two dimensional coding capability: 1
#411 DIS (14.4k v.17) Two dimensional coding capability: 1
#504 DIS (14.4k v.17) Two dimensional coding capability: 1 (re-train)
#602 DIS (12k v.17) Two dimensional coding capability: 1 (re-train)
This continues through all of the retrains all the way down to 2400 until it eventually fails completely:
#693 12kbit/s Two dimensional coding capability: 1 (re-train)
#793 9600 Two dimensional coding capability: 1 (re-train)
#882 9600 Two dimensional coding capability: 1 (re-train)
#982 7200 Two dimensional coding capability: 1 (re-train)
#1071 7200 Two dimensional coding capability: 1 (re-train)
#1171 4800 Two dimensional coding capability: 1 (re-train)
#1262 2400 Two dimensional coding capability: 1 (re-train)
#1362 2400 Two dimensional coding capability: 1 (re-train)
#1431 disconnect
The Flyingvoice and Grandstream pcaps both have that bit set from the first DIS packet, and then unset for the remaining packets:
Flyingvoice packets.pcap:
#726 Two dimensional coding capability: 1
#766 Two dimensional coding capability: 0
#880 Two dimensional coding capability: 0 (re-train)
#1014 Two dimensional coding capability: 0 (re-train)
#1131 Two dimensional coding capability: 0 (re-train) ...eventual failure
Grandstream packets.pcap:
#401 Two dimensional coding capability: 1
#437 Two dimensional coding capability: 0
#548 Two dimensional coding capability: 0 (re-train)
#674 Two dimensional coding capability: 0 (re-train) ...eventual failure
My theory is when that bit gets set from the get-go (all but the Moto ATA) it persists in negotiations on the ATA->Modem side even though it's changing on the t.38 side.
I'm not at all familiar with what that particular feature is but a quick Google shows a bunch of devices support it. Maybe with the right sending device it's something you can turn on and off to confirm if this one bit really is the culprit.
Adam Maloney
612.327.5713
adam(a)whee.org
adam(a)amaloneyconsulting.com
-----Original Message-----
From: Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>
Sent: Wednesday, February 18, 2026 11:31 PM
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I don't think you're missing anything. Like I mentioned, someone else asked for just the pcap if I had one sitting around, which I did, so I sent it on to him, and figured I'd share it here, too. But I attached those other comments when I did so, which basically state what you summed up so well in much fewer words: it seems highly unlikely that the pcaps alone are able to tell the story here.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Wednesday, February 18, 2026 21:17
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
But the pcap would be same, right ? The Mot ATA gets a packet flow, converts to audio, and the fax modem is happy. A failing ATA gets the same packet flow, converts to audio with some as-of-yet-unknown difference, and the modem is unhappy.
What am I missing ?
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> I haven't yet done an audio capture of a successful fax RX with the
> Motorola ATA, but I had a pcap of such a session already kicking
> around from a couple of months ago, and somebody off-list just asked
> for a pcap of that (without the audio), so for anybody playing along,
> I figured I might as well also post it here.
>
> So, here it is: http://projects.fsr.com/vt1005-fax-rx-success.pcap
>
> I also sent these comments along with it:
>
> I'm not really seeing anything much when comparing between them other
> than that the receiving modem just repeatedly responds with Failure To
> Train (FTT) for nearly every modulation training effort with the other
> ATAs (except for the Flyingvoice one, where it will typically
> eventually succeed at either 4800 or 2400bps), but when I throw the
> Motorola in play, suddenly the same modem can train and receive at
> 14400bps no problem.
>
> This leads me to hypothesize that there is something in particular
> about the *modulated audio* these other ATAs are generating that this
> particular modem just doesn't like; maybe it is just "too picky"
> relative to most other fax modems, and these other ATAs are generating
> a modulated signal that is slightly outside of spec somehow. If
> that's the case, I'm not really sure how to deduce what the actual
> problem is without also analyzing the audio from the ATAs relative to
> each other, and even if one has the audio, it may still not be obvious
> what the fax modem is balking at without being able to somehow get
> into the guts of the fax modem's own firmware at a low level
> (specifically, *why* is it unhappy with the training signal it's
> getting from the ATA / what does it consider to be wrong with it).
>
> That this is a DSP-level problem with these ATAs is also -- I think
> -- backed up by the observation that fax TX nearly always works at
> full-speed, and it's only RX that fails. When the modem hooked up to
> the ATA is transmitting, the larger burden is on the ATA to understand
> what the modem is saying (the ATA is mostly listening), whereas during
> fax reception, this is the other way around: the ATA is generating the
> modulated data (is mostly speaking) but the modem can't understand it.
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Tuesday, February 17, 2026 18:50
> To: voiceops(a)voiceops.org
> Subject: RE: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Jeff,
>
> I'm more than happy to collect captures from the "good" one, and
> re-collect captures from the "bad" ones. The captures I provided were
> just the ones I took when asked to by someone else a few months back,
> and he said he didn't particularly care about the captures from the
> "good" one, so I assumed he already had something specific in mind
> that he suspected might be the problem that perhaps he could
> identify/confirm easily just by looking at the failing captures.
> (Also, in my dealings with Yeastar, Grandstream, Flyingvoice, and even
> Adtran support, they always have asked for straight-off-the-DSP
> taps. Though I agree: you can't detect every problem with those.
> Like, what if something's going wrong with the DAC and/or
> amplification circuitry?)
>
> When I have a few minutes sometime in the next few days, I'll
> reproduce the issue again and re-capture it, this time with analog
> taps.
>
> -- Nathan
>
> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@signalogic.com]
> Sent: Tuesday, February 17, 2026 17:07
> To: Nathan Anderson
> Cc: voiceops(a)voiceops.org
> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Hi Nathan,
>
> If you want help, you might be making it a tad hard. You need to have
> audio output both from the Mot ATA and at least one failing ATA.
> Getting that from the ATA output (actual RJ-11 line) is the only way
> -- I wouldn't trust "debug outputs" further than I can throw a rock. I
> used to work on a wide range of DSP based devices, and debug/test
> outputs were never a high priority, did not include everything on the
> actual I/O lines, and only got updated from time-to-time.
>
> But from your subsequent mails it seems you're making progress, so
> things are looking good :-)
>
> -Jeff
>
> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>
>> Jeff,
>>
>> Yes, correct: in my test environment, I simply swap out one of the
>> many "bad" ATAs for the Moto ATA (or vice-versa), and have it
>> register to the exact same SIP proxy while plugged into the exact
>> same fax modem, receiving test faxes from the same remote machines.
>> When using a specific fax modem, the Moto succeeds, the others fail.
>> If I change out the fax modem for a different one (different model),
>> the success rate of the non-Moto ATAs goes up.
>>
>> I have taken captures from ATAs by 3 vendors while using the "sus" modem:
>>
>> Flyingvoice
>> Yeastar
>> Grandstream
>>
>> In each case, I have captured:
>>
>> 1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL
>> payloads (packets.pcap) 2. Audio recordings of the FXS port, from the
>> ATA's perspective (voice*.raw) 3. Debug/console logs from the DSP
>> captured during the session (console.log)
>>
>> In the case of Flyingvoice: both the TX and RX channels are included
>> in a single 2-channel PCM recording, 16-bits @ 16kHz
>>
>> In the case of both Yeastar and Grandsteam: TX and RX are separate,
>> 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @
>> 8kHz
>>
>> There are no WAV headers, but you should be able to import the raw
>> PCM into e.g. Audacity by specifying the above characteristics
>> manually during import.
>>
>> The files are available at
>> http://projects.fsr.com/ata-fax-captures.zip for anybody who is
>> interested/curious.
>>
>> I don't have any audio captures of successful fax reception from the
>> Moto. All of the audio captures I made for these other ATAs was from
>> the perspective of the ATA (both what it was hearing on the FXS port,
>> as well as what audio the DSP was generating and putting out on the
>> FXS port), using debug tools built into the ATAs themselves for
>> capturing them. I have not found a way to get the Motorola to do the
>> same thing, so to capture its audio, I'd have to put an analog tap in
>> place in between the ATA and the fax modem and re-digitize it (which
>> I could do, if anybody is curious to see that). I do have pcaps of
>> successful fax reception via the Moto (both with and without ECM),
>> though, if people care to see those.
>>
>> -- Nathan
>>
>> -----Original Message-----
>> From: Jeff Brower [mailto:jbrower@signalogic.com]
>> Sent: Monday, February 16, 2026 07:37
>> To: Nathan Anderson
>> Cc: voiceops(a)voiceops.org
>> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
>> problem
>>
>> Hi Nathan,
>>
>> What captures do you have ? Are those wav or other audio format files
>> ? How long are the captures and do you know or can guess how far into
>> the capture is the first sign of trouble ?
>>
>> I assume when you say working that's the Mot ATA output and
>> non-working is one of the failing ATAs, with no changes in
>> transmission conditions or settings. I.e. everything is exactly the
>> same but somehow the Mot ATA output is a tiny tad better / different.
>>
>> -Jeff
>>
>> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>>
>>> Raising this thread from the dead to see if anybody else who
>>> might've missed it the first time has any bright ideas.
>>>
>>> Shortly after I made the original post, a very kind gent with some
>>> actual DSP and fax-specific experience responded off-list, asking
>>> for some captures of working and non-working sessions. I sent those
>>> along, but unfortunately he seems to have dropped off the face of
>>> the earth. :-( Not that I really blame him...he was graciously
>>> volunteering his free time and expertise, and life is busy. But it
>>> just means I effectively lost one of the only leads I had.
>>>
>>> I'm desperate enough that now I'm willing to start naming names in
>>> public. At this point, I've run into nearly-identical T.38
>>> receive-specific problems with products I've tested from all of
>>> these vendors:
>>>
>>> * Grandstream
>>> * Yeastar
>>> * Flyingvoice
>>> * (HP/)Poly(com) (f/k/a Obihai)
>>> * ...even Adtran
>>>
>>> It is mind-blowing to me that the only ATA I have ever found that
>>> works reliably with T.38 *reception* regardless of what modem I hook
>>> up to it is the freaking ancient Motorola model that I can't get
>>> anymore. The modes of failure across all of the newer ATAs that
>>> don't work are so strikingly similar that either I'm consistently
>>> doing something wrong without realizing it, or all of the engineers
>>> behind these products made the same wrong assumptions in their fax
>>> DSP code that do not hold true across all fax modems (or perhaps
>>> they share some [bad] code in common with each other! ...I do have
>>> reason to believe that at least 2 of the above vendors are using the
>>> open-source SpanDSP project/library to implement their T.38 gateway
>>> stack in their firmware!!)
>>>
>>> With the modem I've been testing against, the Grandstream just fails
>>> to receive entirely. The Flyingvoice adapter, on the other hand,
>>> will eventually succeed, but only after it trains all the way down
>>> to 2400-4800bps. I have had tickets open with both Grandstream and
>>> Flyingvoice for months now; they seem to be going nowhere, though to
>>> their credit they haven't given up (or at least the front-line
>>> support people updating the ticket continue to put on a brave face).
>>> Yeastar (which also just fails entirely) threw in the towel within
>>> days when I tried to ask them. I had forgotten that I ran into an
>>> extremely similar problem with Adtran a few years back that their
>>> support people also never solved.
>>>
>>> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
>>> I've tried is a 300-series, which is now discontinued & replaced
>>> with the 400-series, so HP/Poly support won't touch it. I have
>>> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
>>> tickets with both, but I just know I'm in for a bad time with both
>>> company's TACs if I do.
>>>
>>> Help me, Obi-Wan Kenobi...
>>>
>>> -- Nathan
>>>
>>> -----Original Message-----
>>> From: Nathan Anderson
>>> Sent: Thursday, November 13, 2025 23:21
>>> To: Voiceops
>>> Subject: Bizarre T.38 gateway/DSP modem interop problem
>>>
>>> (...or, "Any currently-manufactured ATAs with a T.38 gateway
>>> implementation worth a damn?")
>>>
>>> Perhaps some will find this shocking, but for the longest time, we
>>> have been using Motorola VT1005 as our basic, low-port-count TA. We
>>> had lucked into a large source of overstock, still-new-in-box units
>>> for cheap some time ago, but that source is now gone. So we are
>>> shopping around for a new model to take its place.
>>>
>>> Part of the reason we stuck with the venerable Moto for so long was
>>> because our wish list looked like this:
>>>
>>> 1. Reasonable price point
>>> 2. Good performance for price
>>> 3. Solid T.38 implementation
>>>
>>> More to the point, we preferred a single TA that could fulfill all
>>> requirements, rather than having to stock multiple different models
>>> (e.g. one for voice-only, another for customers who actually cared
>>> about fax, etc.). And for the residential/SOHO crowd, it struck me
>>> as ridiculous that some 1-2 port count TAs out there often have
>>> MSRPs that are higher than the routers they're going to be sitting
>>> behind (I'm looking at you, Cisco...).
>>>
>>> The thing about the VT1005 is that not only did it have a solid T.38
>>> gateway feature, but it was hands-down the MOST bullet-proof
>>> implementation I have EVER run across, period. It "just works".
>>> Even if I was okay with stocking a special model for our fax-using
>>> customers, and even if price was no object, I seemingly CANNOT buy
>>> another TA with as good an implementation for love nor money. It
>>> was the same story every time: every couple of years, I'd order
>>> another TA model and/or pull out some previous eval units we'd
>>> acquired before & update their firmwares, re-test them, and still
>>> run into tons of issues. So as long as the Moto was still
>>> available, I just kept kicking the can down the road.
>>>
>>> I'm going through that same hell again now, and I have realized over
>>> the last few weeks of opening tickets with hardware vendors &
>>> tearing my hair out that there is a common thread to my failing fax
>>> tests.
>>>
>>> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
>>> modems train with each other at 14400bps, pages are sent
>>> successfully).
>>> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
>>> the receiving modem -- the one plugged into the TA on our side --
>>> always Fails To Train at virtually any speed) 3. ...though #2 is
>>> only true with CERTAIN fax modems, while others can receive faxes
>>> with non-Moto ATAs JUST FINE, at speeds up to 14400bps
>>>
>>> The fax modem I usually run my tests through is a cheap little
>>> USB-based hardware modem, but one with only Class 1.0 fax support.
>>> It's based on what seems to be a fairly ubiquitous Conexant chipset,
>>> the CX93010. When paired with Windows Fax & Scan and connected to a
>>> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
>>> when paired with literally any other ATA with T.38 support that I've
>>> tried, it will either attempt but fail to train at 14400bps all the
>>> way down to 2400bps, or (with one ATA in particular) it will finally
>>> successfully train and send CFR after training all the way down to
>>> 4800bps, or 2400bps at the worst.
>>>
>>> As far as I can tell, this is not strictly speaking a T.38 problem
>>> per-se. This is an issue seemingly with the DSP on the ATA that's
>>> emulating the remote modem, and there is something about most of
>>> these DSP implementations that at least this particular
>>> Conexant-based modem does NOT like. It can send faxes through these
>>> ATAs all day long, but whatever tones these TAs are generating, the
>>> Conexant just isn't having it.
>>>
>>> If I sub in a different fax machine in its place (e.g. big HP
>>> multifunction Laserjet), fax reception (mostly) works great through
>>> a lot of these same ATAs. And similarly, if I just put the Moto
>>> back in service with the Conexant modem, that also works just fine.
>>>
>>> Now, sure, blaming the modem is fair game. And I don't discount the
>>> possibility that there is something that it's doing wrong. The
>>> thing is...the Moto VT just freaking works with it. And the fact
>>> that there is at least one modem model out there -- one with a
>>> common enough chipset -- that virtually all currently-manufactured
>>> TA models out there spouting T.38 support cannot interop with makes
>>> me concerned that I'm likely going to run into more such interop
>>> problems in the field with customers' own fax equipment, after we
>>> start deploying & the TA we choose to go with is suddenly exposed to
>>> a much more, erm, diverse crowd of fax machine models.
>>>
>>> What on earth could this modem could be so sensitive to that it
>>> doesn't work with any of the TAs I've tested with it (other than the
>>> Moto)...?
>>>
>>> --
>>> Nathan Anderson
>>> First Step Internet, LLC
>>> nathana(a)fsr.com
>>>
>>> _______________________________________________
>>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>>
>>
>> _______________________________________________
>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
1
0
Thanks for posting this.
In the success pcap, the first and second (final) DIS packets (#726 and #788) have in the T.30 flags "Two dimensional coding capability" set to 0 (not supported). I think your Class 1 softmodem doesn't support this. I have even money on whether the Moto ATA doesn't support it too which is why that combination ATA/modem works.
vt1005-fax-rx-success.pcap:
#726 DIS v.27ter v.29 v.17 Two dimensional coding capability: 0
#788 DIS 14.4k v.17 Two dimensional coding capability: 0 ...Successful negotiation at 14.4 and fax proceeds
In the Yeastar failure pcap, all of those DIS packets have that flag set.
Yeastar packets.pcap:
#377 DIS v.27ter v.29 v.17 Two dimensional coding capability: 1
#411 DIS (14.4k v.17) Two dimensional coding capability: 1
#504 DIS (14.4k v.17) Two dimensional coding capability: 1 (re-train)
#602 DIS (12k v.17) Two dimensional coding capability: 1 (re-train)
This continues through all of the retrains all the way down to 2400 until it eventually fails completely:
#693 12kbit/s Two dimensional coding capability: 1 (re-train)
#793 9600 Two dimensional coding capability: 1 (re-train)
#882 9600 Two dimensional coding capability: 1 (re-train)
#982 7200 Two dimensional coding capability: 1 (re-train)
#1071 7200 Two dimensional coding capability: 1 (re-train)
#1171 4800 Two dimensional coding capability: 1 (re-train)
#1262 2400 Two dimensional coding capability: 1 (re-train)
#1362 2400 Two dimensional coding capability: 1 (re-train)
#1431 disconnect
The Flyingvoice and Grandstream pcaps both have that bit set from the first DIS packet, and then unset for the remaining packets:
Flyingvoice packets.pcap:
#726 Two dimensional coding capability: 1
#766 Two dimensional coding capability: 0
#880 Two dimensional coding capability: 0 (re-train)
#1014 Two dimensional coding capability: 0 (re-train)
#1131 Two dimensional coding capability: 0 (re-train) ...eventual failure
Grandstream packets.pcap:
#401 Two dimensional coding capability: 1
#437 Two dimensional coding capability: 0
#548 Two dimensional coding capability: 0 (re-train)
#674 Two dimensional coding capability: 0 (re-train) ...eventual failure
My theory is when that bit gets set from the get-go (all but the Moto ATA) it persists in negotiations on the ATA->Modem side even though it's changing on the t.38 side.
I'm not at all familiar with what that particular feature is but a quick Google shows a bunch of devices support it. Maybe with the right sending device it's something you can turn on and off to confirm if this one bit really is the culprit.
Adam Maloney
612.327.5713
adam(a)whee.org
adam(a)amaloneyconsulting.com
-----Original Message-----
From: Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>
Sent: Wednesday, February 18, 2026 11:31 PM
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I don't think you're missing anything. Like I mentioned, someone else asked for just the pcap if I had one sitting around, which I did, so I sent it on to him, and figured I'd share it here, too. But I attached those other comments when I did so, which basically state what you summed up so well in much fewer words: it seems highly unlikely that the pcaps alone are able to tell the story here.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Wednesday, February 18, 2026 21:17
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
But the pcap would be same, right ? The Mot ATA gets a packet flow, converts to audio, and the fax modem is happy. A failing ATA gets the same packet flow, converts to audio with some as-of-yet-unknown difference, and the modem is unhappy.
What am I missing ?
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> I haven't yet done an audio capture of a successful fax RX with the
> Motorola ATA, but I had a pcap of such a session already kicking
> around from a couple of months ago, and somebody off-list just asked
> for a pcap of that (without the audio), so for anybody playing along,
> I figured I might as well also post it here.
>
> So, here it is: http://projects.fsr.com/vt1005-fax-rx-success.pcap
>
> I also sent these comments along with it:
>
> I'm not really seeing anything much when comparing between them other
> than that the receiving modem just repeatedly responds with Failure To
> Train (FTT) for nearly every modulation training effort with the other
> ATAs (except for the Flyingvoice one, where it will typically
> eventually succeed at either 4800 or 2400bps), but when I throw the
> Motorola in play, suddenly the same modem can train and receive at
> 14400bps no problem.
>
> This leads me to hypothesize that there is something in particular
> about the *modulated audio* these other ATAs are generating that this
> particular modem just doesn't like; maybe it is just "too picky"
> relative to most other fax modems, and these other ATAs are generating
> a modulated signal that is slightly outside of spec somehow. If
> that's the case, I'm not really sure how to deduce what the actual
> problem is without also analyzing the audio from the ATAs relative to
> each other, and even if one has the audio, it may still not be obvious
> what the fax modem is balking at without being able to somehow get
> into the guts of the fax modem's own firmware at a low level
> (specifically, *why* is it unhappy with the training signal it's
> getting from the ATA / what does it consider to be wrong with it).
>
> That this is a DSP-level problem with these ATAs is also -- I think
> -- backed up by the observation that fax TX nearly always works at
> full-speed, and it's only RX that fails. When the modem hooked up to
> the ATA is transmitting, the larger burden is on the ATA to understand
> what the modem is saying (the ATA is mostly listening), whereas during
> fax reception, this is the other way around: the ATA is generating the
> modulated data (is mostly speaking) but the modem can't understand it.
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Tuesday, February 17, 2026 18:50
> To: voiceops(a)voiceops.org
> Subject: RE: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Jeff,
>
> I'm more than happy to collect captures from the "good" one, and
> re-collect captures from the "bad" ones. The captures I provided were
> just the ones I took when asked to by someone else a few months back,
> and he said he didn't particularly care about the captures from the
> "good" one, so I assumed he already had something specific in mind
> that he suspected might be the problem that perhaps he could
> identify/confirm easily just by looking at the failing captures.
> (Also, in my dealings with Yeastar, Grandstream, Flyingvoice, and even
> Adtran support, they always have asked for straight-off-the-DSP
> taps. Though I agree: you can't detect every problem with those.
> Like, what if something's going wrong with the DAC and/or
> amplification circuitry?)
>
> When I have a few minutes sometime in the next few days, I'll
> reproduce the issue again and re-capture it, this time with analog
> taps.
>
> -- Nathan
>
> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@signalogic.com]
> Sent: Tuesday, February 17, 2026 17:07
> To: Nathan Anderson
> Cc: voiceops(a)voiceops.org
> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
> problem
>
> Hi Nathan,
>
> If you want help, you might be making it a tad hard. You need to have
> audio output both from the Mot ATA and at least one failing ATA.
> Getting that from the ATA output (actual RJ-11 line) is the only way
> -- I wouldn't trust "debug outputs" further than I can throw a rock. I
> used to work on a wide range of DSP based devices, and debug/test
> outputs were never a high priority, did not include everything on the
> actual I/O lines, and only got updated from time-to-time.
>
> But from your subsequent mails it seems you're making progress, so
> things are looking good :-)
>
> -Jeff
>
> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>
>> Jeff,
>>
>> Yes, correct: in my test environment, I simply swap out one of the
>> many "bad" ATAs for the Moto ATA (or vice-versa), and have it
>> register to the exact same SIP proxy while plugged into the exact
>> same fax modem, receiving test faxes from the same remote machines.
>> When using a specific fax modem, the Moto succeeds, the others fail.
>> If I change out the fax modem for a different one (different model),
>> the success rate of the non-Moto ATAs goes up.
>>
>> I have taken captures from ATAs by 3 vendors while using the "sus" modem:
>>
>> Flyingvoice
>> Yeastar
>> Grandstream
>>
>> In each case, I have captured:
>>
>> 1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL
>> payloads (packets.pcap) 2. Audio recordings of the FXS port, from the
>> ATA's perspective (voice*.raw) 3. Debug/console logs from the DSP
>> captured during the session (console.log)
>>
>> In the case of Flyingvoice: both the TX and RX channels are included
>> in a single 2-channel PCM recording, 16-bits @ 16kHz
>>
>> In the case of both Yeastar and Grandsteam: TX and RX are separate,
>> 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @
>> 8kHz
>>
>> There are no WAV headers, but you should be able to import the raw
>> PCM into e.g. Audacity by specifying the above characteristics
>> manually during import.
>>
>> The files are available at
>> http://projects.fsr.com/ata-fax-captures.zip for anybody who is
>> interested/curious.
>>
>> I don't have any audio captures of successful fax reception from the
>> Moto. All of the audio captures I made for these other ATAs was from
>> the perspective of the ATA (both what it was hearing on the FXS port,
>> as well as what audio the DSP was generating and putting out on the
>> FXS port), using debug tools built into the ATAs themselves for
>> capturing them. I have not found a way to get the Motorola to do the
>> same thing, so to capture its audio, I'd have to put an analog tap in
>> place in between the ATA and the fax modem and re-digitize it (which
>> I could do, if anybody is curious to see that). I do have pcaps of
>> successful fax reception via the Moto (both with and without ECM),
>> though, if people care to see those.
>>
>> -- Nathan
>>
>> -----Original Message-----
>> From: Jeff Brower [mailto:jbrower@signalogic.com]
>> Sent: Monday, February 16, 2026 07:37
>> To: Nathan Anderson
>> Cc: voiceops(a)voiceops.org
>> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop
>> problem
>>
>> Hi Nathan,
>>
>> What captures do you have ? Are those wav or other audio format files
>> ? How long are the captures and do you know or can guess how far into
>> the capture is the first sign of trouble ?
>>
>> I assume when you say working that's the Mot ATA output and
>> non-working is one of the failing ATAs, with no changes in
>> transmission conditions or settings. I.e. everything is exactly the
>> same but somehow the Mot ATA output is a tiny tad better / different.
>>
>> -Jeff
>>
>> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>>
>>> Raising this thread from the dead to see if anybody else who
>>> might've missed it the first time has any bright ideas.
>>>
>>> Shortly after I made the original post, a very kind gent with some
>>> actual DSP and fax-specific experience responded off-list, asking
>>> for some captures of working and non-working sessions. I sent those
>>> along, but unfortunately he seems to have dropped off the face of
>>> the earth. :-( Not that I really blame him...he was graciously
>>> volunteering his free time and expertise, and life is busy. But it
>>> just means I effectively lost one of the only leads I had.
>>>
>>> I'm desperate enough that now I'm willing to start naming names in
>>> public. At this point, I've run into nearly-identical T.38
>>> receive-specific problems with products I've tested from all of
>>> these vendors:
>>>
>>> * Grandstream
>>> * Yeastar
>>> * Flyingvoice
>>> * (HP/)Poly(com) (f/k/a Obihai)
>>> * ...even Adtran
>>>
>>> It is mind-blowing to me that the only ATA I have ever found that
>>> works reliably with T.38 *reception* regardless of what modem I hook
>>> up to it is the freaking ancient Motorola model that I can't get
>>> anymore. The modes of failure across all of the newer ATAs that
>>> don't work are so strikingly similar that either I'm consistently
>>> doing something wrong without realizing it, or all of the engineers
>>> behind these products made the same wrong assumptions in their fax
>>> DSP code that do not hold true across all fax modems (or perhaps
>>> they share some [bad] code in common with each other! ...I do have
>>> reason to believe that at least 2 of the above vendors are using the
>>> open-source SpanDSP project/library to implement their T.38 gateway
>>> stack in their firmware!!)
>>>
>>> With the modem I've been testing against, the Grandstream just fails
>>> to receive entirely. The Flyingvoice adapter, on the other hand,
>>> will eventually succeed, but only after it trains all the way down
>>> to 2400-4800bps. I have had tickets open with both Grandstream and
>>> Flyingvoice for months now; they seem to be going nowhere, though to
>>> their credit they haven't given up (or at least the front-line
>>> support people updating the ticket continue to put on a brave face).
>>> Yeastar (which also just fails entirely) threw in the towel within
>>> days when I tried to ask them. I had forgotten that I ran into an
>>> extremely similar problem with Adtran a few years back that their
>>> support people also never solved.
>>>
>>> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
>>> I've tried is a 300-series, which is now discontinued & replaced
>>> with the 400-series, so HP/Poly support won't touch it. I have
>>> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
>>> tickets with both, but I just know I'm in for a bad time with both
>>> company's TACs if I do.
>>>
>>> Help me, Obi-Wan Kenobi...
>>>
>>> -- Nathan
>>>
>>> -----Original Message-----
>>> From: Nathan Anderson
>>> Sent: Thursday, November 13, 2025 23:21
>>> To: Voiceops
>>> Subject: Bizarre T.38 gateway/DSP modem interop problem
>>>
>>> (...or, "Any currently-manufactured ATAs with a T.38 gateway
>>> implementation worth a damn?")
>>>
>>> Perhaps some will find this shocking, but for the longest time, we
>>> have been using Motorola VT1005 as our basic, low-port-count TA. We
>>> had lucked into a large source of overstock, still-new-in-box units
>>> for cheap some time ago, but that source is now gone. So we are
>>> shopping around for a new model to take its place.
>>>
>>> Part of the reason we stuck with the venerable Moto for so long was
>>> because our wish list looked like this:
>>>
>>> 1. Reasonable price point
>>> 2. Good performance for price
>>> 3. Solid T.38 implementation
>>>
>>> More to the point, we preferred a single TA that could fulfill all
>>> requirements, rather than having to stock multiple different models
>>> (e.g. one for voice-only, another for customers who actually cared
>>> about fax, etc.). And for the residential/SOHO crowd, it struck me
>>> as ridiculous that some 1-2 port count TAs out there often have
>>> MSRPs that are higher than the routers they're going to be sitting
>>> behind (I'm looking at you, Cisco...).
>>>
>>> The thing about the VT1005 is that not only did it have a solid T.38
>>> gateway feature, but it was hands-down the MOST bullet-proof
>>> implementation I have EVER run across, period. It "just works".
>>> Even if I was okay with stocking a special model for our fax-using
>>> customers, and even if price was no object, I seemingly CANNOT buy
>>> another TA with as good an implementation for love nor money. It
>>> was the same story every time: every couple of years, I'd order
>>> another TA model and/or pull out some previous eval units we'd
>>> acquired before & update their firmwares, re-test them, and still
>>> run into tons of issues. So as long as the Moto was still
>>> available, I just kept kicking the can down the road.
>>>
>>> I'm going through that same hell again now, and I have realized over
>>> the last few weeks of opening tickets with hardware vendors &
>>> tearing my hair out that there is a common thread to my failing fax
>>> tests.
>>>
>>> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
>>> modems train with each other at 14400bps, pages are sent
>>> successfully).
>>> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
>>> the receiving modem -- the one plugged into the TA on our side --
>>> always Fails To Train at virtually any speed) 3. ...though #2 is
>>> only true with CERTAIN fax modems, while others can receive faxes
>>> with non-Moto ATAs JUST FINE, at speeds up to 14400bps
>>>
>>> The fax modem I usually run my tests through is a cheap little
>>> USB-based hardware modem, but one with only Class 1.0 fax support.
>>> It's based on what seems to be a fairly ubiquitous Conexant chipset,
>>> the CX93010. When paired with Windows Fax & Scan and connected to a
>>> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
>>> when paired with literally any other ATA with T.38 support that I've
>>> tried, it will either attempt but fail to train at 14400bps all the
>>> way down to 2400bps, or (with one ATA in particular) it will finally
>>> successfully train and send CFR after training all the way down to
>>> 4800bps, or 2400bps at the worst.
>>>
>>> As far as I can tell, this is not strictly speaking a T.38 problem
>>> per-se. This is an issue seemingly with the DSP on the ATA that's
>>> emulating the remote modem, and there is something about most of
>>> these DSP implementations that at least this particular
>>> Conexant-based modem does NOT like. It can send faxes through these
>>> ATAs all day long, but whatever tones these TAs are generating, the
>>> Conexant just isn't having it.
>>>
>>> If I sub in a different fax machine in its place (e.g. big HP
>>> multifunction Laserjet), fax reception (mostly) works great through
>>> a lot of these same ATAs. And similarly, if I just put the Moto
>>> back in service with the Conexant modem, that also works just fine.
>>>
>>> Now, sure, blaming the modem is fair game. And I don't discount the
>>> possibility that there is something that it's doing wrong. The
>>> thing is...the Moto VT just freaking works with it. And the fact
>>> that there is at least one modem model out there -- one with a
>>> common enough chipset -- that virtually all currently-manufactured
>>> TA models out there spouting T.38 support cannot interop with makes
>>> me concerned that I'm likely going to run into more such interop
>>> problems in the field with customers' own fax equipment, after we
>>> start deploying & the TA we choose to go with is suddenly exposed to
>>> a much more, erm, diverse crowd of fax machine models.
>>>
>>> What on earth could this modem could be so sensitive to that it
>>> doesn't work with any of the TAs I've tested with it (other than the
>>> Moto)...?
>>>
>>> --
>>> Nathan Anderson
>>> First Step Internet, LLC
>>> nathana(a)fsr.com
>>>
>>> _______________________________________________
>>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>>
>>
>> _______________________________________________
>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
1
0
I don't think you're missing anything. Like I mentioned, someone else asked for just the pcap if I had one sitting around, which I did, so I sent it on to him, and figured I'd share it here, too. But I attached those other comments when I did so, which basically state what you summed up so well in much fewer words: it seems highly unlikely that the pcaps alone are able to tell the story here.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Wednesday, February 18, 2026 21:17
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
But the pcap would be same, right ? The Mot ATA gets a packet flow,
converts to audio, and the fax modem is happy. A failing ATA gets the
same packet flow, converts to audio with some as-of-yet-unknown
difference, and the modem is unhappy.
What am I missing ?
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> I haven't yet done an audio capture of a successful fax RX with the
> Motorola ATA, but I had a pcap of such a session already kicking
> around from a couple of months ago, and somebody off-list just asked
> for a pcap of that (without the audio), so for anybody playing
> along, I figured I might as well also post it here.
>
> So, here it is: http://projects.fsr.com/vt1005-fax-rx-success.pcap
>
> I also sent these comments along with it:
>
> I'm not really seeing anything much when comparing between them
> other than that the receiving modem just repeatedly responds with
> Failure To Train (FTT) for nearly every modulation training effort
> with the other ATAs (except for the Flyingvoice one, where it will
> typically eventually succeed at either 4800 or 2400bps), but when I
> throw the Motorola in play, suddenly the same modem can train and
> receive at 14400bps no problem.
>
> This leads me to hypothesize that there is something in particular
> about the *modulated audio* these other ATAs are generating that
> this particular modem just doesn't like; maybe it is just "too
> picky" relative to most other fax modems, and these other ATAs are
> generating a modulated signal that is slightly outside of spec
> somehow. If that's the case, I'm not really sure how to deduce what
> the actual problem is without also analyzing the audio from the ATAs
> relative to each other, and even if one has the audio, it may still
> not be obvious what the fax modem is balking at without being able
> to somehow get into the guts of the fax modem's own firmware at a
> low level (specifically, *why* is it unhappy with the training
> signal it's getting from the ATA / what does it consider to be wrong
> with it).
>
> That this is a DSP-level problem with these ATAs is also -- I think
> -- backed up by the observation that fax TX nearly always works at
> full-speed, and it's only RX that fails. When the modem hooked up
> to the ATA is transmitting, the larger burden is on the ATA to
> understand what the modem is saying (the ATA is mostly listening),
> whereas during fax reception, this is the other way around: the ATA
> is generating the modulated data (is mostly speaking) but the modem
> can't understand it.
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Tuesday, February 17, 2026 18:50
> To: voiceops(a)voiceops.org
> Subject: RE: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
>
> Jeff,
>
> I'm more than happy to collect captures from the "good" one, and
> re-collect captures from the "bad" ones. The captures I provided
> were just the ones I took when asked to by someone else a few months
> back, and he said he didn't particularly care about the captures
> from the "good" one, so I assumed he already had something specific
> in mind that he suspected might be the problem that perhaps he could
> identify/confirm easily just by looking at the failing captures.
> (Also, in my dealings with Yeastar, Grandstream, Flyingvoice, and
> even Adtran support, they always have asked for straight-off-the-DSP
> taps. Though I agree: you can't detect every problem with those.
> Like, what if something's going wrong with the DAC and/or
> amplification circuitry?)
>
> When I have a few minutes sometime in the next few days, I'll
> reproduce the issue again and re-capture it, this time with analog
> taps.
>
> -- Nathan
>
> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@signalogic.com]
> Sent: Tuesday, February 17, 2026 17:07
> To: Nathan Anderson
> Cc: voiceops(a)voiceops.org
> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
>
> Hi Nathan,
>
> If you want help, you might be making it a tad hard. You need to have
> audio output both from the Mot ATA and at least one failing ATA.
> Getting that from the ATA output (actual RJ-11 line) is the only way
> -- I wouldn't trust "debug outputs" further than I can throw a rock. I
> used to work on a wide range of DSP based devices, and debug/test
> outputs were never a high priority, did not include everything on the
> actual I/O lines, and only got updated from time-to-time.
>
> But from your subsequent mails it seems you're making progress, so
> things are looking good :-)
>
> -Jeff
>
> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>
>> Jeff,
>>
>> Yes, correct: in my test environment, I simply swap out one of the
>> many "bad" ATAs for the Moto ATA (or vice-versa), and have it
>> register to the exact same SIP proxy while plugged into the exact
>> same fax modem, receiving test faxes from the same remote machines.
>> When using a specific fax modem, the Moto succeeds, the others fail.
>> If I change out the fax modem for a different one (different
>> model), the success rate of the non-Moto ATAs goes up.
>>
>> I have taken captures from ATAs by 3 vendors while using the "sus" modem:
>>
>> Flyingvoice
>> Yeastar
>> Grandstream
>>
>> In each case, I have captured:
>>
>> 1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL
>> payloads (packets.pcap)
>> 2. Audio recordings of the FXS port, from the ATA's perspective (voice*.raw)
>> 3. Debug/console logs from the DSP captured during the session (console.log)
>>
>> In the case of Flyingvoice: both the TX and RX channels are included
>> in a single 2-channel PCM recording, 16-bits @ 16kHz
>>
>> In the case of both Yeastar and Grandsteam: TX and RX are separate,
>> 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @
>> 8kHz
>>
>> There are no WAV headers, but you should be able to import the raw
>> PCM into e.g. Audacity by specifying the above characteristics
>> manually during import.
>>
>> The files are available at
>> http://projects.fsr.com/ata-fax-captures.zip for anybody who is
>> interested/curious.
>>
>> I don't have any audio captures of successful fax reception from the
>> Moto. All of the audio captures I made for these other ATAs was
>> from the perspective of the ATA (both what it was hearing on the FXS
>> port, as well as what audio the DSP was generating and putting out
>> on the FXS port), using debug tools built into the ATAs themselves
>> for capturing them. I have not found a way to get the Motorola to
>> do the same thing, so to capture its audio, I'd have to put an
>> analog tap in place in between the ATA and the fax modem and
>> re-digitize it (which I could do, if anybody is curious to see
>> that). I do have pcaps of successful fax reception via the Moto
>> (both with and without ECM), though, if people care to see those.
>>
>> -- Nathan
>>
>> -----Original Message-----
>> From: Jeff Brower [mailto:jbrower@signalogic.com]
>> Sent: Monday, February 16, 2026 07:37
>> To: Nathan Anderson
>> Cc: voiceops(a)voiceops.org
>> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
>>
>> Hi Nathan,
>>
>> What captures do you have ? Are those wav or other audio format files
>> ? How long are the captures and do you know or can guess how far into
>> the capture is the first sign of trouble ?
>>
>> I assume when you say working that's the Mot ATA output and
>> non-working is one of the failing ATAs, with no changes in
>> transmission conditions or settings. I.e. everything is exactly the
>> same but somehow the Mot ATA output is a tiny tad better / different.
>>
>> -Jeff
>>
>> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>>
>>> Raising this thread from the dead to see if anybody else who
>>> might've missed it the first time has any bright ideas.
>>>
>>> Shortly after I made the original post, a very kind gent with some
>>> actual DSP and fax-specific experience responded off-list, asking
>>> for some captures of working and non-working sessions. I sent those
>>> along, but unfortunately he seems to have dropped off the face of
>>> the earth. :-( Not that I really blame him...he was graciously
>>> volunteering his free time and expertise, and life is busy. But it
>>> just means I effectively lost one of the only leads I had.
>>>
>>> I'm desperate enough that now I'm willing to start naming names in
>>> public. At this point, I've run into nearly-identical T.38
>>> receive-specific problems with products I've tested from all of
>>> these vendors:
>>>
>>> * Grandstream
>>> * Yeastar
>>> * Flyingvoice
>>> * (HP/)Poly(com) (f/k/a Obihai)
>>> * ...even Adtran
>>>
>>> It is mind-blowing to me that the only ATA I have ever found that
>>> works reliably with T.38 *reception* regardless of what modem I hook
>>> up to it is the freaking ancient Motorola model that I can't get
>>> anymore. The modes of failure across all of the newer ATAs that
>>> don't work are so strikingly similar that either I'm consistently
>>> doing something wrong without realizing it, or all of the engineers
>>> behind these products made the same wrong assumptions in their fax
>>> DSP code that do not hold true across all fax modems (or perhaps
>>> they share some [bad] code in common with each other! ...I do have
>>> reason to believe that at least 2 of the above vendors are using the
>>> open-source SpanDSP project/library to implement their T.38 gateway
>>> stack in their firmware!!)
>>>
>>> With the modem I've been testing against, the Grandstream just fails
>>> to receive entirely. The Flyingvoice adapter, on the other hand,
>>> will eventually succeed, but only after it trains all the way down
>>> to 2400-4800bps. I have had tickets open with both Grandstream and
>>> Flyingvoice for months now; they seem to be going nowhere, though to
>>> their credit they haven't given up (or at least the front-line
>>> support people updating the ticket continue to put on a brave face).
>>> Yeastar (which also just fails entirely) threw in the towel within
>>> days when I tried to ask them. I had forgotten that I ran into an
>>> extremely similar problem with Adtran a few years back that their
>>> support people also never solved.
>>>
>>> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
>>> I've tried is a 300-series, which is now discontinued & replaced
>>> with the 400-series, so HP/Poly support won't touch it. I have
>>> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
>>> tickets with both, but I just know I'm in for a bad time with both
>>> company's TACs if I do.
>>>
>>> Help me, Obi-Wan Kenobi...
>>>
>>> -- Nathan
>>>
>>> -----Original Message-----
>>> From: Nathan Anderson
>>> Sent: Thursday, November 13, 2025 23:21
>>> To: Voiceops
>>> Subject: Bizarre T.38 gateway/DSP modem interop problem
>>>
>>> (...or, "Any currently-manufactured ATAs with a T.38 gateway
>>> implementation worth a damn?")
>>>
>>> Perhaps some will find this shocking, but for the longest time, we
>>> have been using Motorola VT1005 as our basic, low-port-count TA. We
>>> had lucked into a large source of overstock, still-new-in-box units
>>> for cheap some time ago, but that source is now gone. So we are
>>> shopping around for a new model to take its place.
>>>
>>> Part of the reason we stuck with the venerable Moto for so long was
>>> because our wish list looked like this:
>>>
>>> 1. Reasonable price point
>>> 2. Good performance for price
>>> 3. Solid T.38 implementation
>>>
>>> More to the point, we preferred a single TA that could fulfill all
>>> requirements, rather than having to stock multiple different models
>>> (e.g. one for voice-only, another for customers who actually cared
>>> about fax, etc.). And for the residential/SOHO crowd, it struck me
>>> as ridiculous that some 1-2 port count TAs out there often have
>>> MSRPs that are higher than the routers they're going to be sitting
>>> behind (I'm looking at you, Cisco...).
>>>
>>> The thing about the VT1005 is that not only did it have a solid T.38
>>> gateway feature, but it was hands-down the MOST bullet-proof
>>> implementation I have EVER run across, period. It "just works".
>>> Even if I was okay with stocking a special model for our fax-using
>>> customers, and even if price was no object, I seemingly CANNOT buy
>>> another TA with as good an implementation for love nor money. It
>>> was the same story every time: every couple of years, I'd order
>>> another TA model and/or pull out some previous eval units we'd
>>> acquired before & update their firmwares, re-test them, and still
>>> run into tons of issues. So as long as the Moto was still
>>> available, I just kept kicking the can down the road.
>>>
>>> I'm going through that same hell again now, and I have realized over
>>> the last few weeks of opening tickets with hardware vendors &
>>> tearing my hair out that there is a common thread to my failing fax
>>> tests.
>>>
>>> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
>>> modems train with each other at 14400bps, pages are sent
>>> successfully).
>>> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
>>> the receiving modem -- the one plugged into the TA on our side --
>>> always Fails To Train at virtually any speed)
>>> 3. ...though #2 is only true with CERTAIN fax modems, while others
>>> can receive faxes with non-Moto ATAs JUST FINE, at speeds up to
>>> 14400bps
>>>
>>> The fax modem I usually run my tests through is a cheap little
>>> USB-based hardware modem, but one with only Class 1.0 fax support.
>>> It's based on what seems to be a fairly ubiquitous Conexant chipset,
>>> the CX93010. When paired with Windows Fax & Scan and connected to a
>>> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
>>> when paired with literally any other ATA with T.38 support that I've
>>> tried, it will either attempt but fail to train at 14400bps all the
>>> way down to 2400bps, or (with one ATA in particular) it will finally
>>> successfully train and send CFR after training all the way down to
>>> 4800bps, or 2400bps at the worst.
>>>
>>> As far as I can tell, this is not strictly speaking a T.38 problem
>>> per-se. This is an issue seemingly with the DSP on the ATA that's
>>> emulating the remote modem, and there is something about most of
>>> these DSP implementations that at least this particular
>>> Conexant-based modem does NOT like. It can send faxes through these
>>> ATAs all day long, but whatever tones these TAs are generating, the
>>> Conexant just isn't having it.
>>>
>>> If I sub in a different fax machine in its place (e.g. big HP
>>> multifunction Laserjet), fax reception (mostly) works great through
>>> a lot of these same ATAs. And similarly, if I just put the Moto
>>> back in service with the Conexant modem, that also works just fine.
>>>
>>> Now, sure, blaming the modem is fair game. And I don't discount the
>>> possibility that there is something that it's doing wrong. The
>>> thing is...the Moto VT just freaking works with it. And the fact
>>> that there is at least one modem model out there -- one with a
>>> common enough chipset -- that virtually all currently-manufactured
>>> TA models out there spouting T.38 support cannot interop with makes
>>> me concerned that I'm likely going to run into more such interop
>>> problems in the field with customers' own fax equipment, after we
>>> start deploying & the TA we choose to go with is suddenly exposed to
>>> a much more, erm, diverse crowd of fax machine models.
>>>
>>> What on earth could this modem could be so sensitive to that it
>>> doesn't work with any of the TAs I've tested with it (other than the
>>> Moto)...?
>>>
>>> --
>>> Nathan Anderson
>>> First Step Internet, LLC
>>> nathana(a)fsr.com
>>>
>>> _______________________________________________
>>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>>
>>
>> _______________________________________________
>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
2
1
Jeff,
I'm more than happy to collect captures from the "good" one, and re-collect captures from the "bad" ones. The captures I provided were just the ones I took when asked to by someone else a few months back, and he said he didn't particularly care about the captures from the "good" one, so I assumed he already had something specific in mind that he suspected might be the problem that perhaps he could identify/confirm easily just by looking at the failing captures. (Also, in my dealings with Yeastar, Grandstream, Flyingvoice, and even Adtran support, they always have asked for straight-off-the-DSP taps. Though I agree: you can't detect every problem with those. Like, what if something's going wrong with the DAC and/or amplification circuitry?)
When I have a few minutes sometime in the next few days, I'll reproduce the issue again and re-capture it, this time with analog taps.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Tuesday, February 17, 2026 17:07
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
If you want help, you might be making it a tad hard. You need to have
audio output both from the Mot ATA and at least one failing ATA.
Getting that from the ATA output (actual RJ-11 line) is the only way
-- I wouldn't trust "debug outputs" further than I can throw a rock. I
used to work on a wide range of DSP based devices, and debug/test
outputs were never a high priority, did not include everything on the
actual I/O lines, and only got updated from time-to-time.
But from your subsequent mails it seems you're making progress, so
things are looking good :-)
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> Jeff,
>
> Yes, correct: in my test environment, I simply swap out one of the
> many "bad" ATAs for the Moto ATA (or vice-versa), and have it
> register to the exact same SIP proxy while plugged into the exact
> same fax modem, receiving test faxes from the same remote machines.
> When using a specific fax modem, the Moto succeeds, the others fail.
> If I change out the fax modem for a different one (different
> model), the success rate of the non-Moto ATAs goes up.
>
> I have taken captures from ATAs by 3 vendors while using the "sus" modem:
>
> Flyingvoice
> Yeastar
> Grandstream
>
> In each case, I have captured:
>
> 1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL
> payloads (packets.pcap)
> 2. Audio recordings of the FXS port, from the ATA's perspective (voice*.raw)
> 3. Debug/console logs from the DSP captured during the session (console.log)
>
> In the case of Flyingvoice: both the TX and RX channels are included
> in a single 2-channel PCM recording, 16-bits @ 16kHz
>
> In the case of both Yeastar and Grandsteam: TX and RX are separate,
> 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @
> 8kHz
>
> There are no WAV headers, but you should be able to import the raw
> PCM into e.g. Audacity by specifying the above characteristics
> manually during import.
>
> The files are available at
> http://projects.fsr.com/ata-fax-captures.zip for anybody who is
> interested/curious.
>
> I don't have any audio captures of successful fax reception from the
> Moto. All of the audio captures I made for these other ATAs was
> from the perspective of the ATA (both what it was hearing on the FXS
> port, as well as what audio the DSP was generating and putting out
> on the FXS port), using debug tools built into the ATAs themselves
> for capturing them. I have not found a way to get the Motorola to
> do the same thing, so to capture its audio, I'd have to put an
> analog tap in place in between the ATA and the fax modem and
> re-digitize it (which I could do, if anybody is curious to see
> that). I do have pcaps of successful fax reception via the Moto
> (both with and without ECM), though, if people care to see those.
>
> -- Nathan
>
> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@signalogic.com]
> Sent: Monday, February 16, 2026 07:37
> To: Nathan Anderson
> Cc: voiceops(a)voiceops.org
> Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
>
> Hi Nathan,
>
> What captures do you have ? Are those wav or other audio format files
> ? How long are the captures and do you know or can guess how far into
> the capture is the first sign of trouble ?
>
> I assume when you say working that's the Mot ATA output and
> non-working is one of the failing ATAs, with no changes in
> transmission conditions or settings. I.e. everything is exactly the
> same but somehow the Mot ATA output is a tiny tad better / different.
>
> -Jeff
>
> Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
>
>> Raising this thread from the dead to see if anybody else who
>> might've missed it the first time has any bright ideas.
>>
>> Shortly after I made the original post, a very kind gent with some
>> actual DSP and fax-specific experience responded off-list, asking
>> for some captures of working and non-working sessions. I sent those
>> along, but unfortunately he seems to have dropped off the face of
>> the earth. :-( Not that I really blame him...he was graciously
>> volunteering his free time and expertise, and life is busy. But it
>> just means I effectively lost one of the only leads I had.
>>
>> I'm desperate enough that now I'm willing to start naming names in
>> public. At this point, I've run into nearly-identical T.38
>> receive-specific problems with products I've tested from all of
>> these vendors:
>>
>> * Grandstream
>> * Yeastar
>> * Flyingvoice
>> * (HP/)Poly(com) (f/k/a Obihai)
>> * ...even Adtran
>>
>> It is mind-blowing to me that the only ATA I have ever found that
>> works reliably with T.38 *reception* regardless of what modem I hook
>> up to it is the freaking ancient Motorola model that I can't get
>> anymore. The modes of failure across all of the newer ATAs that
>> don't work are so strikingly similar that either I'm consistently
>> doing something wrong without realizing it, or all of the engineers
>> behind these products made the same wrong assumptions in their fax
>> DSP code that do not hold true across all fax modems (or perhaps
>> they share some [bad] code in common with each other! ...I do have
>> reason to believe that at least 2 of the above vendors are using the
>> open-source SpanDSP project/library to implement their T.38 gateway
>> stack in their firmware!!)
>>
>> With the modem I've been testing against, the Grandstream just fails
>> to receive entirely. The Flyingvoice adapter, on the other hand,
>> will eventually succeed, but only after it trains all the way down
>> to 2400-4800bps. I have had tickets open with both Grandstream and
>> Flyingvoice for months now; they seem to be going nowhere, though to
>> their credit they haven't given up (or at least the front-line
>> support people updating the ticket continue to put on a brave face).
>> Yeastar (which also just fails entirely) threw in the towel within
>> days when I tried to ask them. I had forgotten that I ran into an
>> extremely similar problem with Adtran a few years back that their
>> support people also never solved.
>>
>> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
>> I've tried is a 300-series, which is now discontinued & replaced
>> with the 400-series, so HP/Poly support won't touch it. I have
>> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
>> tickets with both, but I just know I'm in for a bad time with both
>> company's TACs if I do.
>>
>> Help me, Obi-Wan Kenobi...
>>
>> -- Nathan
>>
>> -----Original Message-----
>> From: Nathan Anderson
>> Sent: Thursday, November 13, 2025 23:21
>> To: Voiceops
>> Subject: Bizarre T.38 gateway/DSP modem interop problem
>>
>> (...or, "Any currently-manufactured ATAs with a T.38 gateway
>> implementation worth a damn?")
>>
>> Perhaps some will find this shocking, but for the longest time, we
>> have been using Motorola VT1005 as our basic, low-port-count TA. We
>> had lucked into a large source of overstock, still-new-in-box units
>> for cheap some time ago, but that source is now gone. So we are
>> shopping around for a new model to take its place.
>>
>> Part of the reason we stuck with the venerable Moto for so long was
>> because our wish list looked like this:
>>
>> 1. Reasonable price point
>> 2. Good performance for price
>> 3. Solid T.38 implementation
>>
>> More to the point, we preferred a single TA that could fulfill all
>> requirements, rather than having to stock multiple different models
>> (e.g. one for voice-only, another for customers who actually cared
>> about fax, etc.). And for the residential/SOHO crowd, it struck me
>> as ridiculous that some 1-2 port count TAs out there often have
>> MSRPs that are higher than the routers they're going to be sitting
>> behind (I'm looking at you, Cisco...).
>>
>> The thing about the VT1005 is that not only did it have a solid T.38
>> gateway feature, but it was hands-down the MOST bullet-proof
>> implementation I have EVER run across, period. It "just works".
>> Even if I was okay with stocking a special model for our fax-using
>> customers, and even if price was no object, I seemingly CANNOT buy
>> another TA with as good an implementation for love nor money. It
>> was the same story every time: every couple of years, I'd order
>> another TA model and/or pull out some previous eval units we'd
>> acquired before & update their firmwares, re-test them, and still
>> run into tons of issues. So as long as the Moto was still
>> available, I just kept kicking the can down the road.
>>
>> I'm going through that same hell again now, and I have realized over
>> the last few weeks of opening tickets with hardware vendors &
>> tearing my hair out that there is a common thread to my failing fax
>> tests.
>>
>> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
>> modems train with each other at 14400bps, pages are sent
>> successfully).
>> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
>> the receiving modem -- the one plugged into the TA on our side --
>> always Fails To Train at virtually any speed)
>> 3. ...though #2 is only true with CERTAIN fax modems, while others
>> can receive faxes with non-Moto ATAs JUST FINE, at speeds up to
>> 14400bps
>>
>> The fax modem I usually run my tests through is a cheap little
>> USB-based hardware modem, but one with only Class 1.0 fax support.
>> It's based on what seems to be a fairly ubiquitous Conexant chipset,
>> the CX93010. When paired with Windows Fax & Scan and connected to a
>> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
>> when paired with literally any other ATA with T.38 support that I've
>> tried, it will either attempt but fail to train at 14400bps all the
>> way down to 2400bps, or (with one ATA in particular) it will finally
>> successfully train and send CFR after training all the way down to
>> 4800bps, or 2400bps at the worst.
>>
>> As far as I can tell, this is not strictly speaking a T.38 problem
>> per-se. This is an issue seemingly with the DSP on the ATA that's
>> emulating the remote modem, and there is something about most of
>> these DSP implementations that at least this particular
>> Conexant-based modem does NOT like. It can send faxes through these
>> ATAs all day long, but whatever tones these TAs are generating, the
>> Conexant just isn't having it.
>>
>> If I sub in a different fax machine in its place (e.g. big HP
>> multifunction Laserjet), fax reception (mostly) works great through
>> a lot of these same ATAs. And similarly, if I just put the Moto
>> back in service with the Conexant modem, that also works just fine.
>>
>> Now, sure, blaming the modem is fair game. And I don't discount the
>> possibility that there is something that it's doing wrong. The
>> thing is...the Moto VT just freaking works with it. And the fact
>> that there is at least one modem model out there -- one with a
>> common enough chipset -- that virtually all currently-manufactured
>> TA models out there spouting T.38 support cannot interop with makes
>> me concerned that I'm likely going to run into more such interop
>> problems in the field with customers' own fax equipment, after we
>> start deploying & the TA we choose to go with is suddenly exposed to
>> a much more, erm, diverse crowd of fax machine models.
>>
>> What on earth could this modem could be so sensitive to that it
>> doesn't work with any of the TAs I've tested with it (other than the
>> Moto)...?
>>
>> --
>> Nathan Anderson
>> First Step Internet, LLC
>> nathana(a)fsr.com
>>
>> _______________________________________________
>> VoiceOps mailing list -- VoiceOps(a)voiceops.org
>> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
>> To unsubscribe send an email to voiceops-leave(a)voiceops.org
>
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
2
3
Jeff,
Yes, correct: in my test environment, I simply swap out one of the many "bad" ATAs for the Moto ATA (or vice-versa), and have it register to the exact same SIP proxy while plugged into the exact same fax modem, receiving test faxes from the same remote machines. When using a specific fax modem, the Moto succeeds, the others fail. If I change out the fax modem for a different one (different model), the success rate of the non-Moto ATAs goes up.
I have taken captures from ATAs by 3 vendors while using the "sus" modem:
Flyingvoice
Yeastar
Grandstream
In each case, I have captured:
1. A packet capture of the SIP, RTP, and (after re-INVITE) UDPTL payloads (packets.pcap)
2. Audio recordings of the FXS port, from the ATA's perspective (voice*.raw)
3. Debug/console logs from the DSP captured during the session (console.log)
In the case of Flyingvoice: both the TX and RX channels are included in a single 2-channel PCM recording, 16-bits @ 16kHz
In the case of both Yeastar and Grandsteam: TX and RX are separate, 1-channel PCM recordings (voice_r for RX, voice_t for TX), 16-bits @ 8kHz
There are no WAV headers, but you should be able to import the raw PCM into e.g. Audacity by specifying the above characteristics manually during import.
The files are available at http://projects.fsr.com/ata-fax-captures.zip for anybody who is interested/curious.
I don't have any audio captures of successful fax reception from the Moto. All of the audio captures I made for these other ATAs was from the perspective of the ATA (both what it was hearing on the FXS port, as well as what audio the DSP was generating and putting out on the FXS port), using debug tools built into the ATAs themselves for capturing them. I have not found a way to get the Motorola to do the same thing, so to capture its audio, I'd have to put an analog tap in place in between the ATA and the fax modem and re-digitize it (which I could do, if anybody is curious to see that). I do have pcaps of successful fax reception via the Moto (both with and without ECM), though, if people care to see those.
-- Nathan
-----Original Message-----
From: Jeff Brower [mailto:jbrower@signalogic.com]
Sent: Monday, February 16, 2026 07:37
To: Nathan Anderson
Cc: voiceops(a)voiceops.org
Subject: Re: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
Hi Nathan,
What captures do you have ? Are those wav or other audio format files
? How long are the captures and do you know or can guess how far into
the capture is the first sign of trouble ?
I assume when you say working that's the Mot ATA output and
non-working is one of the failing ATAs, with no changes in
transmission conditions or settings. I.e. everything is exactly the
same but somehow the Mot ATA output is a tiny tad better / different.
-Jeff
Quoting Nathan Anderson via VoiceOps <voiceops(a)voiceops.org>:
> Raising this thread from the dead to see if anybody else who
> might've missed it the first time has any bright ideas.
>
> Shortly after I made the original post, a very kind gent with some
> actual DSP and fax-specific experience responded off-list, asking
> for some captures of working and non-working sessions. I sent those
> along, but unfortunately he seems to have dropped off the face of
> the earth. :-( Not that I really blame him...he was graciously
> volunteering his free time and expertise, and life is busy. But it
> just means I effectively lost one of the only leads I had.
>
> I'm desperate enough that now I'm willing to start naming names in
> public. At this point, I've run into nearly-identical T.38
> receive-specific problems with products I've tested from all of
> these vendors:
>
> * Grandstream
> * Yeastar
> * Flyingvoice
> * (HP/)Poly(com) (f/k/a Obihai)
> * ...even Adtran
>
> It is mind-blowing to me that the only ATA I have ever found that
> works reliably with T.38 *reception* regardless of what modem I hook
> up to it is the freaking ancient Motorola model that I can't get
> anymore. The modes of failure across all of the newer ATAs that
> don't work are so strikingly similar that either I'm consistently
> doing something wrong without realizing it, or all of the engineers
> behind these products made the same wrong assumptions in their fax
> DSP code that do not hold true across all fax modems (or perhaps
> they share some [bad] code in common with each other! ...I do have
> reason to believe that at least 2 of the above vendors are using the
> open-source SpanDSP project/library to implement their T.38 gateway
> stack in their firmware!!)
>
> With the modem I've been testing against, the Grandstream just fails
> to receive entirely. The Flyingvoice adapter, on the other hand,
> will eventually succeed, but only after it trains all the way down
> to 2400-4800bps. I have had tickets open with both Grandstream and
> Flyingvoice for months now; they seem to be going nowhere, though to
> their credit they haven't given up (or at least the front-line
> support people updating the ticket continue to put on a brave face).
> Yeastar (which also just fails entirely) threw in the towel within
> days when I tried to ask them. I had forgotten that I ran into an
> extremely similar problem with Adtran a few years back that their
> support people also never solved.
>
> I have not yet tested Cisco ATA19x models. The only Poly/Obi one
> I've tried is a 300-series, which is now discontinued & replaced
> with the 400-series, so HP/Poly support won't touch it. I have
> considered acquiring a Poly 400 and a Cisco ATA192 and opening up
> tickets with both, but I just know I'm in for a bad time with both
> company's TACs if I do.
>
> Help me, Obi-Wan Kenobi...
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Thursday, November 13, 2025 23:21
> To: Voiceops
> Subject: Bizarre T.38 gateway/DSP modem interop problem
>
> (...or, "Any currently-manufactured ATAs with a T.38 gateway
> implementation worth a damn?")
>
> Perhaps some will find this shocking, but for the longest time, we
> have been using Motorola VT1005 as our basic, low-port-count TA. We
> had lucked into a large source of overstock, still-new-in-box units
> for cheap some time ago, but that source is now gone. So we are
> shopping around for a new model to take its place.
>
> Part of the reason we stuck with the venerable Moto for so long was
> because our wish list looked like this:
>
> 1. Reasonable price point
> 2. Good performance for price
> 3. Solid T.38 implementation
>
> More to the point, we preferred a single TA that could fulfill all
> requirements, rather than having to stock multiple different models
> (e.g. one for voice-only, another for customers who actually cared
> about fax, etc.). And for the residential/SOHO crowd, it struck me
> as ridiculous that some 1-2 port count TAs out there often have
> MSRPs that are higher than the routers they're going to be sitting
> behind (I'm looking at you, Cisco...).
>
> The thing about the VT1005 is that not only did it have a solid T.38
> gateway feature, but it was hands-down the MOST bullet-proof
> implementation I have EVER run across, period. It "just works".
> Even if I was okay with stocking a special model for our fax-using
> customers, and even if price was no object, I seemingly CANNOT buy
> another TA with as good an implementation for love nor money. It
> was the same story every time: every couple of years, I'd order
> another TA model and/or pull out some previous eval units we'd
> acquired before & update their firmwares, re-test them, and still
> run into tons of issues. So as long as the Moto was still
> available, I just kept kicking the can down the road.
>
> I'm going through that same hell again now, and I have realized over
> the last few weeks of opening tickets with hardware vendors &
> tearing my hair out that there is a common thread to my failing fax
> tests.
>
> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the
> modems train with each other at 14400bps, pages are sent
> successfully).
> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but
> the receiving modem -- the one plugged into the TA on our side --
> always Fails To Train at virtually any speed)
> 3. ...though #2 is only true with CERTAIN fax modems, while others
> can receive faxes with non-Moto ATAs JUST FINE, at speeds up to
> 14400bps
>
> The fax modem I usually run my tests through is a cheap little
> USB-based hardware modem, but one with only Class 1.0 fax support.
> It's based on what seems to be a fairly ubiquitous Conexant chipset,
> the CX93010. When paired with Windows Fax & Scan and connected to a
> Motorola VT1005, receiving faxes via T.38 works just *fine*. But
> when paired with literally any other ATA with T.38 support that I've
> tried, it will either attempt but fail to train at 14400bps all the
> way down to 2400bps, or (with one ATA in particular) it will finally
> successfully train and send CFR after training all the way down to
> 4800bps, or 2400bps at the worst.
>
> As far as I can tell, this is not strictly speaking a T.38 problem
> per-se. This is an issue seemingly with the DSP on the ATA that's
> emulating the remote modem, and there is something about most of
> these DSP implementations that at least this particular
> Conexant-based modem does NOT like. It can send faxes through these
> ATAs all day long, but whatever tones these TAs are generating, the
> Conexant just isn't having it.
>
> If I sub in a different fax machine in its place (e.g. big HP
> multifunction Laserjet), fax reception (mostly) works great through
> a lot of these same ATAs. And similarly, if I just put the Moto
> back in service with the Conexant modem, that also works just fine.
>
> Now, sure, blaming the modem is fair game. And I don't discount the
> possibility that there is something that it's doing wrong. The
> thing is...the Moto VT just freaking works with it. And the fact
> that there is at least one modem model out there -- one with a
> common enough chipset -- that virtually all currently-manufactured
> TA models out there spouting T.38 support cannot interop with makes
> me concerned that I'm likely going to run into more such interop
> problems in the field with customers' own fax equipment, after we
> start deploying & the TA we choose to go with is suddenly exposed to
> a much more, erm, diverse crowd of fax machine models.
>
> What on earth could this modem could be so sensitive to that it
> doesn't work with any of the TAs I've tested with it (other than the
> Moto)...?
>
> --
> Nathan Anderson
> First Step Internet, LLC
> nathana(a)fsr.com
>
> _______________________________________________
> VoiceOps mailing list -- VoiceOps(a)voiceops.org
> https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
> To unsubscribe send an email to voiceops-leave(a)voiceops.org
2
1
CRAAAAAZY update:
I've been pestering Grandstream and Flyingvoice for updates, and Grandstream helpdesk came back to me with a most interesting comment:
"The development plan is to include the fax capabilities of the HT V1 into the V2 series."
When I got this response, I was like whaaaaaaaat are you even talking about, since (at least in my head) I had the same problem with the V1. Even if there are differences in the DSP code between them, how will porting those forward fix this specific issue?
So I broke the older revision of the HT802 hardware out again to re-test, so that I could come back to them with captures in hand and say "told ya so...don't waste your time".
Well. It works. The dadgum HT802 (retroactively: "HT802v1") actually works.
Looking back and reviewing the footage up to this point, I realized what had happened that led me blend these two variants of this hardware in my mind: when I first acquired the original HT802 in order to put it through its paces, I ran into a bunch of T.38-related problems with it (shocker, I know). The biggest one seemed to be that if the HT80Xv1 was the one that initiated the T.38 re-INVITE, it would always specify a "T38FaxMaxRate" of "9600" in the SDP payload, and there was seemingly no way to change/adjust/influence this behavior. And some of my orig & term providers did NOT like that, and would send back SIP "488 Not Acceptable Here" in response, so the re-INVITE would never succeed, and either the call would drop then and there, or it would remain at/re-INVITE back to G.711 and eventually fail.
That issue was the first ticket I opened with Grandstream. Their response was that HT80X was being sunsetted, and HT80Xv2 was replacing it, and also that HT80Xv2 already had an option in the firmware to adjust the value it sent for T38FaxMaxRate. (Fun aside: it did indeed, but that setting in the v2 firmware didn't actually freaking work / was completely ignored, so I had to open a new ticket about THAT, which they then eventually fixed. Sigh. Does anybody ever actually test these things?...)
So I requisitioned meself an HT802v2, and that's when I ran into this modem-always-fails-training-during-fax-reception problem. And that's the point at which I started collecting a bunch of other ATA models from other vendors, cobbling together a makeshift lab where I could run fax tests without involving the PSTN, etc. All of these other ATAs were all failing in the very same or very similar ways as the HT802v2 was, even in the lab. But because I never even got to that point in testing the original HT802 because of a *different* showstopper problem, I just lumped it in my head with all of the others and assumed it also must have the same problem (because given that its successor model does, and given how widespread the problem seems to be, why wouldn't it?).
Taking a look at detailed debug syslogs from both v1 and v2, it turns out that the v1 series actually used a completely different DSP library under the covers: while v2 has "SpanDSP" referenced all over the place, the log messages from v1 look completely different and reference "LIBGSDSP" (where I have to imagine "GS" stands for "Grandstream"). So apparently Grandstream had taken the time and effort to develop a bespoke set of DSP algorithms in-house, but when they came out with the newer hardware revision, they didn't...bother...to...keep...it? And instead just took SpanDSP off the shelf and slapped it into the v2 firmware??? (Perhaps they were offloading some of the DSP functions in hardware on v1, and the SoC in the v2 doesn't have DSP hardware-accel, or something? Heaven knows.)
I'm still flabbergasted that I have run across so many ATA models with T.38 gateway support that all have very similar modem interop problems. The Yeastar T.38 implementation is also based on SpanDSP, so I suppose that explains that. Flyingvoice's isn't, so perhaps that's why it works a little better (though barely) than HT80Xv2 and Yeastar do. But I don't think the other models I've played with have any SpanDSP code in them, so whatever faulty assumption SpanDSP has been making seems to be shared at some level between multiple other independent (?) implementations. At least, that's the best thesis I can muster. Perhaps there is some ambiguous language in some standards document somewhere that everybody is referencing but interpreting in different ways.
If Grandstream can actually manage to fix this in the v2, then perhaps that will ensure there is at least *one* series of actively-produced ATA models out there with a solid T.38 stack.
-- Nathan
-----Original Message-----
From: Nathan Anderson via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Monday, February 16, 2026 19:56
To: 'Voiceops'
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
..switched from Windows Fax-and-Scan to HylaFAX on Linux, using the same Conexant USB modem.
Behavior is identical.
-- Nathan
-----Original Message-----
From: Nathan Anderson via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Monday, February 16, 2026 17:24
To: 'Voiceops'
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I have tried both HT802 and HT802v2.
The Flyingvoice adapter actually does a better job with fax RX when paired with my particular troublesome test modem than the Grandstreams do. At least the Flyingvoice can successfully receive...it will only do so at 2400 or 4800bps, and it takes like 2-3 minutes for it to finally train at that rate after trying and failing at all of the others, but it will at least work. The Grandstream just never manages to successfully train with the modem at any modulation rate, period.
Grandstream and Yeastar both appear to use SpanDSP under-the-covers. Flyingvoice's implementation appears to be different, though whether they wrote theirs in-house or sourced it elsewhere, couldn't say.
Also, I should mention that after I first discovered this problem, I have worked to try to isolate as many variables as I can in order to eliminate other potential sources of failure from the equation. For example, I can still reproduce the problem simply by having 2 ATAs register to the same IP-PBX and have one fax machine call the sketch Conexant one without involving the PSTN at all...all traffic remains local to the LAN, no origination carrier involved, etc. Failure still occurs, and mode of failure is 100% identical.
Since the fax "machine" that I experience failures is a Class 1 PC fax modem, I think my next test needs to be trying a different piece of fax software, just to make 1,000% sure that it's the modem itself that is having difficulty with the ATA, and not the software driving it that is the key differentiator (since I've come to understand that "Class 1" is kinda-sorta like the "softmodem" of fax standards, with not-inconsequential parts of it being processed on the host CPU rather than internally within modem DSP/firmware itself).
What I still keep coming back to, though, is that the Motorola ATA's T.38 implementation *works fine* with this particular combo of fax modem + fax software. It's just seemingly nearly every other ATA on the planet that doesn't.
-- Nathan
-----Original Message-----
From: Enzo Damato via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Monday, February 16, 2026 16:41
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I'm not sure if this is much help, both because you said you tried
Grandstream and because I haven't tested fax reception (only
transmission), but the Grandstream ht802 has always been my go-to for
odd endpoints that will not work with anything else. So far, I've been
able to use it to hook up the following
- Payphones that need polarity reversal
- Fax machines (but I've only tried sending)
- Modems (results have been hit-and-miss, but reliable enough to do a
Nortel Millennium payphone config download after several tries)
- Rotary phones using pulse dialing
Regardless of what device you choose, the single most helpful thing that
I have found with faxes is to have the PBX/Switch/whatever capture the
whole fax and then attempt to send it on to the target number. This does
mean that you don't get confirmation that it was delivered, but it makes
the whole process much less awful since the t.38 is being terminated
much closer, and the ATA doesn't have to negotiate T.38 over long distances.
Thank you,
Enzo Damato
On 2/16/26 7:53 AM, Nathan Anderson via VoiceOps wrote:
> Raising this thread from the dead to see if anybody else who might've missed it the first time has any bright ideas.
>
> Shortly after I made the original post, a very kind gent with some actual DSP and fax-specific experience responded off-list, asking for some captures of working and non-working sessions. I sent those along, but unfortunately he seems to have dropped off the face of the earth. :-( Not that I really blame him...he was graciously volunteering his free time and expertise, and life is busy. But it just means I effectively lost one of the only leads I had.
>
> I'm desperate enough that now I'm willing to start naming names in public. At this point, I've run into nearly-identical T.38 receive-specific problems with products I've tested from all of these vendors:
>
> * Grandstream
> * Yeastar
> * Flyingvoice
> * (HP/)Poly(com) (f/k/a Obihai)
> * ...even Adtran
>
> It is mind-blowing to me that the only ATA I have ever found that works reliably with T.38 *reception* regardless of what modem I hook up to it is the freaking ancient Motorola model that I can't get anymore. The modes of failure across all of the newer ATAs that don't work are so strikingly similar that either I'm consistently doing something wrong without realizing it, or all of the engineers behind these products made the same wrong assumptions in their fax DSP code that do not hold true across all fax modems (or perhaps they share some [bad] code in common with each other! ...I do have reason to believe that at least 2 of the above vendors are using the open-source SpanDSP project/library to implement their T.38 gateway stack in their firmware!!)
>
> With the modem I've been testing against, the Grandstream just fails to receive entirely. The Flyingvoice adapter, on the other hand, will eventually succeed, but only after it trains all the way down to 2400-4800bps. I have had tickets open with both Grandstream and Flyingvoice for months now; they seem to be going nowhere, though to their credit they haven't given up (or at least the front-line support people updating the ticket continue to put on a brave face). Yeastar (which also just fails entirely) threw in the towel within days when I tried to ask them. I had forgotten that I ran into an extremely similar problem with Adtran a few years back that their support people also never solved.
>
> I have not yet tested Cisco ATA19x models. The only Poly/Obi one I've tried is a 300-series, which is now discontinued & replaced with the 400-series, so HP/Poly support won't touch it. I have considered acquiring a Poly 400 and a Cisco ATA192 and opening up tickets with both, but I just know I'm in for a bad time with both company's TACs if I do.
>
> Help me, Obi-Wan Kenobi...
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Thursday, November 13, 2025 23:21
> To: Voiceops
> Subject: Bizarre T.38 gateway/DSP modem interop problem
>
> (...or, "Any currently-manufactured ATAs with a T.38 gateway implementation worth a damn?")
>
> Perhaps some will find this shocking, but for the longest time, we have been using Motorola VT1005 as our basic, low-port-count TA. We had lucked into a large source of overstock, still-new-in-box units for cheap some time ago, but that source is now gone. So we are shopping around for a new model to take its place.
>
> Part of the reason we stuck with the venerable Moto for so long was because our wish list looked like this:
>
> 1. Reasonable price point
> 2. Good performance for price
> 3. Solid T.38 implementation
>
> More to the point, we preferred a single TA that could fulfill all requirements, rather than having to stock multiple different models (e.g. one for voice-only, another for customers who actually cared about fax, etc.). And for the residential/SOHO crowd, it struck me as ridiculous that some 1-2 port count TAs out there often have MSRPs that are higher than the routers they're going to be sitting behind (I'm looking at you, Cisco...).
>
> The thing about the VT1005 is that not only did it have a solid T.38 gateway feature, but it was hands-down the MOST bullet-proof implementation I have EVER run across, period. It "just works". Even if I was okay with stocking a special model for our fax-using customers, and even if price was no object, I seemingly CANNOT buy another TA with as good an implementation for love nor money. It was the same story every time: every couple of years, I'd order another TA model and/or pull out some previous eval units we'd acquired before & update their firmwares, re-test them, and still run into tons of issues. So as long as the Moto was still available, I just kept kicking the can down the road.
>
> I'm going through that same hell again now, and I have realized over the last few weeks of opening tickets with hardware vendors & tearing my hair out that there is a common thread to my failing fax tests.
>
> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the modems train with each other at 14400bps, pages are sent successfully).
> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but the receiving modem -- the one plugged into the TA on our side -- always Fails To Train at virtually any speed)
> 3. ...though #2 is only true with CERTAIN fax modems, while others can receive faxes with non-Moto ATAs JUST FINE, at speeds up to 14400bps
>
> The fax modem I usually run my tests through is a cheap little USB-based hardware modem, but one with only Class 1.0 fax support. It's based on what seems to be a fairly ubiquitous Conexant chipset, the CX93010. When paired with Windows Fax & Scan and connected to a Motorola VT1005, receiving faxes via T.38 works just *fine*. But when paired with literally any other ATA with T.38 support that I've tried, it will either attempt but fail to train at 14400bps all the way down to 2400bps, or (with one ATA in particular) it will finally successfully train and send CFR after training all the way down to 4800bps, or 2400bps at the worst.
>
> As far as I can tell, this is not strictly speaking a T.38 problem per-se. This is an issue seemingly with the DSP on the ATA that's emulating the remote modem, and there is something about most of these DSP implementations that at least this particular Conexant-based modem does NOT like. It can send faxes through these ATAs all day long, but whatever tones these TAs are generating, the Conexant just isn't having it.
>
> If I sub in a different fax machine in its place (e.g. big HP multifunction Laserjet), fax reception (mostly) works great through a lot of these same ATAs. And similarly, if I just put the Moto back in service with the Conexant modem, that also works just fine.
>
> Now, sure, blaming the modem is fair game. And I don't discount the possibility that there is something that it's doing wrong. The thing is...the Moto VT just freaking works with it. And the fact that there is at least one modem model out there -- one with a common enough chipset -- that virtually all currently-manufactured TA models out there spouting T.38 support cannot interop with makes me concerned that I'm likely going to run into more such interop problems in the field with customers' own fax equipment, after we start deploying & the TA we choose to go with is suddenly exposed to a much more, erm, diverse crowd of fax machine models.
>
> What on earth could this modem could be so sensitive to that it doesn't work with any of the TAs I've tested with it (other than the Moto)...?
>
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
2
1
...switched from Windows Fax-and-Scan to HylaFAX on Linux, using the same Conexant USB modem.
Behavior is identical.
-- Nathan
-----Original Message-----
From: Nathan Anderson via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Monday, February 16, 2026 17:24
To: 'Voiceops'
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I have tried both HT802 and HT802v2.
The Flyingvoice adapter actually does a better job with fax RX when paired with my particular troublesome test modem than the Grandstreams do. At least the Flyingvoice can successfully receive...it will only do so at 2400 or 4800bps, and it takes like 2-3 minutes for it to finally train at that rate after trying and failing at all of the others, but it will at least work. The Grandstream just never manages to successfully train with the modem at any modulation rate, period.
Grandstream and Yeastar both appear to use SpanDSP under-the-covers. Flyingvoice's implementation appears to be different, though whether they wrote theirs in-house or sourced it elsewhere, couldn't say.
Also, I should mention that after I first discovered this problem, I have worked to try to isolate as many variables as I can in order to eliminate other potential sources of failure from the equation. For example, I can still reproduce the problem simply by having 2 ATAs register to the same IP-PBX and have one fax machine call the sketch Conexant one without involving the PSTN at all...all traffic remains local to the LAN, no origination carrier involved, etc. Failure still occurs, and mode of failure is 100% identical.
Since the fax "machine" that I experience failures is a Class 1 PC fax modem, I think my next test needs to be trying a different piece of fax software, just to make 1,000% sure that it's the modem itself that is having difficulty with the ATA, and not the software driving it that is the key differentiator (since I've come to understand that "Class 1" is kinda-sorta like the "softmodem" of fax standards, with not-inconsequential parts of it being processed on the host CPU rather than internally within modem DSP/firmware itself).
What I still keep coming back to, though, is that the Motorola ATA's T.38 implementation *works fine* with this particular combo of fax modem + fax software. It's just seemingly nearly every other ATA on the planet that doesn't.
-- Nathan
-----Original Message-----
From: Enzo Damato via VoiceOps [mailto:voiceops@voiceops.org]
Sent: Monday, February 16, 2026 16:41
To: voiceops(a)voiceops.org
Subject: [VoiceOps] Re: Bizarre T.38 gateway/DSP modem interop problem
I'm not sure if this is much help, both because you said you tried
Grandstream and because I haven't tested fax reception (only
transmission), but the Grandstream ht802 has always been my go-to for
odd endpoints that will not work with anything else. So far, I've been
able to use it to hook up the following
- Payphones that need polarity reversal
- Fax machines (but I've only tried sending)
- Modems (results have been hit-and-miss, but reliable enough to do a
Nortel Millennium payphone config download after several tries)
- Rotary phones using pulse dialing
Regardless of what device you choose, the single most helpful thing that
I have found with faxes is to have the PBX/Switch/whatever capture the
whole fax and then attempt to send it on to the target number. This does
mean that you don't get confirmation that it was delivered, but it makes
the whole process much less awful since the t.38 is being terminated
much closer, and the ATA doesn't have to negotiate T.38 over long distances.
Thank you,
Enzo Damato
On 2/16/26 7:53 AM, Nathan Anderson via VoiceOps wrote:
> Raising this thread from the dead to see if anybody else who might've missed it the first time has any bright ideas.
>
> Shortly after I made the original post, a very kind gent with some actual DSP and fax-specific experience responded off-list, asking for some captures of working and non-working sessions. I sent those along, but unfortunately he seems to have dropped off the face of the earth. :-( Not that I really blame him...he was graciously volunteering his free time and expertise, and life is busy. But it just means I effectively lost one of the only leads I had.
>
> I'm desperate enough that now I'm willing to start naming names in public. At this point, I've run into nearly-identical T.38 receive-specific problems with products I've tested from all of these vendors:
>
> * Grandstream
> * Yeastar
> * Flyingvoice
> * (HP/)Poly(com) (f/k/a Obihai)
> * ...even Adtran
>
> It is mind-blowing to me that the only ATA I have ever found that works reliably with T.38 *reception* regardless of what modem I hook up to it is the freaking ancient Motorola model that I can't get anymore. The modes of failure across all of the newer ATAs that don't work are so strikingly similar that either I'm consistently doing something wrong without realizing it, or all of the engineers behind these products made the same wrong assumptions in their fax DSP code that do not hold true across all fax modems (or perhaps they share some [bad] code in common with each other! ...I do have reason to believe that at least 2 of the above vendors are using the open-source SpanDSP project/library to implement their T.38 gateway stack in their firmware!!)
>
> With the modem I've been testing against, the Grandstream just fails to receive entirely. The Flyingvoice adapter, on the other hand, will eventually succeed, but only after it trains all the way down to 2400-4800bps. I have had tickets open with both Grandstream and Flyingvoice for months now; they seem to be going nowhere, though to their credit they haven't given up (or at least the front-line support people updating the ticket continue to put on a brave face). Yeastar (which also just fails entirely) threw in the towel within days when I tried to ask them. I had forgotten that I ran into an extremely similar problem with Adtran a few years back that their support people also never solved.
>
> I have not yet tested Cisco ATA19x models. The only Poly/Obi one I've tried is a 300-series, which is now discontinued & replaced with the 400-series, so HP/Poly support won't touch it. I have considered acquiring a Poly 400 and a Cisco ATA192 and opening up tickets with both, but I just know I'm in for a bad time with both company's TACs if I do.
>
> Help me, Obi-Wan Kenobi...
>
> -- Nathan
>
> -----Original Message-----
> From: Nathan Anderson
> Sent: Thursday, November 13, 2025 23:21
> To: Voiceops
> Subject: Bizarre T.38 gateway/DSP modem interop problem
>
> (...or, "Any currently-manufactured ATAs with a T.38 gateway implementation worth a damn?")
>
> Perhaps some will find this shocking, but for the longest time, we have been using Motorola VT1005 as our basic, low-port-count TA. We had lucked into a large source of overstock, still-new-in-box units for cheap some time ago, but that source is now gone. So we are shopping around for a new model to take its place.
>
> Part of the reason we stuck with the venerable Moto for so long was because our wish list looked like this:
>
> 1. Reasonable price point
> 2. Good performance for price
> 3. Solid T.38 implementation
>
> More to the point, we preferred a single TA that could fulfill all requirements, rather than having to stock multiple different models (e.g. one for voice-only, another for customers who actually cared about fax, etc.). And for the residential/SOHO crowd, it struck me as ridiculous that some 1-2 port count TAs out there often have MSRPs that are higher than the routers they're going to be sitting behind (I'm looking at you, Cisco...).
>
> The thing about the VT1005 is that not only did it have a solid T.38 gateway feature, but it was hands-down the MOST bullet-proof implementation I have EVER run across, period. It "just works". Even if I was okay with stocking a special model for our fax-using customers, and even if price was no object, I seemingly CANNOT buy another TA with as good an implementation for love nor money. It was the same story every time: every couple of years, I'd order another TA model and/or pull out some previous eval units we'd acquired before & update their firmwares, re-test them, and still run into tons of issues. So as long as the Moto was still available, I just kept kicking the can down the road.
>
> I'm going through that same hell again now, and I have realized over the last few weeks of opening tickets with hardware vendors & tearing my hair out that there is a common thread to my failing fax tests.
>
> 1. Fax TRANSMISSION always works fine (T.38 gatewaying kicks in, the modems train with each other at 14400bps, pages are sent successfully).
> 2. Fax RECEPTION is what breaks down (T.38 gatewaying kicks in, but the receiving modem -- the one plugged into the TA on our side -- always Fails To Train at virtually any speed)
> 3. ...though #2 is only true with CERTAIN fax modems, while others can receive faxes with non-Moto ATAs JUST FINE, at speeds up to 14400bps
>
> The fax modem I usually run my tests through is a cheap little USB-based hardware modem, but one with only Class 1.0 fax support. It's based on what seems to be a fairly ubiquitous Conexant chipset, the CX93010. When paired with Windows Fax & Scan and connected to a Motorola VT1005, receiving faxes via T.38 works just *fine*. But when paired with literally any other ATA with T.38 support that I've tried, it will either attempt but fail to train at 14400bps all the way down to 2400bps, or (with one ATA in particular) it will finally successfully train and send CFR after training all the way down to 4800bps, or 2400bps at the worst.
>
> As far as I can tell, this is not strictly speaking a T.38 problem per-se. This is an issue seemingly with the DSP on the ATA that's emulating the remote modem, and there is something about most of these DSP implementations that at least this particular Conexant-based modem does NOT like. It can send faxes through these ATAs all day long, but whatever tones these TAs are generating, the Conexant just isn't having it.
>
> If I sub in a different fax machine in its place (e.g. big HP multifunction Laserjet), fax reception (mostly) works great through a lot of these same ATAs. And similarly, if I just put the Moto back in service with the Conexant modem, that also works just fine.
>
> Now, sure, blaming the modem is fair game. And I don't discount the possibility that there is something that it's doing wrong. The thing is...the Moto VT just freaking works with it. And the fact that there is at least one modem model out there -- one with a common enough chipset -- that virtually all currently-manufactured TA models out there spouting T.38 support cannot interop with makes me concerned that I'm likely going to run into more such interop problems in the field with customers' own fax equipment, after we start deploying & the TA we choose to go with is suddenly exposed to a much more, erm, diverse crowd of fax machine models.
>
> What on earth could this modem could be so sensitive to that it doesn't work with any of the TAs I've tested with it (other than the Moto)...?
>
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
_______________________________________________
VoiceOps mailing list -- VoiceOps(a)voiceops.org
https://lists.voiceops.org/postorius/lists/voiceops.voiceops.org/
To unsubscribe send an email to voiceops-leave(a)voiceops.org
1
0