SkyeFax Caching

SkyeFax Caching Layers


SkyeFax has 2 caching layers that are critically important - the SkyeFax Cache, and the PSTN Private Connectors. 

SkyeFax Cache

The SkyeFax Cache's job is to receive or send the fax to your ATA as fast and as reliably as possible. We do this by nearly doubling the T38 baudrate from ordinary 9800 to 14400, and enabling all modern forms of T38 ECM and Redundancy. Furthermore, by controlling both ends of the last-mile connection, the SkyeFax caching servers can communicate with your ATAs to do real-time error correction without having to worry about the PSTN's persnicketiness. 

SkyeFax PSTN Connector

The SkyeFax PSTN Connector allows Skyetel to directly deliver your fax to the closest PSTN POP that has the highest T.38 Deliverability on our network. Even better, it does this over private links. This will prevent issues with jitter, packet loss, etc. More importantly - this allows the SkyeFax system to retry your fax without relying on the end user's Fax Machine or ATA device. These retries are extremely important, and allow us to communicate with the recipient via whatever methods they require even if the originating ATA does not support it. 

The SkyeFax PSTN Connector will attempt to deliver your fax up to 9 different times, using 9 different setting combinations (even cooler - you are only charged SkyeFax usage on successful faxes, not failed ones)

Encrypted Private Links

To connect the SkyeFax Cache and the PSTN connector together, we rely on encrypted private links that transfer the raw data files via block storage (we do not use T38/G711 to connect our caching system to the PSTN delivery system). By using block storage instead of real-time carrier tools, we are able to guarantee there is no quality loss between the Caching layer and the PSTN connectors. 


Reliability is at the core of the SkyeFax system and we went to extreme lengths to test it. How extreme? Well... we're glad you asked. 

Behold the SkyeFax testing setup:


(Yes, those are goats in the background.)

In order to test the reliability of the SkyeFax system, we connected a SkyeFax ATA to a satellite internet connection owned by one of our team members who lives in a rural part of Washington State. 

For the first round of testing, we sent dozens of 10 page faxes over this satellite connection without any additional stress testing. Each fax was successful. 

For the second round of tests, we took the same set of 10 page faxes, but also ran repeated speed tests, bittorrent downloads and other bandwidth destroying behavior. By doing this, we dramatically increased the latency, jitter and packet loss into the double digits. Just like the first test, each fax was successful. 

Here is how bad the internet was while we sent these faxes:


Latency/Packet Loss


For the final round of tests, we took the same setup, maxed out the internet connection, and our engineers stood in front of the satellite dish:


Unfortunately - this was where we started having deliverability issues and the failure rate was about 20%. However - this still meant that we delivered about 4 out of every 5 faxes we attempted. 

How is this possible?

The conventional wisdom about T.38 is that it isn't as reliable as other transport mediums. This is wrong. In fact - T.38 was designed explicitly for Fax over IP by some of the most competent people on the planet.  

The T.38 magic is it's error correction and ability to send redundant packets. When all of the most advanced T.38 error correction settings are enabled, T.38 is able to retry on a page-by-page, packet-by-packet basis. Further - T.38 is able to send multiple redundant copies of it's packets to provide cases of extreme packet loss (which is how the SkyeFax outer-space test was able to be successful).

Essentially instead of sending 1 packet for 1 bit of data, it will send 3 or 4. The SkyeFax caching layer will understand these redundant packets and discard them if they are not needed. However - if they are needed, our caching layer will rebuild the fax using these redundant packets on a page-by-page basis. Functionally, this means that if page 4 of your fax was missing 178 packets, the SkyeFax caching layer would rebuild that particular page using the redundant packets it received without failing or dropping the call. 

Was this article helpful?
4 out of 4 found this helpful
Return to top