DialUpSounds

The dial-up handshake, explained

Every phase of a 56k (V.90) connection, in order, with a player for each one. Everything you hear is synthesized from the ITU-T text cited next to it.

In 2012 Oona Räisänen published The sound of the dialup, pictured: one recorded handshake, drawn as a spectrogram and annotated by hand. It has been passed around ever since, and it is the reason most of us know that the noise has parts. This page is our attempt to make that picture playable. Her work came first; go and read it.

1. Off hook, dial tone, the number

The modem closes its relay and the exchange answers with dial tone. In North America that is 350 Hz plus 440 Hz, continuous (ITU-T E.180 national tones list). A Hayes-compatible modem waits for it, then dials. Each DTMF digit is one row tone and one column tone from Q.23 (digit 5 is 770 + 1336 Hz). Register S11 sets the tone length and the gap between digits; the default is 95 ms.

2. Ringback and the silent answer

Ringback is the exchange telling you the far phone is ringing: 440 + 480 Hz, 2 s on and 4 s off in the US (E.180). When the server modem picks up there is about 2 s of silence: V.25 §4.3 asks the answering modem to wait 1.8 to 2.5 s before it makes a sound.

3. The answer tone: ANSam

The answerer sends 2100 Hz. A V.8 modem sends ANSam, the amplitude-modulated answer tone: its envelope sways between 0.8 and 1.2 times its average at 15 Hz, and its phase flips 180° every 450 ms (V.8 §7.2). The flips are audible as faint clicks. They tell echo cancellers in the network to switch off, because two modems sharing one pair of wires in both directions need the line exactly as it is.

4. The menus: CM, JM and CJ

After at least 1 s of silence (the interval Te, V.8 §8.1.1), the caller sends its Call Menu. It is 300 bit/s FSK in the low V.21 channel, 980 Hz for a one and 1180 Hz for a zero. Each CM is ten ones, a sync pattern, then octets listing what it can do: data call, V.90 analogue side, V.34, V.32bis, V.22bis, V.21, and the LAPM error-correction protocol. Once the answerer has heard two identical CMs, it replies with a Joint Menu in the high channel (1650 and 1850 Hz) listing what they have in common. The caller then finishes its current octet and sends CJ, three zero octets meaning "agreed". Both sides go quiet for 75 ms (V.8 §8.1.2). Turn on "Nerd detail" in the player above to see the decoded octets.

5. Ranging and the chord

Phase 2 of V.34 measures the line. Each side sends a short INFO0 burst (600 bit/s DPSK) with its capabilities, then a steady tone: 1200 Hz from one side, 2400 Hz from the other. Each tone flips phase, and each flip is answered exactly 40 ms after it is heard (V.34 §11.2.1), which lets both modems time the round trip.

On a 56k call the roles are swapped: V.90 §8.2.3.1 puts the home (analogue) modem on 2400 Hz and the server (digital) modem on 1200 Hz, the reverse of a V.34 call.

Then comes the chord. L1 is 21 cosines from 150 to 3750 Hz in 150 Hz steps, with 900, 1200, 1800 and 2400 Hz left out and several tones phase-inverted (V.34 Table 17). The modem sends it 6 dB hot for exactly 160 ms, then at normal level as L2 (V.34 §10.1.2.4). The far modem compares what arrives with what it knows was sent, tone by tone, and works out the best symbol rate and carrier. Both directions take a turn.

6. The hiss: training

Phase 3 trains the receivers. The modem sends S (two alternating points, a sharp timing mark), PP (a known 48-symbol sequence repeated six times, for the equalizer), then TRN: scrambled ones at the chosen symbol rate. Scrambling makes the data sound like noise on purpose, which is why this part is a hiss. It is also when the echo canceller learns the line, so modems often send it for longer than the minimum 512 symbols (V.34 §11.3.1).

7. The bongs: digital impairment learning

This part only happens at 56k. The server modem is on a digital line, so it can put exact G.711 codewords onto the network at 8000 per second, and the home modem learns what arrives. First come Sd, a timing pattern of PCM codes, and TRN1d, one code with scrambled signs, which buzzes. Then DIL: a ladder of codewords chosen by the home modem, each repeated in a sign pattern, so it can learn how robbed-bit signalling, digital pads and A-law/μ-law conversion treat each level. In our version the pattern repeats at 500 Hz and steps up in loudness, which gives the slow bong (V.90 §8.4.1). A V.34 call has none of this.

8. Final training, parameters, connect

Phase 4 settles the details: the client sends CP, the exact set of PCM codes the server may use (V.90 §8.5.2), and the server sends MP with the upstream rate (§8.6.3). Both acknowledge, send a short end marker, and the first data frame goes out (V.90 §9.4). At that moment the modem reports CONNECT, and with the default ATM1 the speaker goes quiet. That sudden silence is the end of the sound everyone remembers.

Hear the difference

The same call with the speaker left on (ATM2), at a quarter speed, or as a V.34 call without the DIL: use the player below. Drag across the spectrogram to scrub; hover a band to see the clause.

Ready. Press Dial.
caller
—
answerer
—
AT console (Hayes commands)
Event list (the spectrogram as text)

    What is exact, what is approximate

    Call progress, V.8, V.21, the INFO sequences, tones A and B, L1/L2, the S/PP/TRN/J/MP framing and the V.90 PCM training sequences follow the recommendations, and an independent test suite decodes them from our audio. The data that follows CONNECT is an approximation: there is no shell mapping, trellis coding or precoding. V.92's phase 3 reuses V.90's. The full list is in our open questions.

    Credit: Oona Räisänen's annotated spectrogram is the original and the inspiration. The ITU-T recommendations are free to read at itu.int.