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
Cisco Call Manager Configuration
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
Call Web Service
Hangup Call
5. Fax
Introduction
6. Voicemail
Introduction
Voicemail System Manager
Voicemail Menus
Message Lamps
7. Outbound Dialing
Loading Numbers to Call
Detect Call Answer
Outbound VoIP calls
Predictive Dialers
External Database Source (v7)
8. CRM Integration
SugarCRM
9. Speech Recognition
Introduction
Grammars
Install LumenVox
10. Logs
Script Logs
Call Detail Records (CDRs)
11. COM and WCF 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
12. PBX Integration (CTI)
Inband Signaling
Ericsson MD110 Voicemail Interface
Legal Information
Copyright & Disclaimer

 
Home
VoiceGuide Online Help
Prev Page Next Page
 
 

Detecting End of Call

On systems using Analog Telephony Cards (eg: Dialogic D/4PCI, D/120JCT etc) end of call is detectable by:

- Loop Current Drop on the line.
- Disconnect tone on the line.
- Special DTMF tone played by PBX/Switch.
- Timeout awaiting input from caller.
 

On systems using Voice Modems end of call detection is made by:
Systems which use normal modems end of call detection is made by:

- Disconnect tone on the line. (many modems have problems detecting this correctly and will sometimes even falsely detect the busy/disconnect tone when playing or recording)
- Timeout awaiting input from caller.
 

Systems using Digital Telephony Cards (includes  CAPI/ISDN cards) (eg: Dialogic D/240, D/300, AVM ISDN cards, Eicon ISDN cards etc.) end of call is detectable by:

- End of call digital signalling. 
- Timeout awaiting input from caller.

 

End of Call Detection: Loop Current Drop


Loop current drop is used by many telephone companies and PBXs to indicate end of call (other party has hung up). Telephony Cards can detect loop current drop and will inform VoiceGuide of it - VoiceGuide will then immediately hang up as well. Please note that based on your phone company a loop current drop can be delayed. It can arrive several seconds after caller has hung up.

 

End of Call Detection: Timeout awaiting input from caller


In situations where the VoiceGuide script times out awaiting a response from the caller VoiceGuide will hangup the call. This is the simplest way of having VoiceGuide end the call as it does not require any special system configuration to be done, apart form ensuring that the scripts used do not have any 'infinite loops' within them.

 

End of Call Detection: End of call digital signalling 


Digital (includes all ISDN) systems all use digital signalling to immediately indicate end of call when the other party hangs up the handset. This is the most reliable way of obtaining end of call signal. No special configuration is required in order fro the system to detect the ISDN end of call signalling. VoiceGuide will detect the ISDN signalling immediately and will end the script and hangup the line as well. As ISDN offers the most reliable and immediate end of call notification it is recommended that ISDN lines are used for systems where reliable and fast end of call detection is required.

 

End of Call Detection: Disconnect Tone


Telephone companies will usually play a tone on the line to indicate end of call, this tone is known as a 'busy tone' or a 'disconnect tone'. PBXs can be configured to play a tone, or send a DTMF tone (usually tone "D") to indicate end of call.

Detection of disconnect tones: Voice modems come pre-programmed with sets tones that they will detect as 'end-of-call' tones - these cannot be changed. Some voice modems detect end-of-call tones well, but some do not. Telephony cards also come pre-programmed with sets tones that they will detect as 'end-of-call' tones, but can also be be programmed what disconnect tones to listen for. This allows telephony card to have its end-of-call (disconnect) tone detection matched to that generated by the telephone company or PBX.

Accuracy of tone detection with telephony cards is much better then with modems. Some modems even falsely detect disconnect tones while playing/recording sound files or when a DTMF key is pressed by the caller.

 
Determining the Disconnect tone frequency and cadence :

Dialogic has the PBXpert application which automates the detection and setting of disconnect tones. This is a good tool to use if you have access to 2 lines attached to the Dialogic card.

Otherwise please see instructions below for recording and determining frequencies when only a single analog line is available:

To find out the frequencies of the disconnect tone played by your telephone system just record it using VoiceGuide's Record module (just start recording then hang up) and then analyze the frequencies using any of the more advanced sound editors

eg: when using Audacity (http://audacity.sourceforge.net/) :

1. Open the file in Audacity
2. Highlight the section of the sound file where the tone is present (the "ON" part of the tone)
3. Go to "View" menu and select "Plot Spectrum"
4. Note at what frequency the peak(s) is/are.
5. Highlight the entire section when tone is ON and check the interval, looking at the selection's timing data at bottom of Audacity's window.
5. Highlight the entire section when tone is OFF and check the interval, looking at the selection's timing data at bottom of Audacity's window.

Screenshot below shows Audacity with a disconnect tone with the ON part of the disconnect tone highlighted. The Selection interval timing is displayed at the bottom of the window - in this case the ON part of the tone lasts about 250milliseconds (0.250 seconds).

Below screenshot shows the Frequency analysis window which is shown when Audacity's "View"-> "Plot Spectrum" menu is selected.

The peak is at 428Hz.

Screenshot below shows Audacity with a disconnect tone with the OFF part of the disconnect tone highlighted. The Selection interval timing is displayed at the bottom of the window - in this case the OFF part of the tone lasts about 750milliseconds (0.750 seconds).

Based on the above information the disconnect tone in he example above is a single tone of 428Hz which lasts about 250ms and then a period of silence which lasts about 750ms.

The recommended settings for Dialogic cards to detect this tone reliably would be:

Freq1: 428
Freq1 dev: 40
Freq2: 0
Freq2 dev: 0
On time: 25
On time dev: 5
Off time: 75
Off time dev: 5
Repetition count: 3

When specifying the On/Off times (cadence times) for Dialogic the lengths of time are in units of 10milliseconds, so a value of 25 represents 250milliseconds.

For allowed variances (deviations) in frequency and time it's usually appropriate to use about 10% of the value for variance. For 'cadence' usually a value of 5 is OK (a value of 5 is 50miliseconds). If trying to detect a continuous tone which does not have ON/OFF cadence you should set the "Repetition Count" to be 0 and the OFF time to 0 as well.
 

VoiceGuide 7 and VoiceGuide 6 :

The Disconnect tone must be set in ConfigLine.xml file which can be found in VoiceGuide's \data\ subdirectory.

The Tone definitions which should be edited is the DISCONNECT_USER_1 or DISCONNECT_USER_2 (DISCONNECT_TAPI1 or DISCONNECT_TAPI2 in v6). The TID_DISCONNECT tone definition is only used on outbound calls, and it can also be changed if required.

En example entry in ConfigLine.xml would be:

<Tone Name="DISCONNECT USER 1">
<Notes>Disconnect Tone</Notes>
<ID>DISCONNECT_USER_1</ID>
<Freq1>428</Freq1>
<Freq1Dev>50</Freq1Dev>
<Freq2>0</Freq2>
<Freq2Dev>0</Freq2Dev>
<On>25</On>
<OnDev>5</OnDev>
<Off>75</Off>
<OffDev>5</OffDev>
<Count>3</Count>
</Tone>

 

VoiceGuide 5 :

If using VoiceGuide version 5, the disconnect tone definition would need to be set in the telephony device's TAPI drivers. Here is the screenshot of the relevant page from one TSP which supports disconnect tone definitions:

 

DTMF Disconnect tones :

Detection of DTMF disconnect tones :  VoiceGuide is configured by default to react to DTMF key "D" as an indication of disconnect. Selection of which DTMF tone should be used by VoiceGuide as a disconnection tone can be made in the [PBX] section of the VG.INI file.

There have been a few good threads covering this on VoiceGuide's Support Forum: 
http://voiceguide.com/forums/index.php?showtopic=599
http://voiceguide.com/forums/index.php?showtopic=768

 

In general Dialogic cards are pretty good at correctly detecting disconnection tones and if the tones are defined with low tolerance bands then the probability of false detections is low. If the tolerance bands however are set widely, allowing a wide range of tones and/or frequencies then false detections of disconnect tones can occur just while a person is speaking or a sound file is being played. As disconnect tone detections will result in the call being ended immediately it is imperative that the possibility of false detections is as low as possible.

One of the situations where disconnect tone definition parameters need to be set broadly is when a number of different disconnect tones needs to be detected. To setup the system to detect a variety of tones it would be necessary to record all the tones which you want the system needs to detect, analyze them with Audacity to find out the frequencies and timings and then come up with the one global setting which will be able to detect them all - keeping in mind that the broader the tolerances the higher the chance of false busy detections... In situations like these using T1/E1 ISDN lines would be a better solution.

NB. VoiceGuide allows for a different ConfigLine.xml file to be used for each channel - so each channel can have it's own tone configurations. Use <ConfigLine> tag within the <Channel> entry to specify the LinesConfig.xml file specific for that channel. eg:

<Channel>
<Name>dxxxB1C1</Name>
<Protocol>pdk_na_an_io</Protocol>
<RingsBeforeAnswer>0</RingsBeforeAnswer>
<script>C:\Scripts\MyScript.vgs</Script>
<AllowDialOut>1</AllowDialOut>
<ConfigLine>C:\MyConfigs\ConfigForUsCalls.xml</ConfigLine>
</Channel>

 

 

End of Call Detection: Special DTMF tone played by PBX/Switch


Some PBXs and Switches can be set up to play a DTMF tone on the line when the PBX/Switch detects that the other party has hung up. The DTMF tone chosen to indicate that is usually the "D" tone.

Most telephone handsets do not have the DTMF A, B, C and D tones on their keypad, so the callers cannot generate these tones themselves (either intentionally or by mistake). This makes the "DTMF Disconnect Tone" a very useful way of detecting end of call.

If the PBX or Switch is capable of generating DTMF tone at end of call then we highly recommend using this approach as it is a very reliable way of informing VoiceGuide immediately when the call has finished.

The DTMF Disconnect Tone for which VoiceGuide will listen and use as an indication of end of call can be set by selecting "PBX Command Strings" from the "Edit" menu in VoiceGuide Script Designer:


 

 

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