Caller ID Phones: History, How They Work, and Source Code
A detailed history of Soviet and Russian automatic caller identification (AON) devices — from 17-chip KR580VM80A designs in the late 1980s to Intel 8031-based units with phonebooks, voice announcement, and even a custom microcontroller with a built-in sound chip.
In this article, I attempt to briefly summarize the history and provide an overview of the main models of phones equipped with automatic caller identification (AID, known in Russian as AON — АОН). I apologize in advance — since complete information is difficult to locate, the article may contain inaccuracies, particularly regarding names. If you discover any discrepancies, please clarify in the comments so we can collectively assemble a complete picture.
Phones with automatic caller identification suddenly and vigorously entered everyday life in the late Soviet period. Surely everyone wanted to know who was calling — or had called while they weren't home.
Historical Context: Telephone Communications in the USSR
In the Soviet Union, telephone communication played a vital role in human interaction. Before automatic long-distance exchanges, anyone needing to call someone in another city had to use a long-distance communication office or order a call by dialing 07 from home. The operator would verify the caller's details — whether the phone was registered to them, whether they were calling from home or a hotel — as this determined billing procedures.
When the digit "8" became available for long-distance dialing, the necessity for operator assistance gradually diminished. When a subscriber dialed "8," their local exchange connected with the long-distance exchange. That exchange, to identify the subscriber's number and category before establishing the connection, queried the local exchange. Upon successful identification, it permitted further number entry with a long tone. The same identification principle underlies home caller ID phones.
How It Works
The telephone line maintains constant voltage of approximately 60 volts during idle states. When an incoming call arrives, the ring signal is an alternating voltage of approximately 120 volts. In mechanical phones this triggers the bell; in electronic AID devices, a call detector activates and the phone effectively "picks up." Once the handset is lifted, line voltage drops to about 24 volts. The AID phone immediately sends an identification request signal: a 500 Hz tone lasting 0.1 seconds.
The telephone exchange, upon detecting this request, forms and transmits a response containing the caller's number and category. Due to variations in exchange parameters, the local exchange might miss the first request — so AID phones repeat identification requests several times as a safeguard.
After receiving the response, the AID decodes the number, alerts the subscriber to answer, and simultaneously generates ring tone signals ("call send control"). Since the AID typically picks up on the first ring from the exchange, the calling party must continue hearing ring tones. Because the exchange has already established the connection and doesn't send ring tones to the caller, the AID phone generates them until the subscriber answers. The concept: the caller continues hearing ring tones, while the called party decides whether to pick up.
Signal Encoding
The exchange response is an encoded signal — a "continuous packet" in "2 out of 6" code. The "continuous" designation means no pause occurs between successive digits. For consecutive identical digits, the first is transmitted followed by a special "repeat" code. Thus consecutive 2s transmit as: "2," "repeat," "2," "repeat," and so on.
The codes use combinations of two frequencies from the set: 700, 900, 1100, 1300, 1500, 1700 Hz.
The packet sequence:
- Transmission start (combination #13)
- Subscriber category digit
- Units digit of the phone number
- Tens digit
- Hundreds digit
- Thousands digit
- Ten-thousands digit
- Hundred-thousands digit
- Millions digit
- Transmission end (combination #13)
The category digit indicates subscriber type: 1 = residential, 2 = hotels, 6 = long-distance payphone, 9 = business, etc.
The most complex and interesting aspect involved accurately determining the incoming number quickly. This was the primary function of AID phones. Early models required 15–20 seconds for decoding.
Development History
All known consumer AID phone designs used microprocessors or microcontrollers, which is why they only appeared in the late 1980s.
First Generation: KR580VM80A
The first documented AID design contained 17 microchips. The KR580VM80A-based scheme, described in Ponomarenko's book "Telephones, AIDs, Radiotelephones," used several analog chips (KR140UD8A) — two for AID functions, one for line analysis and call signal amplification. Few practical implementations of this design have been documented.
Display Technology
Nearly all AID schemes used the ALS318A indicator — possibly the most common display component in the USSR. This device appeared in late-1970s calculators and dominated various products through the mid-1990s. Its main drawback was small digit size. Manufacturers ordered indicators with identical pinouts but enlarged digits. Some designs employed luminescent tube displays such as the IV-28A type.
VEF-TA12 Designs
The most recognized KR580VM80A-based design used a VEF-TA12 telephone chassis. Before AID phones, imported phones weren't widely available in the USSR, but VEF phones were accessible and attractive. The original board was simply replaced with an AID identification board.
AID phones became instantly popular. At radio markets like Tushino, Mitino, and Yunona, one could purchase complete phones, assembled boards, or bare PCBs — something for every budget. Imported telephone chassis began arriving; initially only their cases were used. Later, developers adapted original boards for power-failure operation ("2-in-1" functionality). Eventually, only the chassis were imported.
Transition to Z80
KR580VM80A phones were quickly succeeded by Z80-based models. These processors, popular among ZX Spectrum enthusiasts, began massive importation into the USSR for both computers and AID phones.
KR580VM80A phones required three supply voltages: +12V, +5V, and −5V. Z80 processors required only +5V, significantly simplifying power supply requirements. Beyond the processor, boards typically included ROM with firmware, 2 KB of static RAM (KR537RU10), a parallel port (KR580VV55A), and a timer/sound generator chip (KR580VI53).
Number Identification Method
The most challenging aspect was accurate and fast number determination. Early phones used analog filters with complex circuitry and difficult calibration; later phones used digital filters and mathematical signal processing. One identification method worked as follows: single-bit samples accumulated in counter pairs (sine and cosine components) for each of the six frequencies with multiple coefficients (−1, 1, and possibly 0), then the magnitudes of cosine and sine accumulators were summed. From six frequencies, the two strongest were selected for each 10 ms interval. If three consecutive intervals yielded identical results, the digit was considered correctly received.
Key Contributors
Several individuals made significant contributions to AID development:
- Sergei Kachashkin — implemented the KR580VM80A scheme in the VEF-TA12 chassis
- Igor Korsun, Sergei Timakov (Telesystems) — first recognized Z80 scheme
- Oleg Togidny (Ellis) — Intel 8031-based designs
- Tatiana Zhuravleva, Nikolai Freymundt (Palicha) — model development
- Sergei Kosov (MELT) — model development
The "Rus" Company produced the most popular "folk" phones, with Alexander Barykin, Pavel Suhodolsky, Dmitri Petukhov, Sergei Bulba, and Stanislav Kuzin leading development. Among ZX Spectrum clones, the "Leningrad-1" dominated; among AID phones, Rus boards — and especially Rus software — dominated, installed in phones from many manufacturers.
Software Evolution
AID software constantly evolved. While early phones merely displayed numbers, Z80 and later PIC or Intel 8031-based devices featured phone books, incoming call memory, and dialed number logs. Voice number announcement was added, with particular attention to audio quality. Eventually, clear recorded voice won out — reportedly using a neighbor of one of the developers as the speaker.
Copy Protection and the Piracy Paradox
Amid massive AID popularity, numerous people developed and manufactured boards. To prevent firmware copying, Rus phones implemented protection via a special "floating bit" writing technique on standard ROMs — certain regions were written so they read differently each time. During normal copying, floating bits disappeared, causing the program to refuse operation.
While relatively easy to circumvent, numerous hackers did so. Whenever cracked versions emerged, Suhodolsky released improved new versions. Ultimately, circumvention benefited the developers — anyone could obtain a functional (if not latest) version, while the authors enjoyed enormous distribution as publicity. This paralleled the early history of 1C accounting software: widespread piracy eventually shifted to legitimate purchases with full support.
Cultural Impact
AID phones became so popular they left traces in cinema — notably Alexei Balabanov's 1997 film "Brother," which even featured the rare "Pulsar 201" model. When AID phones became standard household items, companies offered original designs — including LCD-based attachments powered solely by the telephone line.
Intel 8031 Era
Shortly after Z80 AIDs, and eventually becoming the de facto standard, phones migrated to the Intel 8031 microcontroller family. Intel 8031-based schemes eliminated the need for the timer chip KR580VI53, and later even external RAM, as the microcontroller's internal RAM sufficed. Phone book and call history data were stored on EEPROM chips (24LC16).
As time progressed, AID manufacturing transformed from a hobbyist activity into serious business, with PCBs becoming increasingly professional. "2-in-1" and "3-in-1" phones emerged — the ability to make calls during power outages. Separate digital answering machine attachments were available before built-in versions appeared. Voice number announcement at the start of each hour was a crowd-pleasing feature.
The Palicha P-750: Hi-End of the AID World
The most sophisticated AID phone featured a graphical LCD and an original design — essentially the hi-end of the AID world. Chip count and board size within AIDs continuously decreased throughout this period.
The R100-XP: A Custom Microcontroller
Despite the market appearing mature, the Rus team developed their own 8031-core microcontroller: the R100-XP. Besides the 8031 core, the chip integrated an analog sound generator circuit compatible with the Yamaha YM2149F and General Instruments AY-3-8910. It also supported computer communication via a separate interface board.
The End of the Era
Later phones identified numbers not only through two-tone signals after pickup, but through Caller ID systems, enabling identification and voice announcement before answering. A multi-segment display with an embedded 74HC595 shift register was even developed, though it never reached production.
These developments essentially concluded the home telephone AID era. Following widespread cellular adoption, traditional landline phones faced declining demand, and the AID business diminished.
Downloads
Thanks to Pavel Suhodolsky for providing information and source code. The following are available for download:
- Source codes: 8031 & Z80 Rus AON Sources
- A80 Compiler: a80_compiler.rar
- Cross-tools: crossasm-8051-tools.rar
- Rus-24 for Z80: russ24_z80.rar
- R100-XP processor sources: r100xp_sources.rar
Publishing this source code is a significant event. Readers can now study exactly how these historically important phones functioned. For extensive board photographs and device descriptions, visit the Telegram chat: t.me/retrocomps.