FAQs

The issues addressed below represent some common situations our customers have encountered.

  1. I'm getting an INVALID_SERIAL_NUMBER Error
  2. My device is not showing up in the TeleScope list of Devices
  3. Why isn't my voicemodem working properly?
  4. Will your tools work with my device?
  5. How do I install an updated INF file?
  6. CallerID is not reporting
  7. Modems and Call Progress Monitoring (CPM)
  8. Voice modems and Windows NT 4.0
  9. That crazy "Talk/Hangup" dialog box keeps popping up
  10. How do I record from the phone line?
  11. The Telephony applet does not appear in the Windows Control Panel
  12. Does TeleTools include FAX capabilities?
  13. Can I use the computerís microphone and speakers with my telephony app?
  14. Warning about non-TAPI telephony programs
  15. How do I detect that the remote party has hung-up (hangup detection)
  16. How do I handoff a Call
  17. How do I transfer a Call
  18. Why does the Vmail sample app drop the first 1-2 seconds of recorded speech using my voice modem?
  19. Receiving digits fails after sending digits on some USR modems
  20. How do I install the Dialogic TAPI WAVE drivers for Windows NT?
  21. How do I change the volume in my application when using a Dialogic Card?
  22. The Sample Applications won't play the included WAV files on my Dialogic Card
  23. Does TeleTools support Text-to-Speech and Speech Recognition?
  24. Can you recommend a good VoiceModem?

The INVALID_SERIAL_NUMBER Error

For each component you need to set the AboutSerialNumber property to have your TeleTools serial number. This is done by setting the AboutLoadSerialNumber to True at design time. This property will cause the control to read the serial number from the registry and put it in the AboutSerialNumber property. The AboutLoadSerialNumber property will then set it self back to false. Save your application and compile it. This will cause the serial number to be saved in your application. You need to do this only one time for each component that you use in your application.

Do NOT use the AboutLoadSerialNumber property at run time.

Please read the "ActiveX and Serialization" section of the help file topic "Getting Started | Why Serial Numbers Are Important"


My Device is not showing up in the TeleScope list of devices

Your device is not properly configured.  You are missing the TSP or driver for the device.  In the case of a Dialogic card, it means you do not have GlobalCall properly installed or have not added the TSP from your Phone and Modem options, Advanced tab in your control panel.


Why isn't my voicemodem working properly?

If you are using a voice modem, every few months you should check your modem manufacturerís web site for updated INF files for your modem. Manufacturer's sometimes change their INF files to enhance modem performance.  There are many, many issues to be aware of when trying to use a voicemodem as a telephony device, but sure to read this VERY important link:

Working with VoiceModems


Will your tools work with my device?

TeleTools will work with any device that supports TAPI.  We work with everything from voice modems to expensive PBX's.  Please see our hardware page for more information about telephony devices.

http://www.exceletel.com/support/hardware/index.htm


Installing an updated INF file

To install an updated INF file, remove the modem from Windows, and then reinstall the modem with the new INF. Use Control Panel > Modems to "Remove" and "Add" the modem (use "Have disk" to point to the new INF). Alternatively, for Windows 95 and later you can use plug-and-play.  If you are an advanced user, you may also look in the modem section of your registry for the Unimodem strings that contain the AT commands sent to your voicemodem and update them there.


CallerID is not reporting

This issue is usually associated with the modem INF file (or its installation). When you are seeing the modem output CallerID name and number via HyperTerminal, this is coming directly from the modem hardware, not from TAPI. The issue is that Unimodem is not reporting the information to TAPI (probably due to the INF) and therefore, it never gets to TeleTools either.

Sometimes this is also related to specific CallerID implementations in various countries. For instance, in the US, CallerID is sent between the first and second rings. However, in other areas (such as the UK) it is sent before the first ring. Early versions of Unimodem and some TSPs (Telephony Service Providers) for other devices did not report this type of CallerID properly.  Make sure Caller ID is enabled on that line (it is an extra cost service) and then use a regular Caller ID telephone and our TeleScope Utility to test.


