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.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.