Back in 1999-2000 the state of the art in computer telephony was called Interactive Voice Response (IVR). Nowadays when we speak of "voice" we usually mean voice recognition, but back then all that those early telephony systems could do was to playback recorded messages and wait for the caller to press digits on their phone.
The hardware had special filters to recognize the DTMF digits, probably because the CPU was thought of as too wimpy to do it by itself. I experimented writing WAV-file processing filters on my own, and discovered that it took less than 10% of CPU time per phone line to run such filters in software, so it could certainly be done, but then again there existed systems out there in configurations of 30 or even 100 lines per computer, and of course the CPU was not enough for those. So, I used the filters that were built-in to the hardware for the work project, and I only experimented with the software filters at home, for fun.
My employer at that time managed to secure a number of computer telephony contracts for a couple of big clients; he gave me a rough description of what the projects were supposed to do, and he had my coworkers slide pizza under my office door for as long as it took me to complete them. He probably charged his clients the equivalent of a dozen programmers for this, and it was all done by me. The only external help that went into these projects was messages recorded by a professional at a recording studio.
What follows is some screenshots of the telephony application that I created to run these projects, in Microsoft Visual C++ using MFC and the Dialogic Telephony API.
Read more »