Modems and Call Progress Monitoring (CPM)

Voice modems are not capable of outbound Call Progress Monitoring (CPM). Therefore the etLine.OnConnected event or the etCall.OnDialed event is called immediately after dialing is complete but before the remote party answers the phone. This is a limitation of modems and Microsoftís UnimodemV Telephony Service Provider (TSP) If your application requires outbound CPM, consider a more sophisticated telephony device such as one from Dialogic or Way2Call, or use a PBX.  For more information about trying to use a voicemodem as a telephony device, please be sure to read: Working with VoiceModems


Voice modems and Windows NT 4.0

UnimodemV is the Telephony Service Provider (TSP) that allows voice modems to work with Microsoft's Telephony Application Programming Interface (TAPI). Unfortunately the UnimodemV TSP is not available for NT 4. It is currently only available for Windows 95/98/2000. You will need to look at a more sophisticated telephony card from one of the following companies MediaPhonics, Dialogic or Brooktrout. For more information please see the "Why TeleTools" section of our web site.


That crazy "Talk/Hangup" dialog box keeps popping up

If you try to place a voice call on a modem that supports data only, you will see a dialog box that says "Lift receiver and click to Talk / To disconnect click Hang Up and replace receiver." This dialog box is not part of TeleTools. It is an underlying part of TAPI and the Unimodem or Unimodem/V TSP.

Specifically, the following situations cause the dialog box to appear:

  1. Trying to place a voice call using Unimodem (not Unimodem/V, the "V" is for voice). That is, you are placing a call on a non-voice configuration using the media mode InteractiveVoice (LINEMEDIAMODE_INTERACTIVEVOICE). Even if you are using a voice modem, with Unimodem installed (not Unimodem/V), your configuration can not fully support InteractiveVoice calls.
  2. Trying to place a voice call using Unimodem/V when the modem does not support voice calls (i.e. a non-voice modem).
  3. Trying to place a voice call using Unimodem/V when your modem is not configured correctly for a voice call. This is usually an INF issue. This is the most typical problem reported by ExceleTel customers.

Solutions:

  1. If you have a voice modem, install Unimodem/V. Use the appropriate INF file to configure your modem. Check the modem properties dialog box for other configuration needs (Control Panel > Modems > Properties).
  2. Use LINEMEDIAMODE_DATAMODEM to place your calls. Assuming you are using a non-voice modem and Unimodem, you will NOT have access to the features of Unimodem/V. These include handling incoming calls, detecting DTMF, and the ability to play and record audio over the phone line.
  3. If you have a voice modem, download and install the newest INF file from the modem manufacturerís web site. (For some modems, the INF files that come with Unimodem/V will work.) Check the modem properties dialog box for other configuration needs.

To install an updated INF file, remove the modem from Windows, and then reinstall the modem with the new INF. Use Control Panel > Modems to "Remove" and "Add" the modem (use "Have disk" to point to the new INF). Alternatively, for Windows 95 and Windows 98, you can use plug-and-play.


How do I record from the phone line?

Using etCallRecord, just set the .etFileName and .etSourceFormat and then set .etActive to true.  You must be on a connected call, so make sure to do this in the etCall OnDialed, OnAnswered, or even in the OnConnected event.

Using etLine

Start recording in the etLine.OnConnected event. Set the etRecord.SourceFormatID and the SourceFilename and then set etRecord.DeviceActive to true. Then, in the etLine.OnDisconnected event stop recording with etRecord.DeviceActive = False. See DialAnswer sample application .


The Telephony applet does not appear in the Windows Control Panel

Go to \windows\system and look for the file TELEPHON.CP$ Rename it to TELEPHON.CPL. Go to the Control Panel (refresh if necessary) and the telephony applet should now be visible.


Does TeleTools include FAX capabilities?

