Nov 17, 2012

The sound of the dialup, pictured

If you ever connected to the Internet before the 2000s, you probably remember that it made a peculiar sound. But despite becoming so familiar, it remained a mystery for most of us. What do these sounds mean?

(The audio was recorded by William Termini on his iMac G3.)

As many already know, what you're hearing is often called a handshake, the start of a telephone conversation between two modems. The modems are trying to find a common language and determine the weaknesses of the telephone channel originally meant for human speech.

Below is a spectrogram of the handshake audio. I've labeled some signals according to which party transmitted them, and also put a concise explanation below.

[Image: A large infographic detailing the phases of the dialup handshake, centered on a time-frequency-power representation (spectrogram).]

(High-res poster prints from Redbubble)

Hello, is this a modem?

The first thing we hear in this example is a dial tone, the same tone you would hear when picking up your landline phone. The modem now knows it's connected to a phone line and can dial a number. The number is signaled to the network using Dual-Tone Multi-Frequency signaling, or DTMF, the same sounds a telephone makes when dialing a number.

The remote modem answers with a distinct tone that our calling modem can recognize. They then exchange short bursts of binary data to assess what kind of protocol is appropriate. This is called a V.8 bis transaction.

Suppressing echoes

Now the modems must address the problem of echo suppression. When humans talk, only one of them is usually talking while the other one listens. The telephone network exploits this fact and temporarily silences the return channel to suppress any confusing echoes of the talker's own voice.

Modems don't like this at all, as they can very well talk at the same time (it's called full-duplex). The answering modem now puts on a special answer tone that will disable any echo suppression circuits on the line. The tone also has periodic "snaps" (180° phase transitions) that aim to disable yet another type of circuit called echo canceller.

Finding a suitable modulation

Now the modems will list their supported modulation modes and try to find one that both know. They also probe the line with test tones to see how it responds to tones of different frequencies, and how much it attenuates the signal. They exchange their test results and decide a speed that is suitable for the line.

Enough small talk!

After this, the modems will go to scrambled data. They put their data through a special scrambling formula before transmission to make its power distribution more even and to make sure there are no patterns that are suboptimal for transfer. They listen to each other sending a series of binary 1's and adjust their equalizers to optimally shape the incoming signal.

Soon after this, the modem speaker will go silent and data can be put through the connection.

But why?

Why was it audible? Why not, one could ask. Back in the days, telephone lines were used for audio. The first modems even used the telephone receiver like humans do, by talking into the mouthpiece, until newer modems were developed that could directly connect into the phone line. Even then, the idea of not hearing what's happening on a phone line you're calling on was quite new, and modems would default to exposing the user to the handshake audio. And in case you accidentally called a human, you would still have time to pick up the telephone and explain the situation.

All you had to do to silence the handshake was to send the command ATM0 down the serial line before dialing.

(UPDATE 02/2013: Due to numerous requests, I made this into a 42-megapixel poster that Redbubble is selling. Some $4 per poster is directed to the poor nerd who made this.)

