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 Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How can i detect busy tone after i use "ATDTxxxxxxxxxx;"?

Status
Not open for further replies.

andrewzhang

Programmer
Aug 20, 2003
4
0
0
CA
Hi,

I'm trying to detect busy tone after i use "atdtxxxxxxxxx;", because after dial that phone number, i need to dial more extention numbers.
I always get the "OK" message, not "BUSY" message from modem buffer.

By the way, i use Mscomm control and the modem is a voice modem(AOPEN).

I also try to use "ATDTXXXXXXXXX", in this way , i could detect the busy tone, but i can't return to command mode because i need to dial more extention numbers, i try to use "+++"(no crlf), but it is not working.

I also try to change to voice mode by "at+fclass=8" and "atvtx", but there is same problem.

I realy need some help :)

Thanks .
 
Good, if you have a voice capable modem, then you don't use the ";" at the end.

AT+FCLASS=8
OK
ATDT XXXXXX
OK
Here you wait for either a VCON (Voice Connect) or a <DLE>B (busy). You may also get a <DLE>F (fax or modem).

In voice mode, you can continue to dial digits, but you need to use the send tone commands instead. I forget the syntax off of the top of my head, but it is relatively simple. If you can't find the commands, drop another message here telling me that you have gotten this far and I'll see if I can locate them.


pansophic
 
Thanks for your reply.

could you please find the syntax for me if it is not a trouble for you?

I try your msg at hyperterminal.

ATE1
OK
at+fclass=8
OK
atdtxxxxxxxxxx
OK
>b>b>b>b
=======at here, the modem drops me off-line and then gives me busy tone, but if i use the atvtx, then i will hear the voice from other side, just like below.

at+fclass=8
OK
atvtx
0
atdtXXXXXXXX
=======at here, i can hear the voice from other side, I could dial extention numbers if i get the syntax from you.

I also try this way.
at+fclass=8
OK
atvtx
0
atdtXXXXXXXX;
=======at here, i can hear the voice from other side and dial atdt1; but i can't detect busy tone.

The other side is auto answer machine, according its instruction, i will dial 1,2 ....

Happy to get your more help

Thanks
 
You may also need to set your RGA (Ringback Goes Away) timer to a more appropriate value. Try +VRA in the 4.5 second range, which may be +VRA=45. That way you can detect an answer. If that works, you'll also want to look at your Ringback Never Arrived timer. Probably +VRN.

ATE1
OK
at+fclass=8
OK
atdtxxxxxxxxxx
OK

AT+VTS={5,1,6,1,7,1}

{DTMF_DIGIT,DURATION_IN_100_ms}

should theoretically send 567 at 100ms duration each, but that is based on some shaky information. I was using a Rockwell modem when I did this. It looks like you are using a Lucent chipset. If not, you can specify the DTMF tones based on their horizontal and vertical frequencies like this:

AT+VTS=[941,1477,10] will send a '#' for 100 ms.

[Freq1,Freq2,Duration in 10 ms]

Note the {} vs []. It appears to be important, at least it was with the Rockwell which assumes a tone definition with [] and a DTMF digit with {}.

Frequencies are:

Code:
       1209   1336   1477   1633

 697     1      2      3      A

 770     4      5      6      B

 852     7      8      9      C

 941     *      0      #      D

The ABCD tones are rarely (maybe never) used in the network these days, but all of the tone generator chips are still able to generate them. I've also not found a detector that didn't detect them.

Let me know how you fare.


pansophic
 

thanks you very much!

It works mostly, only left one. I would like to hear the voice throuh the speaker of the modem(the chip is connexant).

ATE1
OK
at+fclass=8
OK
atdtxxxxxxxxxx
OK ===========at here, I can't here the voice, I have to pick up the phone, then i can hear the voice from the phone, i don't know why?


thanks a lot.
 
Through the modem speaker? Or are you trying to get it to your sound card?

Normally you handle this by setting +VLS to the devices that you want to hear on.