TeleTools has the ability to identify the media mode of a call and then deal with it appropriately. For example, the etFax sample program that comes with TeleTools identifies if a call has media mode of G3Fax. It then hands the call off to another application, such as Microsoft Fax, which then takes possession of the call and receives the FAX.

Many ExceleTel customers are using TeleTools to handle the voice portion of their applications, plus a non-ExceleTel tool to handle the fax portion. For example, you could use TeleTools to develop an Interactive Voice Response (IVR) system that allows a user to select documents to be faxed. Then use something like MAPI, FaxMan Jr., or WinFax Pro to fax the documents.

Recently, ExceleTel teamed with Data Techniques to provide a seamless TAPI/FAX solution for sending and receiving faxes. Click for more.  Be sure to check out the etFaxManSend and etFaxManReceive sample programs.


Can I use the computerís microphone and speakers with my telephony app?

Yes, if you have sophisticated telephony hardware such as the Way2Call Hi-Phone (as opposed to a voice modem with the UnimodemV TSP), plus TeleTools v3.7 Professional or Enterprise. Here's the explanation. TAPI supports two logical "devices":

  • the line device -- controls the phone line, like dialing and tone generation and hanging up. The corresponding control in TeleTools is called etLine.
  • the phone device -- controls phone features like microphones, speakers, and buttons. TeleTools 3.7 Professional and Enterprise editions have a control called etPhone.

UnimodemV doesn't have much (or any) support for the TAPI phone device, so voice modems don't work with speakers, microphones, and the like.


Warning about non-TAPI telephony programs

A significant benefit of TAPI is that it arbitrates device access by multiple TAPI-compliant applications. With a single voice modem and TAPI, for example, you can have Microsoft Fax waiting for a call, answering machine software waiting for voice calls, and use dial-up networking to connect to the Internet. That is absolutely impossible without TAPI. For example, if you use a TAPI-compliant program such as one developed with TeleTools, and a non-TAPI program such as BitWare from Cheyenne, the non-TAPI program will access the modem with AT commands while TAPI is using low-level access. This creates device conflict.


Hang-up detection

What if somebody hangs up the phone at the "other end" while a telephony application is running? TeleTools could handle it, but some telephony devices, including many modems, do not have the capability of detecting and then reporting the hang-up to TAPI.

Telephone companies signal hangup in many different ways. In the USA, POTS (plain old telephone service) central office systems signal a hangup with a drop in loop-current. Other hangup indicators include a fast-busy signal, silence, a recorded message, a warning tone, or any combination of these. The broad range of hangup signals makes hangup detection difficult for telephony devices. Check with the manufacturer of your telephony device to determine which hang-up detection method(s) you device supports.

You probably want to build an inactivity time-out into your application, which will force the application to hang-up if all other detection methods fail.


Handing off a call

When handing off calls, the target application must be running. TAPI cannot start the target application.


Transferring a call

To transfer a call, you need to put the extension to be transferred to in the etTAPI.PhoneNumber property then call the etTAPI.TransferCall method. This will only work with telephony devices that support the TAPI function lineBlindTransfer. This does not include modems. Normally this is only possible with telephony devices that the work with a PBX and have their own Telephony Service Provider (TSP). Check with your device manufacturer.


Why does the Vmail sample app drop the first 1-2 seconds of recorded speech using my voice modem?

Unlike more sophisticated telephony devices such as the MediaPhonics PhoneRider and Dialogic cards, modems really only have one audio channel and therefore can not record and play at the same time. If a wave file is currently playing it must first be stopped before recording can begin.

In the case of the VMail sample application we are playing a wave file to tell the caller to "Press any key to record....." When the caller presses a digit on the keypad, the event handler routine "TForm1.etTAPI1DigitReceived" is called. If the wave file is playing it must first be stopped before recording can begin. Additionally in this program we play a Ding wave file. For voice modems this should be commented out.

