Modem noises annoy many people – and many devices go to great lengths to mute the speaker after connections have been achieved. In fact, most fax machines mute the speaker as soon as the first HDLC 300bps Phase B data is detected – thus one cannot hear how the rest of the fax progresses. But that can be quite interesting.
For these samples – I’ve covered all the Group 3 modulation modes – V.27ter, V.29 and V.17. Most of the calls are recorded with ECM, with one regular non-ECM mode call.Unfortunately, I have no superG3 fax machines and I’m not aware of any superG3 fax modems – so I have no recordings of those V.34/V.34bis fax modulation.
Calls were made polling the Bureau of Meterology weather by fax service operated by Informatel (can’t find that information on the BoM website anymore!) The fax used was the graphically complex IR satellite image available on 03 9273 8201. This was dialled by WinFax as a Remote Fax Retrieval.
All of these samples were recorded using my Pennytel VoIP service. Unfortunately, I have no POTS/PSTN service anymore. VoIP has a great advantage over standard PSTN for recording the sounds of modems as it is easily possible to record the modem in operation without disturbing the analog path. It is also possible to record what each side of the conversation is saying. Unfortunately, VoIP is highly variable and dependent on the equipment and state of the internet and VSP gateways.
How can this recording be done? By sniffing the traffic to and from the ATA and reconstructing the call using Wireshark. It can easily be set up by having two NICs in one computer, bridged together with Wireshark capturing from the port connected to the ATA. Simple, and then you have every call recorded with only a slight increase in latency.
The FOLDS service has helped me refine and hone my settings to improve the reliability of faxing and data over VoIP – in fact, with the settings, it can be quite acceptable.
All of these calls are recorded from the Wireshark output through Virtual Audio Cable – so they are pristinely digitally faithful to the VoIP call. I have deliberately left them as uncompressed WAV files. These files are stereo and should be listened to with headphones. The left channel represents the local modem, the right channel represents the remote modem. You can definitely hear that the local echo level is quite poor – this is probably a poor impedance match due to the “quality” of consumer gear.
As the calls are via VoIP, we don’t hear the Phase A part of the call as that is all handled through the out-of-band SIP messages. So lets listen to some fax calls and see what’s happening (Phases B, C and D):
This is a regular non ECM call. Most faxes sound like this. The 14.4k transmission mode is Trellis-Code Modulation (TCM) based. You will observe the much simpler “half-duplex” nature of fax negotiations as compared to data calls.
- 0s: The local modem signals a fax call with the 2100Hz tone.
- 8s: The remote modem generates the answer tone (causing the echo cancellers/suppressors to drop out, hence the slight interruption in the tone, not heard on standard PSTN lines) and then continues to send the Phase B handshaking data at 300bps. Most fax machines will mute just before this point.
- 15s: Calling modem then replies to the handshaking data at 300bps with its own capabilities and station ID and requests a “turnaround” by the looks of it.
- 17s: Remote modem sends a quick handshake followed by the standard training data in the modulation and rate which will be used for the image (V.17 at 14400bps).
- 23s: Calling modem is happy with the quality of the training signal (i.e. no excessive errors) and replies with a 300bps handshake telling the other modem to proceed. (Alternately, the 300bps handshake could say “excessive errors, downshift rate or try again” in which case the remote modem will start again from 17s sending training data.)
- 25s: Phase C image transmission begins and persists through to 1m47s.
- 1m47s: Phase D end of page message from remote modem. (This could alternately be a multi-page signal.)
- 1m49s: Calling modem accepts and acknowledges the page (alternately, it could request a rate downshift and or reject the page if excessive errors are encountered).
- 1m50s: Remote modem signals end of message. All parties hang up. (If a multi-page signal was sent earlier, sending modem returns to Phase C and sends the next page).
This is an ECM call. This is the same one page being sent using ECM, of which all blocks were received without error. Notice how the page is divided into three blocks, each of which are acknowledged before the next block is sent. This in principle sounds indistinguishable from a three page non ECM call. The first ECM block ends at 1m3s, the second at 1m46s and the last at 2m19s. Notice how the increased time spent with handshaking at the slower 300bps rate causes the time for ECM calls to increase? This is one reason why ECM is sometimes disabled. In this case, given that all blocks were received correctly, there was no help from ECM whatsoever …
This ECM call went somewhat differently – in this case, ECM came to the rescue.
- 1m7s: The remote modem signals the end of the first data block.
- 1m9s: Calling modem rejects the data block with information about the bad data.
- 1m12s: Remote modem returns to Phase C and resends the data. It then signals the end of the data and awaits an acknowledgement.
- 1m15s: Calling modem acknowledges and accepts the first data block.
- 1m17s: Remote modem returns to Phase C and sends the second data block. At 1m55s, it signals the end of the second data block and requests acknowledgement.
- 1m57s: Calling modem acknowledges and accepts second data block with no errors.
- 1m59s: Remote modem returns to Phase C and sends the third data block. At 2m28s, it signals the end of the third data block and requests acknowledgement.
- 2m30s: Calling modem rejects the data block with information about the bad data.
- 2m33s: Remote modem returns to Phase C and sends the damaged data again. It then signals the end of the data and requests acknowledgement.
- 2m36s: Calling modem accepts the data block.
- 2m38s: Remote modem signals the end of the message and both parties hang up.
It’s interesting to note that the damaged data resend data can also be damaged, in which case the calling modem will reject the block again and the bad data will be resent a second time. Certain modems will give up after a certain amount of time or resends – so it’s not infallible.
This call is rather self-explanatory if you’ve listened to the one before. One of the differences is the 9600bps transmission mode which is QAM based. It is a bit rougher with slightly less low-end. Towards the end of the fax, the Phase D message at 3m14s isn’t acknowledged on the first send, and after a retry, is finally acknowledged. This is part of the standard fax error recovery procedure to retry sending these messages until timeout or acknowledge. Older thermal fax machines made use of the first try to actuate the paper cutter and prepare the next page before acknowledging the page.
If the Phase B/D is unreliable on the VoIP service, it is evident why ECM transmission may be unadvisable as it involves more Phase D signalling after each block than a regular one-per-page of non ECM mode.
This call is an interesting case of not receiving any Phase D acknowledgements on the first try in the first and third data blocks, and in the repair of the second and third data blocks. The V27ter mode of transmission is PSK based – you can definitely hear a rougher tone to it and particular “patterns” of bits produce different noises. It does take quite a bit longer than the other calls due to the slow Phase C speed.
I have no idea why this failed, but it failed during the Phase B handshaking every time – the reply from the remote modem definitely didn’t make WinFax happy and it hung up. This may be because of a mismatch in capabilities – i.e. the remote fax was not willing to use 2400bps transmission speed.
As a bit of a bonus – I’ve also tried some data calls. This was to a local Optus number used for balance checking for the old Optus Prepaid Dialup Internet cards – 1800 500 517. As it’s a free call and V.90 capable, it will stretch the limits of what is possible. As soon as a connection was made, +++ and ATH was issued to hang the modem up.
This call didn’t attempt a V.90 connection, with the delays, you can hear that the training is rather laboured and long, resulting in a 28.8k connection in V.34.
This call attempted a V.90 connection, indicating good frequency response characteristics and the likely digital-connection of the VSP gateway to the phone network. Unfortunately, with the delays, you can hear that the training is rather laboured and long, and the connection at V.90 ultimately failed at the Digital Impairment Learning (DIL) training phase. A retrain was requested by the local modem resulting in a 33.6k connection in V.34. Maybe this means the use of Super 3G over VoIP may be possible!