Here is an excerpt from an old Rockwell manual that I have. I changed the #VLS to +VLS, but the rest is direct from their manual. Be aware though, that sending the audio to the modem means that it will go out the telephone line, not the speaker. You might have some better success setting the M switch to 2. In theory that tells the modem's speaker to always be on, but I think that it might only apply to data mode. Never tried before, I'm always trying to turn the speaker off, never on.

+VLS  Voice Line Select

This action command can be used to select which devices are routed through the modem.

Parameters:     n = 0,1,2,3, or 4 [This is the device position number (not device number) as reflected in response to #VLS=?]
Default:        0
Result Codes:
OK      If n=0,1,2,3,or 4.
VCON    If device selected does not connect to the telephone line. (A speaker is such a device, but a telephone line with speaker ON is not such a device, and generates OK.)
ERROR   If n does not equal 0, 1, 2, 3, or 4, or if already off-hook.

+VLS=0 The default option on the modem. This command instructs the modem that when entering any of the three Voice operating submodes (Online Command, Transmit, or Receive), that the telephone line interface should be routed through the modem. The OK response is sent to the DTE, and any previous connection is lost (i.e., the modem ends up on-hook as a result of issuing this command to connect to the telephone line).

+VLS=1  This command instructs the modem to route only the handset through the modem. This setting can be chosen before recording a greeting message.

+VLS=2  This command instructs the modem to route only the speaker through the modem. This setting can be chosen before playing back any message. The modem immediately switches to Online Voice Command Mode, and the VCON response is generated for completeness. However, since this is an Output only device, nothing of consequence can happen until the DTE sends the +VTX command.

+VLS=3  This command instructs the modem that only the auxiliary input device (microphone) should be routed through the modem. This setting can be chosen before recording a greeting message.

+VLS=4  This command is the same as +VLS=0, except that the modem enables the internal speaker as well as the telephone line/handset circuit.

Table 8-5. Device Types Supported by +VLS
         
ASCII Digit     Device Type and Considerations
0               Telephone Line with Telephone handset. This is the default device selected. In this configuration, the user can pick up a handset which is connected to the same telephone line as the modem, and * record both sides of a conversation with a remote station. The modem currently supports one telephone line/handset, which is in the first position of the +VLS=? response. (Note that the modem can interface to multiple telephone lines by having &quot;0&quot;'s in multiple positions in the #VLS? response.) I telephone line is selected, the modem must be on-hook or it hangs up. The OK message is generated.

1               Transmit/Receive Device (other than telephone line). This is a handset, headset, or speaker-phone powered directly by the modem. When such a device is selected, the modem immediately enters Online Voice Command Mode, DTMF monitoring is enabled if applicable, and the VCON response is sent. The modem supports one such device as the second device listed in the +VLS=? response.

2               Transmit Only Device. Normally, this is the onboard speaker. When this device is selected, the modem immediately enters Online Voice Command Mode, and the VCON response is sent. The modem supports selection of the internal speaker as the third device listed in +VLS=? response.

3               Receive Only Device. Normally, this is a microphone. When such a device is selected, the modem immediately enters Online Voice Command Mode, DTMF monitoring is enabled if applicable, and the VCON response is sent. The modem supports one microphone as the fourth element returned in the +VLS=? response.

4               Telephone line with Speaker ON and handset. This device type can be used to allow the DTE to select the telephone line/handset (if picked up) with the modem speaker also turned ON. This can be used by the DTE to allow the user to monitor an incoming message as it is recorded.

-----------------------------------------------

Could you post what has worked for you? It may be helpful to others. Plus I'm kind of curious. I've only used the old Rockwell voice modems.


pansophic
 
Hi,

I tested the VLS, but it is not working, same with before.

Right now the situation is after I used atm2, i can hear voice from the speaker of the modem, but after i used AT+VTS={5,1}, the voice is gone(the command is working), then i typed the atm2 again, so i can hear the voice again.

I don't know why the vls is not working and why the voice is gone after at+vts.

by the way, what i want to do is to hear the voice instructions and send the commands by modem.


Thanks
 
Why not use the sound card rather than the modem speaker? You need to send the sound through the multimedia device associated with the modem (I've never worked this out myself).


pansophic
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top