The following sections describe the DX_CAP parameters that control Frequency Detection, Cadence Detection, Loop Current Detection, Positive Voice Detection, and Positive Answering Machine Detection.
The DX_CAP structure, as defined in the header file, is listed in the Voice Software Reference: Programmer's Guide.
2.6.1. Selecting SIT Frequency Detection, Positive Voice and The Call Analysis Parameter structure (DX_CAP) parameter ca_intflg (intercept mode flag) is used to enable or disable Frequency Detection, Positive Voice Detection, and/or Positive Answering Machine Detection for Call Analysis.
The ca_intflg parameter also determines when SIT Frequency Detection should terminate and return an intercept. This can occur immediately upon detection of the specified frequencies or after waiting for a connect indicated by Cadence Detection, Loop Current Detection, Positive Voice Detection, or Positive Answering Machine Detection.
The following definitions are provided for use with the ca_intflg parameter:
Parameter |
Description | |
ca_intflg |
Intercept Mode Flag: This parameter enables or disables SIT Frequency Detection, Positive Voice Detection (PVD), and/or Positive Answering Machine Detection (PAMD), and selects the mode of operation for Frequency Detection. Default: 1 (DX_OPTEN). The following modes are possible: | |
DX_OPTEN |
Obsolete. It applied only to non_DSP boards such as the D/41B and D/21B voice boards; use DX_OPTNOCON for DSP boards. | |
DX_OPTDIS |
Disable SIT Detection, PAMD and PVD. | |
DX_OPTNOCON |
Enable Frequency Detection (terminate Call Analysis and return an intercept immediately upon detecting tones). Frequency Detection returns an intercept immediately after detecting a valid frequency. | |
DX_PVDENABLE |
Enable PVD. | |
DX_PVDOPTEN |
Obsolete. It applied only to non-DSP boards such as the D/41B and D/21B voice boards; use the DX_PVDOPTNOCON for DSP boards. | |
DX_PVDOPTNOCON |
Enable PVD and DX_OPTNOCON. | |
DX_PAMDENABLE |
Enable PAMD and PVD. | |
DX_PAMDOPTEN |
Enable PAMD, PVD and DX_OPTNOCON. | |
2.6.2. SIT Frequency DetectionSIT Frequency Detection operates simultaneously with all other Call Analysis detection methods. The purpose of Frequency Detection is to detect the tri-tone Special Information Tone (SIT) sequences and other single-frequency tones. Detection of an SIT sequence indicates an operator intercept or other problem in completing the call.
SIT Frequency Detection can detect virtually any single-frequency tone below 2100 Hz and above 300 Hz.
Tri-Tone SIT SequencesTone information for the 4 SIT sequences is provided in Table 1. The frequencies are represented in Hz and the length of the signal is in 10 ms units.
Table 1. Special Information Tone Sequences
SIT |
SIT |
1st Tone |
2nd Tone |
3rd Tone | |||
NC |
No Circuit Found |
985 |
38 |
1429 |
38 |
1777 |
38 |
IC |
Operator Intercept |
914 |
27 |
1371 |
27 |
1777 |
38 |
VC |
Vacant Circuit |
985 |
38 |
1370 |
27 |
1777 |
38 |
RO |
Reorder (system busy) |
9148 |
27 |
1429 |
38 |
1777 |
38 |
The length of the first tone is not dependable; often it is shortened or cut.
Setting Tri-Tone Frequency Detection ParametersFrequency Detection on voice boards is designed to detect all three tones in the tri-tone SIT sequence. To detect all three tones in the SIT sequence, you must specify the frequency detection parameters in the DX_CAP for all three tones in the sequence.
To detect all four tri-tone SIT sequences:
See the following fields in DX_CAP to be used for Frequency Detection on voice boards. Frequencies are specified in Hz, and time is specified in 10 ms units. To enable detection of the second and third tones, you must set the frequency detection range and time for each tone.
General
Parameter |
Description |
ca_stdely |
Start Delay: The delay after dialing has been completed and before starting Frequency Detection. This parameter also determines the start of Cadence Detection and Positive Voice Detection. Default: 25 (10 ms units). Note that this can affect detection of the first element of an operator intercept tone. |
First Tone
Parameter |
Description |
ca_lowerfrq |
Lower Frequency: Lower bound for first tone in Hz. Default: 900. |
ca_lowerfrq |
Lower Frequency: Lower bound for first tone in Hz. Default: 900. |
ca_upperfrq |
Upper Frequency: Upper bound for first tone in Hz. Default: 1000. Adjust higher for additional operator intercept tones. |
ca_timefrq |
Time Frequency: Minimum time for first tone to remain in bounds. The minimum amount of time required for the audio signal to remain within the frequency detection range for it to be detected. The audio signal must not be greater than ca_upperfrq or lower than ca_lowerfrq for at least the time interval specified in ca_timefrq. Default: 5 (10 ms units) |
ca_mxtimefrq |
Maximum Time Frequency: Maximum allowable time for first tone to be present. Default: 0 (10 ms units). |
Second Tone
Parameter |
Description |
ca_lower2frq |
Lower Bound for second Frequency: Lower bound for second tone in Hz. Default: 0 |
ca_upper2frq |
Upper Bound for second Frequency: Upper bound for second tone in Hz. Default: 0. |
ca_time2frq |
Time for second Frequency: Minimum time for second tone to remain in bounds. Default: 0 (10 ms units). |
ca_mxtime2frq |
Maximum Time for second Frequency: Maximum allowable time for second tone to be present. Default: 0 (10 ms units). |
Third Tone
Parameter |
Description |
ca_lower3frq |
Lower Bound for third Frequency: Lower bound for third tone in Hz. Default: 0. |
ca_upper3frq |
Upper Bound for third Frequency: Upper bound for third tone in Hz. Default: 0. |
ca_time3frq |
Time for third Frequency: Minimum time for third tone to remain in bounds. Default: 0 (10 ms units). |
ca_mxtime3frq |
Maximum Time for third Frequency: Maximum allowable time for third tone to be present. Default: 0 (10 ms units) |
Tri-Tone Frequency Information Returned by Extended Attribute FunctionsUpon detection of the specified sequence of frequencies, Extended Attribute functions can be used to provide the exact frequency and duration of each tone in the sequence. The frequency and duration information will allow exact determination of all four SIT sequences.
Extended Attribute functions are used to provide information on the frequencies detected by Call Analysis:
Tri-Tone Frequency Information First Tone (ca_lowerfrq and ca_upperfrq)
ATDX_FRQHZ( ) |
Frequency Hertz: Frequency in Hz of the tone detected in the tone detection range specified by the DX_CAP ca_lowerfrq and ca_upperfrq parameters; usually the first tone of an SIT sequence. This function can be called on non-DSP boards. |
ATDX_FRQDUR( ) |
Frequency Duration: Duration of the tone detected in the tone detection range specified by the DX_CAP ca_lowerfrq and ca_upperfrq parameters; usually the first tone of an SIT sequence (10 ms units). |
Tri-Tone Frequency Information Second Tone (ca_lower2frq and ca_upper2frq)
ATDX_FRQHZ2( ) |
Frequency Hertz 2: Frequency in Hz of the tone detected in the tone detection range specified by the DX_CAP ca_lower2frq and ca_upper2frq parameters; usually the second tone of an SIT sequence. |
ATDX_FRQDUR2( ) |
Frequency Duration 2: Duration of the tone detected in the tone detection range specified by the DX_CAP ca_lowerfrq and ca_upperfrq parameters; usually the second tone of an SIT sequence (10 ms units). |
Tri-Tone Frequency Information Third Tone (ca_lower3frq and ca_upper3frq)
ATDX_FRQHZ3( ) |
|
ATDX_FRQDUR3( ) |
|
Global Tone Detection Tone Memory UsageIf you use Call Analysis to identify the tri-tone SIT sequences, Call Analysis will create tone detection templates internally, and this will reduce the number of tone templates that can be created using Global Tone Detection functions. See Chapter 5. Global Tone Detection/Generation for information relating to memory usage for Global Tone Detection.
Call Analysis will create one tone detection template for each single-frequency tone with a 100 Hz detection range. For example, if detecting the set of tri-tone SIT sequences (three frequencies) on each of four channels, the number of allowable user-defined tones will be reduced by three per channel.
If you initiate Call Analysis and there is not enough memory to create the SIT tone detection templates internally, you will get a CR_MEMERR error. This indicates that you are trying to exceed the maximum number of tone detection templates. The tone detection range should be limited to a maximum of 100 Hz per tone to reduce the chance of exceeding the available memory.
Frequency Detection ErrorsThe frequency detection range specified by the lower and upper bounds for each tone cannot overlap with each other, otherwise an error will be produced when the driver attempts to create the internal tone detection templates. For example, if ca_upperfrq is 1000 and ca_lower2frq is also 1000, an overlap occurs and will result in an error. Also the lower bound of each frequency detection range must be less than the upper bound (for example, ca_lower2frq must be less than ca_upper2frq).
Setting Single Tone Frequency Detection ParametersSetting single tone frequency detection parameters allows you to identify that a SIT sequence was encountered because 1 of the tri-tones in the SIT sequence was detected. But Frequency Detection cannot determine exactly which SIT sequence was encountered, because it is necessary to identify 2 tones in the SIT sequence to distinguish among the 4 possible SIT sequences.
The default frequency detection range is 900 to 1000 Hz, which is set to detect the first tone in any SIT sequence. Because the first tone is often truncated, you may want to increase ca_upperfrq to 1800 Hz so that it includes the third tone. If this results in too many false detections, you can set Frequency Detection to detect only the third tone by setting ca_lowerfrq to 1750 and ca_upperfrq to 1800.
The following fields in the DX_CAP are used for Frequency Detection. Frequencies are specified in Hz, and time is specified in 10 ms units.
Parameter |
Description |
ca_stdely |
Start Delay: The delay after dialing has been completed and before starting Frequency Detection. This parameter also determines the start of Cadence Detection. Default: 25 (10 ms units). |
ca_infltr |
Not used. |
ca_lowerfrq |
Lower Frequency: Lower bound for tone in Hz. Default: 900. |
ca_upperfrq |
|
ca_rejctfrq |
Not used. |
Single Tone Frequency Information ReturnedUpon detection of a frequency in the specified range, the Extended Attribute functions can be used to provide the exact frequency that was detected.
The following Extended Attribute functions return information on the single tone detected in the tone detection range specified by the DX_CAP ca_lowerfrq and ca_upperfrq fields.
ATDX_FRQOUT( ) |
|
ATDX_FRQHZ( ) |
|
2.6.3. Cadence Detection in Basic Call AnalysisThe Cadence Detection algorithm has been optimized for use in the United States standard network environment.
Cadence Detection as discussed here, and the Call Progress Characterization (CPC) Utility, are relevant to Basic Call Analysis only. For PerfectCall Call Analysis, refer to Section 2.6.4. Tone Detection in PerfectCall Call Analysis. The CPC program, which runs under MS-DOS, can be used to collect call progress data in both Basic Call Analysis and PerfectCall Call Analysis.
If your system is operating in another type of environment (such as behind a PBX), you can customize the Cadence Detection algorithm to suit your system through the adjustment of the Cadence Detection parameters. The Call Progress Characterization (CPC) Utility, which runs under MS-DOS can be used to determine the Cadence Detection parameter requirements for your system.
The following section discusses Cadence Detection and some of the most commonly adjusted Cadence Detection parameters. An entire listing of the DX_CAP, including all Cadence Detection parameters, can be found in the Voice Software Reference: Programmer's Guide.
Cadence Detection analyzes the audio signal on the line to detect a repeating pattern of sound and silence, such as the pattern produced by a ringback or a busy signal. These patterns are called audio cadences. Once a cadence has been established, it can be classified as a single ring, a double ring or a busy signal by comparing the periods of sound and silence to established parameters.
Typical Cadence PatternsThe following figures show some typical cadence patterns.
Figure 5. A Standard Busy Signal

