etVoiceModemPager Sample Program


The etVoiceModemPager sample program demonstrates how to use a voice modem to call a numeric pager service and leave a call back number.

This sample program takes into consideration the fact the voice modems can not detect remote party answers properly which causes the etLine.OnConnected event to fire immediately after dialing.*

If you have a sophisticated telephony device such as a Hi-Phone or Dialogic card please use the etPager sample program.

Click here for more information about Voice Modems.

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

* NOTE: ExceleTel can provide help on some modems to get them to delay firing the OnConnected event immediately and instead fire it within 1 to 6 seconds after answer if this can help you. Ask our support team for information.


You will need a voice modem and an available phone line or analog extension.

These features can be accomplished using any of the following Editions of TeleTools v3.7

  • TeleTools Standard

  • TeleTools Professional

  • TeleTools Enterprise


Using This Sample Program

  1. Select a voice modem using the drop down list box

  2. Enter the phone number for the pager in the edit box adjacent to the Dial button

  3. Change the send digits delay if required.  This value is in milliseconds.
    Voice modems fire the etLine.OnConnect event as soon as dialing is complete. So there needs to be a delay before sending the DTMF tones (digits) for the Call Back Number.
    When calling a pager service they generally answer on the first or second ring and they tend to be consistant. So a timer is used to delay.
    This program deafults to a 5 second delay (5000 milliseconds).
    Testing may be required to determine the correct delay for each pager service.

  4. Enter a call back phone number

  5. Click the Dial button

Download this Sample Program

For Use TeleTools v3.7



EXE 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!


How this Sample Program Works

TeleTools uses it's etLine.DeviceList method to provide a list of the TAPI devices on your machine. it's mediamode properties then detect if the device is a data modem or a voice modem.  If the device is a voicemodem, we enter the phone number placed into the textbox into TeleTools with the etLine.CallPhonenumber = number property.  etLine.CallDial then dials the phone and waits until the delay specified in the delay textbox is reached.   TeleTools uses the etLine.CallSendDigits method to send DTMF digits to the pager.



ComboDevice Combobox containing the list of available TAPI telephony devices
TimerSendDigitDelay Timer to delay when the modem sends digits
CommandDial Button to dial the phone with the etLine.CallDial method
TextPhoneNumber TextBox for entering the number you wish to dial
TextSendDigitsDelay TexBox holding the number of milliseconds to wait until sending digits
TextCallBackNumber TextBox to hold a callback number you wish sent to the pager
TextStatus TextBox to display updated call progress information


The TeleTools etLine TAPI Telephony component


Event Handler Routine


ComboDevice_Click Process the device change, check for what type of device it is and enable the device
CommandDial_Click Dial the phone number in the TextPhoneNumber field with the etLine.CallDial method
etLine1_OnBusy TeleTools' etLine_OnBusy method reports the line is busy
etLine1_OnConnected TeleTools' etLine_OnBusy method reports the call has connected successfully.  On devices that support positive voice detection, this event will only fire when it detects a human voice.
etLine1_OnDigitsSent TeleTools' etLine_OnBusy event reports that a DTMF digit was sent
etLine1_OnDisconnected TeleTools' etLine_OnBusy event reports the remote party hung up the phone
etLine1_OnIdle TeleTools' etLine_OnBusy event reports the call is idle and ready for the next call 
Form_Load Enable the Teletools components

Disable the TeleTools components


The timer has reached the selected delay, send the digits




IsOnlyDataModem Function returning true if the device is a datamodem
IsVoiceModem Function returning true if the device is a voicemodem


hangs up the call with etLine.CallHangup


Release Notes

May 7, 2003