If you comment out the code to play the Ding file and wait for the "Press any key to record....." wave file to play completely before pressing a number, you will see that the first 1-2 seconds of speech recording is no longer dropped.


Receiving digits fails after sending digits on some USR modems

Testing on many different types of hardware produced an interesting observation. On most devices there was no problem receiving DTMF digits after sending DTMF digits from the device. However, with a USR Sportster 56k, receiving after sending works on the first call, but fails on subsequent calls. During the second call, the USR can no longer receive digits after sending digits.

ExceleTel discovered a workaround. After each phone call, call etTAPI.Close then etTAPI.Open This allows an application to receive digits after sending digits, even on the second a subsequent call. This does cause the modem to reset, and is not required for most devices. Perhaps there is something wrong with the modem's INF files, the modem's firmware, or even the USR modem.


How do I install the Dialogic TAPI WAVE drivers for Windows NT?

See the "Activate the Dialogic WAVE Driver" instructions in the file d41mt.hlp (found on your disk after installation of Dialogicís TAPI drivers). When working with Windows NT, this file is found in the directory C:\Winnt\System32.


How do I change the volume in my application when using a Dialogic Card?

Dialogic does not have a configuration setting for the volume level. You need to set the etPlay.Volume properties. You can find information on this topic in the help file. Try the following:

etPlay1.Volume.Enabled := True;

etPlay1.Volume.Default := False;

etPlay1.Volume.Position := 75;


The Sample Applications won't play the included WAV files on my Dialogic Card

Most telephony devices support playing and recording wave files with the format of "PCM, 8000 Hz, 16 Bit, Mono". This is the default format for the etRecord control.

When playing and record wave files through your telephony device be sure to utilize a wave file format that is directly supported by your device. It is not wise to depend on a Windows's Codec to convert the audio data in real time.

You should check with your telephony device manufacturer for the wave files they support. ExceleTel provides a detailed white paper to provide you with more information about working with WAV files at http://www.exceletel.com/whtpapers/WorkingWithWAVFiles.htm

In particular, most of the dialogic cards only support 11kHz, 16-bit mono as their native windows wav format. You can download the ExceleTel WAV files included with our Sample Applications in different formats at http://www.exceletel.com/support/SampleApplications.htm


Does TeleTools support Text-to-Speech and Speech Recognition?

Yes, TeleTools can take advantage of Microsoft's SAPI TTS and SR speech engine, as well as other voices from people like AT&T, Lernaut and & Hauspie, Elan and more.  See our tutorial on TTS and Speech Rec here: TeleTools and Speech 



Can You Recommend a Good Voice Modem?

This is an oxymoron as there is no such thing as a good voice modem. :)  Seriously though, due to the nature of voice modems being a cheap, commodity device designed primarly for data use, it is hard for us to make any recommendations.  Voicemodems are constantly changing as manufacturers add and delete models and search for cheaper component parts.  A voicemodem in one box may work fine, and in another identical box there is an undocumented chip change that causes problems.  However, most voicemodem problems are caused by an improper INF file.  In this case, reading the MSDN about INF file structure and how Unimodem works and some trial and error can usually get satisfactory resuls, especially for incoming calls.  Unless you hire our consulting services or can get a more up-to-date INF file from your modem manufacturer, it is up to you to re-write the INF file so that it sends the correct AT commands to your voicemodem.

NOTE: We are amazed that with the demand for this solution (we get 100's of requests a month from voicemodem users), that a hardware manufacturer has not addressed this need.  We have spoken with multiple modem manufacturers about this, but they just don't seem to understand the market.  A manufacturer could try to improve an existing model, or at least write a TSP for the voicemodem instead of relying on Unimodem.  This would solve the two biggest problems, which are lack of outbound call progress detection and only a half-duplex audio driver.

In the meantime, best low-cost single-line true voice telephony device that we have found is the Hi-Phone Lite. This device is not a modem, provides good call progress detection, full-duplex audio, headset functionality and more.  And it does provide its own TSP.