Figure 6. A Standard Single Ring

Figure 7. A Type of Double Ring

Elements of a CadenceFrom the preceding cadence examples, you can see that a given cadence may contain 2 silence periods with different durations, such as for a double ring, but in general, the nonsilence periods have the same duration. To identify and distinguish between the different types of cadences, the Voice Driver must detect two silence and two nonsilence periods in the audio signal. Figure 8 illustrates cadence detection.
Figure 8. Cadence Detection

Once the cadence is established, the cadence values can be retrieved using the following Extended Attribute functions:
ATDX_SIZEHI( ) |
|
ATDX_SHORTLOW( ) |
|
ATDX_LONGLOW( ) |
|
Only one nonsilence period is used to define the cadence because the nonsilence periods have the same duration. Figure 9 shows the elements of an established cadence.
Figure 9. Elements of Established Cadence

The durations of subsequent states are compared with these fields to see if the cadence has been broken.
Outcomes of Cadence DetectionCadence Detection can identify the following conditions during the period used to establish the cadence or after the cadence has been established:
Although Loop Current Detection and Positive Voice Detection provide complementary means of detecting a connect, Cadence Detection provides the only way in Basic Call Analysis to detect a no ringback, busy, or no answer.
Cadence Detection can identify the following conditions during the period used to establish the cadence:
No Ringback |
While the cadence is being established, Cadence Detection determines whether the signal is continuous silence or nonsilence, in which case, Cadence Detection returns a no ringback, indicating there is a problem in completing the call. |
Connect |
While the cadence is being established, Cadence Detection determines whether the audio signal departs from acceptable network standards for busy or ring signals. In this case, Cadence Detection returns a connect, indicating that there was a break from general cadence standards. |
Cadence Detection can identify the following conditions after the cadence has been established:
Connect |
After the cadence has been established, Cadence Detection determines whether the audio signal departs from the established cadence. In this case, Cadence Detection returns a connect, indicating that there was a break in the established cadence. |
No Answer |
After the cadence has been established, Cadence Detection determines whether the cadence belongs to a single or double ring. In this case, Cadence Detection can return a no answer, indicating there was no break in the ring cadence for a specified number of times. |
Busy |
After the cadence has been established, Cadence Detection determines whether the cadence belongs to a slow busy signal. In this case, Cadence Detection can return a busy, indicating that the busy cadence was repeated for a specified number of times. |
To determine whether the ring cadence is a double or single ring, compare the value returned by the ATDX_SHORTLOW( ) function to the DX_CAP field ca_lo2rmin. If the ATDX_SHORTLOW( ) value is less than ca_lo2rmin, the cadence is a double ring; otherwise it is a single ring.
Setting Selected Cadence Detection ParametersOnly the most commonly adjusted Cadence Detection parameters are discussed here. A listing of the DX_CAP function can be found in the Voice Software Reference: Programmer's Guide.
You should only need to adjust Cadence Detection parameters for network environments that do not conform to the U.S. standard network environment (such as behind a PBX).
The Call Progress Characterization Utility (CPC) Utility, which runs under MS-DOS, can be used to determine the correct cadence detection parameter settings for your system.
Call Progress Characterization General Cadence Detection Parameters
Parameter |
Description |
ca_stdely |
Start Delay: The delay after dialing has been completed and before starting Cadence Detection. This parameter also determines the start of Frequency Detection and Positive Voice Detection. Default: 25 (10 ms units) = 0.25 seconds. Be careful with this variable. Setting this variable too small may allow switching transients or, if too long, miss critical signaling. |
To eliminate audio signal glitches over the telephone line, the parameters ca_logltch and ca_higltch are used to determine the minimum acceptable length of a valid silence or nonsilence duration. Any silence interval shorter than ca_logltch is ignored, and any nonsilence interval shorter than ca_higltch is ignored.
Parameter |
Description |
ca_higltch |
High Glitch: The maximum nonsilence period to ignore. Used to help eliminate spurious nonsilence intervals. Default: 19 (in 10 ms units) |
ca_logltch |
Low Glitch: The maximum silence period to ignore. Used to help eliminate spurious silence intervals. Default: 15 (in 10 ms units). |
Cadence Detection Parameters Affecting a No RingbackAfter Cadence Detection begins, it waits for an audio signal of nonsilence. The maximum waiting time is determined by the parameter ca_cnosig (continuous no signal). If the length of this period of silence exceeds the value of ca_cnosig, a no ringback is returned (see Figure 10. No Ringback Due to Continuous No Signal). This usually indicates a dead or disconnected telephone line or some other system malfunction.
Figure 10. No Ringback Due to Continuous No Signal

