Converting an old analogue phone to VoIP, part 1 of N

Telephone Model 70, made by Autophon, 2. Dezember 1983.

Some time mid last year (Corona year 2020), I picked up an old analogue push button phone, from a Brocki (Brockenhaus) nearby. I think I paid something like 15 or 20francs. Not sure why, it just looked at me and begged me to “take me home”, I suppose 🙂

At first I just left it in the office on a shelf, not having any immediate plans for it. Being an old analogue phone, connecting it to our VoIP telephone system would not be possible, except perhaps with an A/D converter – so I slow began contemplating maybe converting it to VoIP. It seemed it ought to be perfectly feasible with a Raspberry Pi or some such, the inner electronics of an analogue phone are not overly complicated.

By December time, the idea had begun to take some shape. I had tried out the receiver, by connecting it to a USB sound “card”, one of those with a CM108 chip. I had also tried hooking the phone up to an A/D converter, a Linksys SPA2102. As the model 70, at least in this version, uses pulse dialling, that did not go very far. I had also studied other people’s conversion projects, e.g. Convert a rotary phone to VoIP using Raspberry Pi and Dette er en IP telefon or AS Elektrisk Bureau, both of which made it clear that I was not on some wild goose chase.

Nanopi Neo Air, side 1

Because the Raspberry Pi had been chosen for at least two such conversion projects, it had to be an obvious candidate for mine too. I also had a couple of Raspberries not being used for anything. On the other hand, I am not really a fan of the Raspberry Pi, I find it is too bulky and that there are many other smaller ARM boards that do a better job, in particular the Nanopi Neo Air, which I have used for a few projects in the past. When I realised that (a) the Raspi would need an external sound card whereas (b) the Nanopi had a built-in audio codec, directly accessible via four PCB headers, the choice was even easier.

After also verifying that the receiver could be connected directly to the audio codec pins, i.e. without any intermediate circuitry, the hardware choice was decided. Software-wise, I picked openSUSE Leap 15.2 as the basis. openSUSE has long been my go-to distro for everything I do, so that was easy too. On the telephony side, I had to go do some research, but it didn’t take me long before I settled on Linphone. For interfacing the miscellaneous hardware bits with the Linphone SDK, I planned on writing a small finite state machine in C. For configuration, I plan to run a small http server (thttpd).

From the beginning, my objective for the exercise was quite clear – the phone had to retain its retro 70/80s look and operation, yet have modern day VoIP functionality. Adding the OLED display does violate this idea somewhat, but I think it fits in quite well.

About per

This entry was posted in IT stuff and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *