Contents

VoiceGuide Help
1. Introduction
Welcome To VoiceGuide
Which version to use
2. System Configuration
System Requirements
Installing v7.x - Dialogic
Installing v7.x - VoIP / HMP
Installing v6.x - Dialogic
Installing v5.x - Voice Modems
Installing v5.x - CAPI compatible cards
Installing v5.x - Dialogic
Installing v5.x - Dialogic Wave Drivers
Text To Speech
Call Transfers and Conferencing
ODBC Data Sources
End of Call Detection
Distinctive Ring Detection
T1/E1 ISDN Configuration
T1/E1 RobbedBit/CAS/R2 Configuration
VoIP Line Registration
Command Line Options
Registering VoiceGuide
Unique System Identifier
3. Script Design
Introduction
Graphical Design Environment
Module Types
Paths
Result Variables
Call Start
Call Finish
Multilanguage Systems
Protected Scripts
Sound files
Testing Scripts
4. Modules Reference
Play
Record
Get Numbers
Say Numbers
Transfer Call
Send Phone Message
Send Pager Message
Send Email
Database Query
Run Program
Time Switch
Evaluate Expression
Run VB Script
Send DDE Command
Hangup Call
5. Voicemail
Introduction
Voicemail System Manager
Voicemail Menus
Message Lamps
6. Outbound Dialing
Loading Numbers to Call
Detect Call Answer
Predictive Dialers
External OutDialQue Source (v7)
External OutDialQue Source (v6)
7. Speech Recognition
Introduction
Grammars
Install LumenVox
8. Logs
Script Logs
Call Detail Records (CDRs)
9. ActiveX / COM Interface
Admin_TraceLogAdd
Dialer_MakeCall
Dialer_OutDialQueAdd
Bridge_Connect
Bridge_Disconnect
Line_Hangup
Line_Pickup
Play_Start
Play_Stop
Record_Stop
Record_Start
Record_2Lines_Start
Run_ResultReturn
RvGet
RvGet_All
RvGet_AllXml
RvSet
RvSet_RvList
Script_Gosub
Script_Goto
Script_Return
Serial_Tx
Vm_Event
Vm_VmbConfig_Get
Vm_VmbConfig_Set
10. PBX Integration (CTI)
Inband Signaling
Ericsson MD110 Voicemail Interface
Legal Information
Copyright & Disclaimer

 
Home
VoiceGuide Online Help
Prev Page Next Page
 
 

Detecting Call Answer

How VoiceGuide will be alerted that an outgoing call has been answered depends on what hardware is used with VoiceGuide.


Voice Modems

Voice modems cannot tell when a call has been answered. Immediately after finishing dialing they will advise VoiceGuide that a call has been connected, regardless even of whether the destination number has started ringing or not.

This is why when using modems VoiceGuide will on outbound calls start playing a message in a loop which asks the recipient of the call to "press 1 to accept the call".


Dialogic Cards - Analog

Dialogic cards can detect when a call has been answered and can fairly reliably distinguish if a call has been answered by a live person or by an answering machine. As soon as the recipient of call starts saying something the Dialogic card can tell whether the call has been answered by a human or by a machine. VoiceGuide will then run the appropriate script.

If answering machine detection is disabled then the Dialogic card will just wait for any noise other then ringback, and once it hears anything (or ringback has gone away) then it will report call as connected. The ringback tone for which the Dialogic card is to listen out for needs to be correctly specified. The default value will work for most ringbacks, but sometimes it will be necessary to set the ringback tone defintion in ConfigLine.xml file (if using VG for Dialogic). The TID_RNGB1 tone definition needs to be used. There is another ringback tone definition available - TID_RNGB2 - but we have found that many cards will not detect the ringback defined in TID_RNGB2 correctly.

If recipient of call does not say anything after answering the call (or there is just silence on the line) then the Dialogic card will deduce that the call has been answered only when it realizes that the 'ringback' signal has gone away.

If the Dialogic card does not correctly detect the ringback tone on the line, then after a timeout (about 8 seconds) it will report the outgoing call as connected even though the outgoing line is still ringing.

 

Dialogic Cards - Digital

Just like Dialogic Analog cards, the Dialogic Digital cards can detect when a call has been answered and can distinguish if a call has been answered by a live person or by an answering machine. As soon as the recipient of call starts saying something the Dialogic card can tell whether the call has been answered by a human or by a machine. VoiceGuide will then run the appropriate script.

If answering machine detection is disabled then then the digital card will report the call as connected immediately when the recipient of the call picks up their handset. The digital signal informing the Dialogic card of this event takes a fraction of a second to travel from the recipient of the call back to the digital card.

If answering machine detection is enabled and recipient of call does not say anything after answering the call then the Dialogic card will timeout out after a few seconds of receiving the 'handset is offhook' signal and report the call as connected.

Similarly, an indication that the destination telephone is busy or disconnected is sent back to the digital card from the network immediately - allowing for quick abandoning of those calls and dialing of another number if needed.

 

Detecting Answering Machines

Dialogic cards can detect if a call has been answered by an answering machine or by a human. No modem or other telephony card can do that and that is why Dialogic cards are the best (and only) practical choice for systems which use outbound dialing.

VoiceGuide uses Dialogic's answering machine detection mechanism to distinguish whether a person or an answering machine has answered the call. Dialogic's answering machine detection uses frequency based analysis and detection of whether the speech is coming from live person or answering machine is made in less then a second. If Dialogic informs VoiceGuide that it has detected an answering machine then VoiceGuide will wait for the speaking on the line to finish before playing the answering machine message or starting the script.

Overall, if a large number of calls are made to different numbers the Dialogic card should usually correctly detect whether a live person or an answering machine in over 95% of the time.

 

False reports of an Answer Machine answer when a Live Peron actually answered the call:

On poor quality lines (usually low quality cellular phone connections) the Dialogic card will sometimes mistakenly think an answering machine has answered the call when in fact the call was answered by a real person. The reason for this is that the low quality of the connection makes the voice of the person answering the call sound very similar to the sound quality usually expected from an answering machine.

Background noise can also play a factor in false detection of answering machines. We had a case where one site was playing a radio quite loud in the room where the phone was being answered and the Dialogic card was pretty regularly mistaking the background radio conversations for an answering machine. In another case the loud noise of a fan right next to the telephone resulted in false answering machine detections.

To overcome this problem you may specify that instead of just playing a .WAV file when an answering machine is detected a script is ran instead. From within a script you can find out how long the answering machine message was (using $RV[AmWelcMsg]), and if it turns out that it was quite short (say less then 2 seconds) then you may decide to ignore Dialogic's decision that this is an answering machine and force VoiceGuide to jump to the script for "Live Person" instead.

 

False reports of a Live Person answer when an Answer Machine actually answered the call:

If the answering machines/voicemails welcoming message is recorded in high quality then it is possible for the Dialogic card to mistake it for a real person answering the call. The normal every-day analog based answering machines are usually correctly detected by Dialogic.

One approach to work around this would be to first play in the "Live Answer" script a short message that says "Please wait" and then start recording. Set silence length to be short beforehand - say about half a second. In the record module use a "on {silence} goto... " path and point to start of the actual start of the script. When the recording finishes due to silence and the actual script starts then the first message played will be recorded on the answering machine, or heard by the caller. This approach effectively uses the record module will wait till answering machine finishes playing, but will result in a slightly delay in playing of the first message to live people. Some people do not place a Play module before this record module, so the live caller would just experience a half second delay before the main script is started.

 

Converted from CHM to HTML with chm2web Pro 2.7 (unicode)