Parameter |
Description |
ca_cnsig |
Continuous No Signal: The maximum time of silence (no signal) allowed immediately after Cadence Detection begins. If exceeded, a no ringback is returned. Default: 4000 (in 10 ms units), or 40 seconds. |
If the length of any period of nonsilence exceeds the value of ca_cnosil (continuous nonsilence), a no ringback is returned (see Figure 11. No Ringback Due to Continuous Nonsilence).
Figure 11. No Ringback Due to Continuous Nonsilence

Parameter |
Description |
ca_cnosil |
Continuous Nonsilence: The maximum length of nonsilence allowed. If exceeded, a no ringback is returned. Default: 650 (in 10 ms units), or 6.5 seconds. |
Cadence Detection Parameters Affecting a No Answer or BusyBy using the ca_nbrdna parameter, you can set the maximum number of ring cadence repetitions that will be detected before returning a no answer.
By using the ca_nbrdna and ca_nsbusy parameters, you can set the maximum number of busy cadence repetitions.
Parameter |
Description |
ca_nbrdna |
Number of Rings Before Detecting No Answer: The number of single or double rings to wait before returning a no answer. Default: 4. |
ca_nsbusy |
Nonsilence Busy: The number of nonsilence periods in addition to ca_nbrdna to wait before returning a busy. Default: 0. ca_nsbusy is added to ca_nbrdna to give the actual number of busy cadences at which to return busy. Note that even though ca_nsbusy is declared as an unsigned variable, it can be a small negative number. Do not allow ca_nbrdna + ca_nsbusy to equal 2. This is a foible of the 2's complement bit mapping of a small negative number to an unsigned variable. |
Cadence Detection Parameters Affecting a ConnectCadence Detection parameters are used to measure the length of the salutation when the phone is answered. The salutation is the greeting when a person answers the phone, or an announcement when an answering machine or computer answers the phone.
By examining the length of the greeting or salutation you receive when the phone is answered, you may be able to distinguish between an answer at home, at a business, or by an answering machine.
The length of the salutation is returned by the ATDX_ANSRSIZ( ) function. By examining the value returned, you can estimate the kind of answer that was received.
Normally, a person at home will answer the phone with a brief salutation that lasts about 1 second, such as "Hello" or "Smith Residence." A business will usually answer the phone with a longer greeting that lasts from 1.5 to 3 seconds, such as "Good afternoon, Dialogic Corporation." An answering machine or computer will usually play an extended message that lasts more than 3 or 4 seconds.
This method is not 100% accurate, for the following reasons:
In the last case, if someone answers the phone in the middle of a ring and quickly says "Hello," the nonsilence of the ring will be indistinguishable from the nonsilence of voice that immediately follows, and the resulting ATDX_ANSRSIZ( ) return value may include both the partial ring and the voice. In this case, the return value may deviate from the actual salutation by 0 to +1.8 seconds. The salutation would appear to be the same as when someone answers the phone after a full ring and says two words.
Cadence Detection will measure the length of the salutation when the ca_hedge (hello edge) parameter is set to 2 (the default).
Parameter |
Description |
ca_hedge |
Hello Edge: The point at which a connect will be returned to the application, either the rising edge (immediately when a connect is detected) or the falling edge (after the end of the salutation). 1 = rising edge. 2 = falling edge. Default: 2 (connect returned on falling edge of salutation). Try changing this if the called party has to say "Hello" twice to trigger the answer event. |
Because a greeting might consist of several words, Call Analysis waits for an specified period of silence before assuming the salutation is finished. The ca_ansrdgl (answer deglitcher) parameter determines when the end of the salutation occurs. This parameter specifies the maximum amount of silence allowed in a salutation before it is determined to be the end of the salutation. To use ca_ansrdgl, set it to approximately 50 (in 10 ms units).
Parameter |
Description |
ca_ansrdgl |
Answer Deglitcher: The maximum silence period (in 10 ms units) allowed between words in a salutation. This parameter should be enabled only when you are interested in measuring the length of the salutation. Default: -1 (disabled). |
The ca_maxansr (maximum answer) parameter determines the maximum allowable answer size before returning a connect.
Parameter |
Description |
ca_maxansr |
Maximum Answer: The maximum allowable length of ansrsize. When ansrsize exceeds ca_maxansr, a connect is returned to the application. Default: 1000 (in 10 ms units), or 10 seconds. |
Figure 12 shows how the ca_ansrdgl parameter works.
Figure 12. Cadence Detection Salutation Processing

