etVoiceModemAutoDial Sample Program


This sample program show how to make one call after another using a voice modem.

Once dialing is complete a wave file is played instructing the remote party to press a key.  When the DTMF digit is received, an acknowledgement wave file is played, after which a goodbye message is played and the application hangs up.

This program also shows how to detect busy signals.

Using This Sample Program
Download this Sample Program 
How this Sample Program Works
Source Code
Release Notes

Development Environment Technical Information
Telephony Hardware Technical Information



  • TeleTools 3.7 and above if you wish to compile this program on your machine

  • Voicemodem with the proper INF file installed.

Using This Sample Program

To operate this sample program, place up to 5 phone numbers in the phone number text boxes, select your voice modem from the dropdown combobox, make sure you have a phone line connected, and check the Dial checkbox.  The program will run through the list of numbers, showing you the current status in the call status box and displaying the completion status next to each number.  You can answer the calls yourself by dialing to a cell phone or other extension, listening to the messages and responding with DTMF digits.  Or you can always find 5 friends to help you.  You can can't you? :)

Download this Sample Program

For Use TeleTools v3.7




Ready to run!

Borland Delphi 5,6,7

Source code and wave files

Visual Basic 5,6

Source code and wave files

Tell us what you need?

Click here and tell us what you need!





ComboDevice Combobox to allow selection of your telephony device
etLine The TeleTools etLine component to control a phone line and handle calls
etPlay The TeleTools etPlay component to play wave files over a phone line
CheckDial Checkbox to start the dialing sequence
TextStatus TextBox to display the status of the current call
TimerWaveLoop Times the looping wave file since modems cannot positively detect a voice connection
TextPhoneNumber1 - 5 TextBoxes that hold the phone numbers to dial

TextCompletion1 - 5

TextBox that displays the completion status of the call for that number


Event Handler Routine



Activates the selected device and starts the dialing process

ComboDevice_Click Changes/Selects the active TAPI telephony device
etLine1_OnBusy The TeleTools OnBusy event detects a busy line
etLine1_OnConnected The TeleTools OnConnected event reports an answered call
etLine1_OnDigitReceived TeleTools event reporting a DTMF digit was received
etLine1_OnDisconnected TeleTools event reporting the remote party has disconnected the call
etLine1_OnIdle TeleTools event signaling that the call is idle and ready for the next call
etPlay1_OnDone TeleTools event signifying that the wave file has finished playing
Form_Load Setup the form and enable the TeleTools components
Form_Unload Unload the form and disable the TeleTools components
TimerWaveLoop_Timer Timer to loop the wave file 10 times





Function to report if the device is a Data Modem

IsVoiceModem Function to report if the device is a Voice Modem
SetCompletion Puts the status text in the proper textbox for that line
Dial Gets the phone number from the appropriate textbox and uses the etLine.CallDial method to place a call
Hangup Checks the callstate and if there is a call, hangs it up


Release Notes

June 30, 2003

First Release