61 comments:

  1. Thank you for illuminating one of the mysteries of my past. Very interesting stuff.

    ReplyDelete
    Replies
    1. You're welcome! Thanks for reading!

      Delete
    2. Thank you for this amazing amount of effort to explain that handshake sequence! I can't say it's been keeping me up at night, but the detailed diagram showing each part of the handshake sequence is beautiful!

      Delete
    3. It's so odd... I used to hate this sound when I got my first PC. I used to try and find ways to either turn it down or turn it off altogether... of course, you couldn't. Not really. But as time went on, I got used to it. Kind of like when you sign on to your computer and the OS greets you with a noise or a song. It was like the Pavlov's Dogs, and I got used to listening for those sounds. You could actually tell if your connection was going to be good or bad (ie, none at all) by the way the sound was modulating.
      That sound, to me, is like the sound of an old school typewriter. It's primitive, it's annoying, but I do so miss that kind of feed-back in the here and now! Classic stuff.

      Delete
  2. You make modems sound so polite. Please this, please that. ;)

    ReplyDelete
  3. I'm going to have to start hard coding please and thank you into my software from now on...

    ReplyDelete
  4. A walk down tech memory lane... this time with a guide :)

    Thanks for this smile.

    ReplyDelete
  5. So, would you like to sell a poster of that? Because I'd like to buy it.

    ReplyDelete
  6. So interesting! Thanks for the insight into this forgotten part of the Internet!

    ReplyDelete
  7. Beautiful. Absolutely, fantastically, nostalgically beautiful!

    ReplyDelete
  8. Thanks for this article, I really enjoyed it and the accompanying image!

    ReplyDelete
  9. What program did you use to generate the spectrogram?

    ReplyDelete
    Replies
    1. Baudline by SigBlips. Also Gimp and other image postprocessing.

      Delete
    2. I thought I recognized that particular shade of baudline-green. (:

      What an awesome signal analysis job you have done. You broke it down, demodulated parts, decoded bits, and understood a crazy handshake protocol. It must of been a lot of work. I am beyond impressed. Wow!

      Delete
    3. Thank you! It was a fascinating journey indeed.

      Delete
  10. Thanks for making this. I really enjoyed being able to match the "names to faces," so to speak. I made a simple jsbin version of the spectrograph with a "playhead" overlaid so you can see what is being played when, and click around as well. http://jsbin.com/amunug/17

    ReplyDelete
    Replies
    1. Very cool mashup, just what I was hoping for! Thanks for sharing!

      Delete
  11. Modem A: hey babe, you dtmf?
    Modem B: u know it
    Modem A: what u up 4 2nite? wanna v.8?
    Modem B: i wanna ack u like my daddy net2phone use 2 ack me
    Modem A: um ok... v.8 then
    Modem B: lol jk, u comin?
    Modem A: brt just gotta turn off echo suppressors n cancellers
    Modem B: ok i wait
    Modem B: my pcm is so modulated
    Modem A: lol rly? u think u can handle V.90/V.92?
    Modem B: D/A?
    Modem A: ...D?
    Modem B: wtf no, im not into that
    Modem A: lol jk we can do V.42 LAPM if u want im down 4 nething
    Modem A: up to 3429 o/c
    Modem A: u know i give as good as i get, ne way u want it, loud or soft, high or low, fast or slow, i got all the time in the world 4 u babe, my clock source is internal
    Modem B: of course no 3429. and same 4 me. except i might lose track of time, lol
    Modem B: and honey if u with me we gon be makin sum NOISE
    Modem B: 6db at LEAST u know how i like it
    Modem A: lol i hear ya, 3200 all nite long, the way u get me goin maybe we even go 2 4800 lol
    Modem A: set ur pre-emphasis filter params n put on that 1920 hz carrier frequency i got u
    Modem A: im here baby
    [SCRAMBLED]
    -ultimat142
    http://www.reddit.com/r/programming/comments/17jwoi/dialup_handshake_explained/c86evsf

    ReplyDelete
  12. Very cool! I'm wondering, did you just look up the conversation data or did you use something to sniff the data off of the modem line?

    ReplyDelete
    Replies
    1. I wrote a few Perl scripts to demodulate the FSK and DPSK, then manually decoded the bits based on the relevant ITU-T standards.

      Delete
    2. Great work! Can I trade my brain for yours? ( It's only very slightly used )

      Delete
  13. Very nice work! Takes me back to the 90s when I first started using dialup :-)

    ReplyDelete
    Replies
    1. Takes me back to the mid-80s when I could distinguish connect speed by ear (at least 1200, 2400, and 9600). Ahh, the days of listening to Telemate auto-redial the busy BBS number. ;-)

      Thank goodness we no longer need to worry about line noi230t9uc!%!f3333

      NO CARRIER

      Delete
  14. Awesome. I remember working phone support in the 90's for dialup internet users. I would sometimes have people hold their phone up to the modem so I could listen to the handshake, but I never knew exactly what the various parts were for. Thanks!

    ReplyDelete
  15. Hi,
    great! Thanks for sharing this. What about doing something similar for DSL line handshaking:

    "The ITU-T has recently standardized a handshake and activation method for xDSL modems. This method is
    contained in the ITU-T Recommendation G.944.1 (formerly known as G.hs). Several of the features of
    G.994.1 came from the voiceband handshake Recommendations V.8 and V.8bis,"

    ReplyDelete
  16. Thank you Oona from a mother of an Ouma - that was fun to read

    ReplyDelete
  17. This sounds like US signaling. We had totally different in Europe and former USSR.

    ReplyDelete
  18. Thanks for making me feel old...

    ReplyDelete
  19. Thanks for such a nostalgic read! I think I just played the sound clip about 20 times. I would love to print a large format poster of the spectrogram with all your notes and put it up in my office. Would you mind sending me a high-res version that would print really clear? A vector version if you have it is best?

    Thanks in advance!
    Tony

    ReplyDelete
  20. Dear Oona Räisänen
    your lastname must sound a bit like the krrrBliipkrraaa sounds of my good old modem of mine carefully chucked in a box in the cellar.

    But what an interesting and great article !

    thank you !
    Edualc

    ReplyDelete
  21. Thank you, Oona. This brought back fond memories.

    My first modem use was in 1979 with 300 Bps and then in 1981 with 1200 Bps. In the late 1980s I used a 2400 Bps modem for the first time and loved it. The move to actual Kbps speeds and then digital modems, and then routers were all just normal parts of an evolving network. But I realized I missed the modems' sounds and control/handshake sequences, which allowed an engineer to more closely follow and understand the data transmission process.

    We've coma a long way, and we should capture this kind of thing to remind us of the journey.

    Again, immense thanks.

    ReplyDelete
  22. I remember when I got my first 2400 baud modem @ an amiga show in NY, it was between that or a digiview video digitizer. Best purchase I ever made. I also remember when my friend bought a 14.4 baud modem, those days it was crazy fast! ah the memories BBSing late into the night, of board games and war games dialers.. those were the days..

    ReplyDelete
    Replies
    1. Yeah, 33.6 was a superhighway compared to 2.4. I couldn't have imagined text flowing so fast.

      Delete
  23. Terrific! The infographic is great - those conversation 'balloons' really help to understand what's happening. Thank you!

    ReplyDelete
  24. I have created a moving-pictures version of the above here:
    http://youtu.be/qEPIoyYB8hc
    Thanks for the inspiration.

    ReplyDelete
  25. Found this from a post on imgur. I actually use this same sound clip as my morning alarm haha. I alaways wanted to know what it all meant. Thanks formaking this. :)

    ReplyDelete
  26. Just read about this on HAD, really interesting stuff. I actually have this as my ringtone. Leads to a few strange looks but also gets some smiles from the people old enough to remember dialup internet. :) . I really wish there were a lot more girl geeks out there. Thank-you for a really enjoyable read. :) Jon W

    ReplyDelete
    Replies
    1. Thanks for reading! I also had it as a ringtone for some time, gave me some true old-skool street cred.

      Delete
  27. This is a really good read for me. I just found your website a few days ago and I have been reading through it regularly. Thanks a lot for enjoying this beauty blog with me

    ReplyDelete
  28. Thank you for a great post! I remember the moment that my boyfriend and I learned that acoustically coupled 300 baud modems can't parse the sound of a vacuum cleaner. It did try! Screen after screen of garbage!

    ReplyDelete
  29. I think there's a few issues with the labelling (as far as which is sent by the calling modem and which by the answering modem). In the V.8bis transaction CL is sent from the answering modem, NOT the calling modem (so the MS and ACK(1) packets are sent by the other modem as well). Also, it seems as if the phase 2 labelling was referenced from the V.34 standard (which V.90/92 is based on). However, in V.90, these "roles" are often reversed (based on which modem is analog and which is digital) - this can be verified as to which wide-spectrum probing signal is "sharper" (because it's the one being sent by the calling modem).

    Don't get me wrong, I love this post - it's inspired me to learn all the different V-series standards and try to build my own dialup modem!

    ReplyDelete
    Replies
    1. Cool, thanks for actually taking the time and reviewing this! :) I've been wondering why no-one has pointed out any mistakes. Maybe I should make a bugfix version in the future.

      Delete
    2. No problem :)

      (also, I noticed that the very last chunk of noise is actually an Sd to Sd-bar to TRN1d since the digital modem doesn't use QAM, but that's probably a minor point anyway, considering it's all visually uninteresting noise :P)

      Delete
  30. Hi Oona,
    You are awsome !
    Thanks a lot for enlighting us!
    Kind Regards from Barcelona, Spain.

    ReplyDelete
  31. I have to say that this has got to be the most detailed discretion of modem handshaking that I've ever seen. Thank you for making this pic, so cool!!

    ReplyDelete
  32. You have an awesome blog! This post really gave me the fuzzies - I remembered the days of dialing into BBS's with my brand new 14k bps modem. Never realized that what sounded to me like random beeps and fizzes was actually my modem having a civilized conversation! Thanks!

    ReplyDelete
  33. I still hear this sound in my dreams. I remember I could tell the connection speed after hearing the handshake. Travelled all over the world from home, (BBB=Bergen-by-Byte, anyone?), and it ended up as my iPhone ringtone at some point. Thank you for the remembrance!

    ReplyDelete
  34. I remember calling my friend's house to play some Doom. His mother would always pick up the phone and I'd listen to them argue over the sound of a lonely handshake attempt. Thanks for the memories and great info.

    ReplyDelete
  35. Wow! In 30 years of using computers, I've never seen an article on modems as beautifully written as this! Many thanks for educating us.

    ReplyDelete
  36. Thanks Oona Räisänen! Beautifull & inspiring work

    ReplyDelete
  37. Oonaa: Can you believe that in Cuba, we still use Modem to acces Internet (at best), Intranet, and local e-mail servers !! This sound you described and explained brilliantly it is still (2015) a sound that millions of people in Cuba long to hear @ home. Cuba have one of the lowers internet penetration index (http://www.internetworldstats.com/carib.htm#cu). The mean download velocity is 1,28 Mbps. Unfortunately, this sound is not part of our latest technological history :(

    ReplyDelete
  38. OK, I just had a flashback. Wasn't there a version of the handshake that did a 'bong' twice? Was that a USRobotics version?

    ReplyDelete

The comments section is pre-moderated.

You might want to check out the FAQ first.