Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can Modem receive DTMF from a phone or DTMF from other device??

Status
Not open for further replies.

taytt

Programmer
Sep 11, 2003
4
US
Hello,

I am trying to to send and receive DTMF from modem and phone (or embeded modem). I can send DTMF of 0-9, #, *, A, B, C and D from a modem (internal modem) to a remote device. But, I don't know how to set-up the modem to receive DTMF from other device (such as phone or other DTMF modem). Is there any command that I have to use to enable the modem to receive DTMF characters?

Please help, anyone.

Tom
 
Not sure what you are asking.

You want a modem to answer then handle DTMF?

I cannot find any modems or software to do this.

Maybe custom modems. Modems don't send DTMF after the other modem answers, or decode received DTMF.


"I will not be pushed, filed, stamped, indexed, briefed, debriefed or numbered."
No. 6
 
Any voice capable modem can do this. There is an FAQ on how to determine if the modem is voice capable.

I don't know of any programs that will perform DTMF detection, but if you are even a little VB literate you can create a program that will detect tones by using Turbo Power's Async Pro serial control. You can download it from I've used this control in VB6 and C# without problems.


pansophic
 
You can definitely send a flash in data mode by putting a '!' in the dial string, but I have never attempted to do this in voice mode.

Try this:

ATDT<phone number>;
OK
ATDT!,<second phone number>;
OK
ATDT!;


The first time should dial your number,
the second command should flash and dial the next number,
the third command should flash again to put your calls together.


pansophic
 
Hello Pansophic,

Would you explain the exact steps to make the modem to SEND DTMF and RECEIVE DTMF (in Hyper Terminal using AT cmd). I have read your reply and try to locate the Turbo Power's Async Pro from the site you suggest but, no luck (actually, I don't know what to look for. What is Turbo Power's Async Pro? A stand a lone compiler???).

I can write a program in QBasic (or Liberty Basic). I am in writing a program to send and receive DTMF from my PC to a phone. As of today, the program can detects DTMF, but I have trouble to set up the modem to transmit mode.

If you don't mind to explain to me by my email address, I will send my email address to you.

Thank you

Tom
 
Making the modem send DTMF in Hyperterminal is simple, you just need to type ATDT and the digits that you want to send.

If you want to receive DTMF digits, then you need to have a voice modem. I wrote a quick FAQ on how to figure out if you have a voice modem. It is in the FAQs of this forum.

You will have to put the modem into voice mode and be in an on-line mode (have dialed a phone number and connected, or answered and connected). Then you will receive the DTMF digits as <DLE># for each digit. Data Link Escape is a single character, Cntl-P, or 0x10 or 16 decimal.

As far as Async Pro is concerned, it is an ActiveX object that you can use in VB or any other ActiveX compatible language. I don't believe that QBasic will allow the use of ActiveX, but I haven't tried it. But you should be able to use it in VBA.

Let me know if I can help you out in more detail.


pansophic
 
Hi Pansophic,

After I Posted to you, I went and look through your FAQ to study some more. I then search for AT command on the Internet and found many informations. By combine all the informations from you and the internet, I be able to put together a routine to send DTMF and detect DTMF (all 16). I am very happy to see some progresses. I will try to make my program works the way I want.

I still have problems on some other things, but I will try to work it out before I post here to ask you again.

Thank you for your help

Tom
 
How are you talking on the phone line? Are you using the telephone, and have the modem wired in parallel? If so, you can't flash hook, because the phone is still off-hook.

If you are using a voice modem and the speakerphone functionality, then you should be able to send the flash through the ATDT command and dial the second number.

You may be able to press flash on the phone, then use the modem to make the second call, then press flash to put the calls together, but that is a little more difficult.


pansophic
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top