|
|
Development
Environment Technical Information
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Requirements |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
You can use this sample with these Editions of TeleTools v3.7
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Using This Sample Program |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
To use etGatherDigitsWorkAround, simply select your device with the dropdown combobox. Place settings into the edit boxes as follows:
Place an incoming call to the line attached to the selected device. The program will automatically answer the call when the OnOffering event fires and if the device is capable and the Active checkbox is checked, it will use the etLine.MonitorDigits method and some logic to emulate the etLine.GatherDigits method. Your digits are displayed in the digits box. When any of the conditions set in the edit boxes are reached, for example the terminate character is reached, or the digit count is reached, the digits gathered are displayed. For more detailed info on how this program works, see BELOW. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Download this Sample Program |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
For Use TeleTools v3.7
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
How this Sample Program Works |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
When a device is selected the program checks to see if the device supports monitoring digits. If it does not then a dialog box is displayed and the Active check box is disabled. If the device support Gathering Digits then a dialogic box appears instructing the user to use the etGatherDigits sample program. If the device does support monitoring for digits then the device is activated with the etLine.DeviceActive property. Since this program is designed for testing, the etLine1.TAPIREPLYTIMEOUT property is set to 15 seconds. The default value for this property is 60 seconds. This will allow the program to return to you faster. The etLine.OnOffering event is the first event to fire when an inbound call is detected. This program answers the call when this event fires. When the call is connected the etLine.OnConnected event fires and the SetGatherDigits subroutine is called. SetGatherDigits starts and stops the monitoring of digits depending on the value of the Active check box. If the Timeout value is greater than zero then the TimeoutTimer interval is set and it is enabled. If the TimeoutTimer fires, the OnDigitsGathered subroutine is called with the current digits stored in the global variable sDigits. The etLine.OnDigitReceived event handler routine is called whenever a digit is received.
When digit gathering is terminated, the OnDigitsGathered subroutine is called. The gathered digits are provided in the Digits parameter and displayed in the TextDigits box. The reason for termination provided in the Termination parameter and is displayed in the TextStatusetLine. The "LINEGATHERTERM" values found in the etTTConst constant file are used to identify the value. If the remote party disconnects while gathering digits is active then a short delay must occur before executing the etLine.Call.hangup method. If the delay is too short then the call will not be disconnected and a TAPIREPLYTIMEOUT error will occur. The program will then exit. Use the TextDelay to increase or decrease the number of milliseconds to delay for your system. Our testing indicates that as few a one millisecond solves this problem however we suggest using 10 milliseconds. That is equivalent to 1/100 of a second.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Release Notes |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
September 11, 2003The Delphi version was added and differs cosmetically from the VB version. In addition, it uses a log window instead of a status line and can detect a datamodem or a voicemodem. April 30, 2003An error was discovered in the etLine.OnDisconnected event. etLine.GatherDigits.Active was being set to false when etLine.MonitorDigits.Active should have been used. This was a minor error especially since etLine.MonitorDigits.Active is automatically set to false when the call is disconnected. April 24, 2003Published |
|
|
||||
|
||||