Recognizing DTMF (or is it DTFM?)

I need to use a Modem to program something which will act like those "If you want to talk to a sells person, dial 1",
in other words, a voice modem which will be able to send (and record) voice incoming (which is a standard in Voice modems), but will also be able to RECOGNIZE (and report to the computer) what key was dialed on the remote phone. Anyone?
Who is Participating?
Vitali NassennikConnect With a Mentor Commented:
1) You must use modem with Voice/Audio features.
     All Voice modems have built-in feature to recognize DTMF, fax/modem specific tones, dial and busy tones, voice and silence etc. All this signals are reported by modem as DLE-shielded codes. Each signal is represented by two bytes - DLE (0x10) and signal specific letter. For example,
<DLE> 1 means DTMF "1", <DLE> # means DTMF "#",
<DLE> B means DTMF "B", <DLE> d means dial-tone detected,
<DLE> b means busy tone detected etc. All modems report signals in this manner but means of each letter are model-specific. AFAIK, there are no standard for this feature.
Every manufacturer uses his own protocol.
2) You must program modem to put it in Voice Online Command Mode.
     It can be done by model-specific command. It may look like AT#CLS=8 (for USR and Rockwell modems),
AT+FCLASS=8 (for some other models) etc.
When modem enters Voce Command Mode it responds "VCON" and begins to detect and report special signals like DTMF tones.
You have to analize data stream and detect <DLE> shielded codes. <DLE> <DLE> means single 0x10 code which may occur in digitized voice data stream.

You can get some info from "vgetty" sources (located in many FreeBSD sites).

I know much about USRobotics Sportster Voice modem.

Ask me if you have additional questions.

Actually, its DTMF - Dial Tone Multiple Frequency - as opposed to rotary (click,click,click).  Try VP Express at  With their VB modification capability to access telephony methods, your imagination is the limit.

unfortunately I have no idea what you want to know...
Do you need a suggestion on applying a certain modem or using a certain software or do you want to program this feature yourself ?
Maybe I'm completely wrong with more specific !

Improved Protection from Phishing Attacks

WatchGuard DNSWatch reduces malware infections by detecting and blocking malicious DNS requests, improving your ability to protect employees from phishing attacks. Learn more about our newest service included in Total Security Suite today!

TMillerAuthor Commented:
I'm sorry, what the question was, was is it possible, if so using which kind of modem? if so, what AT command invokes such a tone recognition feature in the modem.

To be clear, I want the MODEM to report which key was dialed, and not make the modem record it vocally, and use a voice recognition software to desipher the signal.
> I want the MODEM to report which key was
> dialed, and not make the modem record it
> vocally, and use a voice recognition
> software to decipher the signal.

You should "teach" the voice recognition software
to recognize the sound of each of the 12 keys
on a touch-tone dial,
i.e., this sound "beeeep" is the "octothorpe" key, et cetera.
You need more a software (professionnal version) more then a modem. Check with Cheyenne or Diamond or Smith Micro Softwere. They must have a software that will do what you need !
TMillerAuthor Commented:
I'm asking which Modem is capable of doing so, not with VR, but a modem which is capable by it self!

What Modem, and using what command.
The modem is used for communication between the computer and the telephone line.  All modems do that, so take your pick.....
Modems won't do what you want by themselves.
What is needed to accomplish your task is a program that recognizes DTMF tones.  The software recognizes the occurance of a specific keypress, and responds by instructing the computer to do something. (Ring a bell, save a file, turn on your coffee pot, etc.)
Such software is generally called voice mail.
Let me know if you need more.

TMillerAuthor Commented:
I heard of a Modem which after a certain AT command will answer a RING in voice mode (ie, w/o an attempt to connect) and then will echo every key pressed to the console as a corresponding character (ie, 0-9, #, * etc...).

Question (1): Which Modem
Question (2): What AT Command
The AT command set for your modem will tell the modem what to do for certain events, but you're still going to need a program to make use of the output.  Unless a terminal program is all you use for display.

TMillerAuthor Commented:
I will write the program which will analyze the console-dump, that's not a problem, but what will tell the modem to write to the console every key dialed?
It still sounds like you are asking for a modem to do what voice mail software does.
Why re-invent the wheel?
Here are some programs you may wish to look at:
     TalkWorks from Symantec
     Procomm Plus32 from Quarterdeck

TMillerAuthor Commented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.