I don't see much difficulty at all with making this happen. All you need to do is supply power to the phone and the raspberry pi, tap into the audio right from the handset wires, and have the software on the pi handle everything. The electronics part shouldn't take more than a few minutes to complete.
The software side might be a little more difficult, but still not that hard. Makes me want to get another pay phone and do it myself. I don't think there's any software out there written specifically for what you're trying to do. Basically what you need is a pbx server that you don't actually dial into, because you're in as soon as you pick up the handset. You could trick it into thinking a call came in by triggering it when the handset is lifted and the pbx handles the rest. The pbx software will handle the dtmf decoding and move the user through all the menus that you create. Most will support music on hold, which you could use for playing back the mp3's, but I don't know of any that will let the user control a playlist. I do think this would be a good starting off point for you though. It may be possible to pass off control to another program that'll handle playlist control. But that's all a software thing, nothing electronic or mechanical about it.
Someone else mentioned using bluetooth to control the playlist. Please explain how (and more importantly WHY) that should be considered. I've been trying to think of any reason to use bluetooth at all and I'm coming up blank.
Sent from my XT1565 using Tapatalk
A few minutes?
The phones not going to be at logic level voltages. Also how is a new user supposed to know how to operate or what a pbx system is? The I/o pins can't just take tones into them as far as I know so what interface on the pi would you use? Learning to solder or taking the phone apart and learning how to use a multimeter all in a few minutes and learning the pi plus creating the SDcard and learning pbx software and learning a programming language to write new software that controls an mp3 player? I guess we have different definitions of "a few". When you say things like this to a "newbie" and they realize its not that simple it is really off putting. Doesn't the phone run off 60 volts? You are going to need to build a supply for the phone then build a converter so you don't blow up the pi then also modify/cut open a usb supply to run the pi, then get the handset to work both with the pi and the phone voltages. Either you are missing something or you are the fastest prototype builder in the world. If you do really have the skills to do this why not offer to have the parts shipped to you so you can help them? Setting up a pi for the first time takes more then a few minutes and also getting to programs to run on Linux isn't like windows plug and play.
Yes, just a few minutes for the electronics portion of the project. Using the pi to handle the software (I just used a pbx as an example of a system that's already 90% of what needs to be done) the only things left to be done is supply power, and tap into the audio at the handset wires. There's absolutely no need to get into any other electronics inside the phone or deal with logic to make it work with the pi in the suggested way. Yes, the pi can decode the dtmf tones (they have audio input and output built in, no need to use I/O pins) and send commands to the software to make it do the requested task.
The handset is just a microphone and a speaker. That's the only part of the phone that really needs to be touched. The speaker part of it doesn't even need to be connected to the phone, as all of the audio will be coming from the audio output of the pi.
I know I'm not covering every detail involved, but I'm not really missing much, if anything. I didn't nay the whole project would only take a few minutes, just the actual working with electronics part of it. The OP first needs to do some research on the power requirements of the phone before touching it. I'm sure there's thousands of much more complicated ways to achieve the same end result, but I believe mine requires the least amount of electronics experience, which I'm pretty sure was what the OP was looking for.
The software is where the real time is going to be spent. Learning programming languages is most likely not necessary, but always useful, and will make things easier. It may be possible to use already existing programs together to get everything done. One program listens to the user input, analyzes it, and passes a result to another program to perform another function. There may actually already be a fully made software solution out there, I wouldn't be surprised, but it might not be free. Look at dial-in services that have existed for years like moviefone. Once you're connected you use the keypad to navigate the voice menus. I don't know what software they use (do they even exist anymore?).
If you can find software like moviefone and simply supply correct power and splice into the audio you're pretty much done. Of course if you wanted to add other features (like triggering coin return if someone inserted money or making it ring) you would need to dig more into the electronics of the phone.
Sent from my XT1565 using Tapatalk