When ca_hedge = 2, Cadence Detection waits for the end of the salutation before returning a connect. The end of the salutation occurs when the salutation contains a period of silence that exceeds ca_ansrdgl or the total length of the salutation exceeds ca_maxansr. When the connect event is returned, the length of the salutation can be retrieved using the ATDX_ANSRSIZ( ) function.
After Call Analysis is complete, check call ATDX_ANSRSIZ( ). If the return value is less than 180 (1.8 seconds), you have probably contacted a residence. A return value of 180 to 300 is probably a business. If the return value is larger than 480, you have probably contacted an answering machine. A return value of 0 means that a connect was returned because excessive silence was detected. This can vary greatly in practice.
Cadence Information Returned Using Extended Attribute Functions
ATDX_SIZEHI( ) |
|
ATDX_SHORTLOW( ) |
|
ATDX_LONGLOW( ) |
|
ATDX_ANSRSIZ( ) |
|
ATDX_CONNTYPE( ) |
|
2.6.4. Tone Detection in PerfectCall Call AnalysisPerfectCall Call Analysis uses a combination of Cadence Detection and Frequency Detection to identify certain signals during the course of an outgoing call. Cadence detection identifies repeating patterns of sound and silence, and Frequency Detection determines the pitch of the signal. Together, the cadence and frequency of a signal make up its tone definition.
Unlike Basic Call Analysis, which uses fields in the DX_CAP structure to store signal cadence information, PerfectCall Call Analysis uses tone definitions which are contained in the Voice Driver itself. Functions are available to modify these default tone definitions.
Types of PerfectCall TonesTone definitions are used to identify several kinds of signals. The following list shows the defined tones and their tone identifiers. Tone identifiers are returned by the ATDX_CRTNID( ) function.
#define |
Tone Description |
TID_DIAL_LCL |
Local dial tone |
TID_DIAL_INTL |
International dial tone |
TID_DIAL_XTRA |
Special (or "extra") dial tone |
TID_BUSY1 |
Single tone busy signal |
TID_BUSY2 |
Dual tone busy signal |
TID_RNGBK1 |
Ringback tone |
TID_FAX1 |
A fax CNG tone |
TID_FAX2 |
A fax CED or modem tone |
TID_DISCONNECT |
Disconnect tone (post-connect) |
The tone identifiers are used in calls to the functions dx_chgfreq( ), dx_chgdur( ), and dx_chgrepcnt( ) to change the tone definitions. Refer to these functions in the Voice Software Reference: Programmer's Guide. Also see Section 2.3. How to Enable PerfectCall Call Analysis.
Dial Tone DetectionWherever PerfectCall Call Analysis is in effect, a dial string for an outgoing call may specify special ASCII characters that instruct the system to wait for a certain kind of dial tone. The following additional special characters may appear in a dial string:
L |
Wait for a local dial tone |
I |
Wait for an international dial tone |
X |
Wait for a special (extra) dial tone |
The tone definitions for each of these dial tones is set for each channel at the time of the dx_initcallp( ) function. In addition, the following DX_CAP fields identify how long to wait for a dial tone, and how long the dial tone must remain stable.
ca_dtn_pres |
Dial Tone Present: The length of time that the dial tone must be continuously present (in 10 ms units). If a dial tone is present for this amount of time, dialing of the dial string proceeds. Default value: 100 (one second). |
ca_dtn_npres |
Dial Tone Not Present: The length of time to wait before declaring the dial tone not present (in 10 ms units). If a dial tone of sufficient length (ca_dtn_pres) is not found within this period of time, Call Analysis terminates with the reason CR_NODIALTONE. The dial tone character (L, I, or X) for the missing dial tone can be obtained using ATDX_DTNFAIL( ). Default value: 300 (three seconds). |
ca_dtn_deboff |
Dial Tone Debounce: The maximum duration of a break in an otherwise continuous dial tone before it is considered invalid (in 10 ms units). This parameter is used for ignoring short drops in dial tone. If a drop longer than ca_dtn_deboff occurs, then dial tone is no longer considered present, and another dial tone must begin and be continuous for ca_dtn_pres. Default value: 10 (100 msec). |
Ringback DetectionPerfectCall Call Analysis uses the tone definition for ringback to identify the first ringback signal of an outgoing call. At the end of the first ringback (that is, normally, at the beginning of the second ringback), a timer goes into effect. The system continues to identify ringback signals (but does not count them). If a break occurs in the ringback cadence, the call is assumed to have been answered, and Call Analysis terminates with the reason CR_CONN (connect); the connection type returned by the ATDX_CONNTYPE( ) function will be CON_CAD (cadence break).
However, if the timer expires before a connect is detected, then the call is deemed unanswered, and Call Analysis terminates with the reason CR_NOAN.
The following DX_CAP fields govern this behavior:
ca_stdely |
Start Delay: The delay after dialing has been completed before starting Cadence Detection, Frequency Detection, and Positive Voice Detection (in 10 ms units). Default: 25 (0.25 seconds). |
ca_cnosig |
Continuous No Signal: The maximum length of silence (no signal) allowed immediately after the ca_stdely period (in 10 ms units). If this duration is exceeded, Call Analysis is terminated with the reason CR_NORNG (no ringback detected). Default value: 4000 (40 seconds). |
ca_noanswer |
No Answer: The length of time to wait after the first ringback before deciding that the call is not answered (in 10 ms units). If this duration is exceeded, Call Analysis is terminated with the reason CR_NOAN (no answer). Default value: 3000 (30 seconds). |
ca_maxintering |
Maximum Inter-ring: The maximum length of time to wait between consecutive ringback signals (in 10 ms units). If this duration is exceeded, Call Analysis is terminated with the reason CR_CONN (connected). Default value: 800 (8 seconds). |
Busy Tone DetectionThere are two busy tones defined in PerfectCall Call Analysis, TID_BUSY1 and TID_BUSY2. If either of them is detected while Frequency Detection and Cadence Detection are active, then Call Analysis is terminated with the reason CR_BUSY. ATDX_CRTNID( ) identifies which busy tone was detected.
No DX_CAP fields affect busy tone detection.
Positive Answering Machine Detection (PAMD)The recommended setting for the Call Analysis Parameter structure (DX_CAP) ca_pamd_spdval field is PAMD_ACCU. Previously, the ca_pamd_spdval field could be set to PAMD_FULL or PAMD_QUICK. This field can now also be set to PAMD_ACCU, which does the most accurate evaluation; it detects live voice as accurately as PAMD_FULL but is more accurate than PAMD_FULL (although slightly slower) in detecting an answering machine. Use the setting PAMD_ACCU when accuracy is more important than speed.
Positive Answering Machine Detection (PAMD) is available only with PerfectCall Call Analysis. Whenever PAMD is enabled, Positive Voice Detection (PVD) is also enabled. PAMD is enabled by setting the ca_intflg field of the DX_CAP structure to one of the following values:
When enabled, detection of an answering machine will result in the termination of Call Analysis with the reason CR_CONN (connected). The connection type returned by the ATDX_CONNTYPE( ) function will be CON_PAMD.
To distinguish between a greeting by a live human and one by an answering machine, one of the following methods is used:
The slower method gives a very accurate determination. However in situations where a fast decision is more important than accuracy, PAMD_QUICK might be preferred.
The following DX_CAP fields govern positive answering machine detection:
ca_pamd_spdval |
PAMD Speed Value: Whether to make a quick decision on Positive Answering Machine Detection. Possible values: | |
PAMD_FULL |
Look at greeting (long method). Default. | |
PAMD_QUICK |
Look at connect only (quick method) | |
PAMD_ACCU |
Look at greeting (long method) and use most accuracy for detecting an answering machine. | |
ca_pamd_qtemp |
PAMD Qualification Template: The algorithm to use in PAMD. At present there is only one template: PAMD_QUAL1TMP. This parameter must be set to this value. | |
ca_pamd_failtime |
PAMD fail time: Maximum time to wait for Positive Answering Machine Detection or Positive Voice Detection after a cadence break. Default Value: 400 (in 10 ms units). | |
ca_pamd_minring |
Minimum PAMD ring: Minimum allowable ring duration for Positive Answering Machine Detection. Default Value: 190 (in 10 ms units). | |
Fax or Modem Tone DetectionDetection of fax and modem tones is available only with PerfectCall Call Analysis. Two tones are defined, TID_FAX1 and TID_FAX2. If either of them is detected while Frequency Detection and Cadence Detection are active, then Call Analysis is terminated with the reason CR_FAXTONE. ATDX_CRTNID( ) identifies which fax or modem tone was detected.
No DX_CAP fields affect fax or modem tone detection.
2.6.5. Loop Current DetectionSome telephone systems return a momentary drop in loop current when a connection has been established (answer supervision). Loop Current Detection returns a connect when a transient loop current drop is detected.
In some environments, including most PBXs, answer supervision is not provided. In these environments, Loop Current Detection will not function. Check with your CO or PBX supplier to see if answer supervision based on loop current changes is available.
In some cases, the application may receive one or more transient loop current drops before an actual connection occurs. This is particularly true when dialing long-distance numbers, when the call may be routed through several different switches. Any one of these switches may be capable of generating a momentary drop in loop current.
To disable Loop Current Detection, set ca_lcdly to -1.
Loop Current Detection Parameters Affecting a ConnectTo prevent detecting a connect prematurely or falsely, due to a spurious loop current drop, you can delay the start of Loop Current Detection by using the parameter ca_lcdly.
Loop Current Detection returns a connect after detecting a loop current drop. To allow the person who answered the phone to say "hello" before the application proceeds, you can delay the return of the connect by using the parameter ca_lcdly1.
Parameter |
Description |
ca_lcdly |
Loop Current Delay: The delay after dialing has been completed and before beginning Loop Current Detection. To disable Loop Current Detection, set to -1. Default: 400 (10 ms units). |
ca_lcdly1 |
Loop Current Delay 1: The delay after Loop Current Detection detects a transient drop in loop current and before Call Analysis returns a connect to the application. Default: 10 (10 ms units). |
If the ATDX_CONNTYPE( ) function returns CON_LPC, the connect was due to Loop Current Detection.
2.6.6. Positive Voice DetectionPositive Voice Detection (PVD) can detect when a call has been answered by determining whether an audio signal is present that has the characteristics of a live or recorded human voice. This provides a very precise method for identifying when a connect occurs.
PVD is especially useful in those situations where answer supervision is not available for Loop Current Detection to identify a connect, and where the cadence is not clearly broken for Cadence Detection to identify a connect (for example, when the nonsilence of the cadence is immediately followed by the nonsilence of speech).
If the ATDX_CONNTYPE( ) function returns CON_PVD, the connect was due to Positive Voice Detection.
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation