This tutorial will be more geared towards Linux users but the tools here can also be compiled to work on Windows and Mac.
DTMF is an abbreviation for Dual-tone multi-frequency signaling. Every time you press a number on a touch tone keypad, A tone is generated for the number you've pressed. It's most commonly used on telephones, But can also be found on Gate opening systems as well as some door locks. It is very easy to decode these tones to their corresponding numbers with a Linux computer and the proper software.
The Linux distribution I will be using in this demonstration is Ubuntu and I'll be using multimon-ng to decode the DTMF tones. Multimon-ng can be pulled from Github and compiled on many operating systems including windows with MinGw or Cygwin.
The audio source can be direct from the sound card microphone input or you can use a monitor of the audio interface. Alternatively, a sound recording can be used as long as it's in wav format.
Lets get started!
Fire up a terminal window and navigate to the directory where multimon-ng is.
Now that you're in the directory, Make sure you have your audio plugged in to the mic port. You can plug phone line audio directly to your sound card using a Telephone recording interface that can be purchased online or at RadioShack. Alternatively, audio recordings can be decoded which we will cover in a little while.
To decode tones from the microphone input simply use the command, "./multimon -a DTMF" without quotations. If you would like to see a visual scope you can add, "-a SCOPE" to the above command. Typing "./multimon --help" will show you the available options.
Assuming you have the Telephone line hooked up to your computer, Run the command and press some buttons on your phone. You should get the output of the numbers you pressed, In my case it was 1234567890.
And there you have it! If you want to use an audio file instead, You would specify the type of file format and the directory of the file like so.
"./multimon -a DTMF -t wav /root/dtmf.wav"
Of course your directory and file names will be different. Simply replace /root/dtmf.wav with your own wav file.
As a word of caution, You shouldn't ever use DTMF to secure anything.
Have fun and keep learning new things!