|
|
This program is designed specifically to work with voice modems and differs significantly to the etCallerID sample program. etCallerID is designed to work with more sophisticated telephony devices such as the Hi-Phone, Dialogic cards and PBX's. Click here for more information about CallerID.
Development
Environment Technical Information
|
|||||
Requirements |
|||||
|
You will need the following to utilize this sample program:
|
|||||
Using This Sample Program |
|||||
|
When this program starts it use the list box to select a voice modem. Make a telephone call to the device. Once the CallerID information becomes available it will be displayed. If you are not getting caller ID information check this FAQ for more information. In most situations the CallerID information is delivered to the telephony device between the first and second ring. In this case the etLine.OnCallerID event will fire and the name and number will be displayed.
|
|||||
Download this Sample Program |
For Use TeleTools v3.7
|
How this Sample Program Works |
|||||||||||||||||||||||||||||||||||
|
This program differs from the etCallerID sample program in that it overcomes three issues related to voice modems.
The delay of end of call notification is a problem because most modems have a delay of 15-30 seconds (or more) after a call has ended before it is ready to detect the next call. In those cases the CallerID information is not detected. This is overcome by calculating the time between rings and then setting a timer. The etLine.OnRing event fires with each detected ring. This event handler routine resets the timer. The timer will fire if a ring is not detected in time. The timer fires because it is safe to assumed that the caller has hung up or the line has been answered. Voice modems do not set the etLine1.CallCallerIDFlags properly. They show both Blocked and Out of Area calls as Out of Area. However they do set the etLine.Call.CallerID.Name property with a "P" or "O" to indicate if they are Private (Blocked) or Out of Area. The logic for this workaround can be seen in the etLine.OnCallerID event handler routine. Multiple firings of the etLine.OnCallerID event are handled with a simple "If" statement in the etLine.OnCallerID event handler routine checking to see if the TextCallerIDName property has been set. When this program starts ComboDevice is filled with all of the available telephony devices. When a device is selected it is check to make sure that it is a voice modem then the device is activated. The etLine.OnOffering event fires when an inbound call is detected. The TextCallerIDName and TextCallerIDNumber controls are cleared. The dtRingDuration date/time variable is checked to see if dtFirstRing needs to be reset. When the TAPI line device indicates that the CallerID information has changed the etLine.OnCallerID event will fire causing the etLine1_OnCallerID event handler routine to be executed. This routine checks the CallerID flags and displays the available information. When the application is closed the Form_Unload event handler routine is executed. This routine deactivates the TAPI line device.
|
|||||||||||||||||||||||||||||||||||
Release Notes |
|||||||||||||||||||||||||||||||||||
May 1, 2003Published |
|
|
||||
|
||||