|
|
|
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. If you call into this program using a phone (like a cell
phone) that is listed as out of area, you will hear the SIT tone. If
you call from a phone with callerID blocked (you can block your CallerID
on a per call basis), then you will hear a wave file saying that this
number does not accept blocked calls. |
|||||||
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 etLine1_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 etLine1_OnCallerID event handler routine. Multiple firings of the etLine1_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 checked to make sure that it is a voice modem then the device is activated. The etLine1_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. If the CallerID information is Blocked then the Blocked.wav file is played then the device is reset. If the CallerID information indicates that the call is Out of Area the the SIT.wav file is played then the device is reset. 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 |
|
|
||||
|
||||