Ghosts on the Line
Before packet switching ate the world, the telephone network signalled in band — the same channel carried your voice and the tones that controlled the switches. That design decision was an open door, and a generation of curious kids walked right through it.
The magic frequency
A long-distance trunk, once seized, listened for a single tone to mean "the line is idle, ready for routing":
2600 Hz -> trunk idle / seize
then MF tones (pairs) to dial:
digit freq pair (Hz)
----- ---------------
1 700 + 900
2 700 + 1100
5 900 + 1300
0 1300 + 1500
KP 1100 + 1700 (start)
ST 1500 + 1700 (stop)
Whistle, play, or synthesise 2600 Hz down a seized trunk and you could take control of the call routing — a "blue box" did exactly that with a handful of oscillators.
Why tell this now
Not as a how-to — the SS7 signalling that replaced in-band tones killed this decades ago. The lesson is architectural and evergreen: never mix your control plane with your data plane. The phone network learned it the hard way. Every protocol since has re-learned it, usually the hard way too.
The phreaks were not vandals. They were the first people to read the network's documentation more carefully than the people who built it. That instinct — read the spec, then read between it — is the whole job.