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!

Getting voice events while recording

Status
Not open for further replies.

jdaniels

Technical User
Apr 23, 2002
63
GB
Hi,

I have a Redhat machine which dials up to a Dynamode voice modem from a series of shell scripts included with the Big Brother monitoring app. The situation is this: I can dial out to a given number, and I am looking at one of two scenarios occurring; 1) the call goes in the normal way and terminates when the modem returns a 'SILENCE_DETECTED' event; 2) The call dials to a non-existent number, gets the universal "I'm sorry, this number is not in use" three-tone message. In both of the above, I am recording the call. However I want to monitor the file size of the recorded call because when I dial the dead line number, the modem never hangs up, so I aim to either kill the process or send the modem a STOP and GOODBYE sequence of commands when the file reaches a certain size. Both these approaches work ... but not at the same time. The script extract I am using goes like this:

send "RECORD $FILENAME"

ANSWER=`receive`

while true; do
ANSWER=`receive` # ref1
case $ANSWER in
RECORDING) # code to monitor file size
SILENCE_DETECTED) # doce to terminate on silence
esac
done

The problem is at the line marked 'ref1' - if that line is present, I can detect SILENCE_DETECTED modem responses. However I cannot stay in the RECORDING state. Conversely if I delete that line, I can stay in the recording state and monitor the file size, but cannot detect silences. For some reason our modem does not respond to BUSY_TONE signals, hence this workaround. does anyone have any ideas on this?

Thanks,

Jon Daniels
 
The best way to solve this problem is to use a CTI card like Dialogic, Natural Microsystems or Brooktrout. They actually have reasonable call progress tone detection, which modems do not.

The downside is that they cost a lot more than a modem.

Most modems will only properly detect call progress tones a small percentage of the time. And their ability to detect events other than busy and dialtone are EXTREMELY limited.

Sorry that I can't offer a solution that makes your modem work.


pansophic
 
Thanks for your input. I think what I will do is this: at the same time as I run the call script, I will run a monitoring script that kills the record process when the file reaches a certain size. As you say, it seems to be working some of the time, but not every time ...

Thanks again
Jon
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top