We've been seeing sporadic issues when testing against some t.38 providers that result in Freeswitch giving an "internal error" but telling the receiving party the fax was successful. As a result of that error, sipXecs essentially threw the fax received away, in its entirety. With some help from an ezuce engineer, our staff found the code that did that and altered it to make "whatever was received" appear in email. Even if there was no data received. So if someone calls your fax and it answers and they hang up, the system sends an email saying "0" pages received. If you get 5 of 6 pages, we send you 5 pages. This also seems to clear up the problem when the internal error happens (it still happens, but the fax isn't tossed aside anymore).
As a result of these changes, we have now successfully tested another provider which has t.38 Origination (toll-free) for $.0176 (1.76 cents per minytes, US). This has a monthly cost of 2.00 per month per number, plus usage.
We will have an update for outbound t.38 via a fxs gateway using a t.38 provider as an extension in sipxecs, including how we make the gateway use a specific gateway in sipxecs (since not all ITSP's support t.38).