Previous PageTable Of ContentsHomeIndexNext Page


2.6. How the DX_CAP Controls Call Analysis

DX_CAP

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.

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.

NOTE:
Please note that the data structures described "Obsolete" are NOT obsolete for PEB.

SIT 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.

Tone 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
Name

SIT
Description

1st Tone
Freq. Len.

2nd Tone
Freq. Len.

3rd Tone
Freq. Len.

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.

Frequency 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.

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.

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).

NOTE:
This tone is disabled initially and must be activated by the application using these variables

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).

NOTE:
This tone is disabled initially and must be activated by the application using these variables.

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)

Upon 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:

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).

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).

ATDX_FRQHZ3( )

  Frequency Hertz 3: Frequency in Hz of the tone detected in the tone detection range specified by the DX_CAP ca_lower3frq and ca_upper3frq parameters; usually the third tone of an SIT sequence.

ATDX_FRQDUR3( )

  Frequency Duration 3: Duration of the tone detected in the tone detection range specified by the DX_CAP ca_lower3frq and ca_upper3frq parameters; usually the third tone of an SIT sequence (10 ms units).

If 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.

The 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 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

Upper Frequency: Upper bound for tone in Hz. Default: 1000.

ca_rejctfrq

Not used.

Upon 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( )

  Not used.

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.

The 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.

NOTES:
1. Sound is referred to as nonsilence.
2. The algorithm used for cadence detection is disclosed and protected under U.S. patent 4,477,698 of Melissa Electronic Labs, and other patents pending for Dialogic Corporation.

The following figures show some typical cadence patterns.


Figure 5. A Standard Busy Signal


Figure


Figure 6. A Standard Single Ring


Figure


Figure 7. A Type of Double Ring


Figure

From 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


Figure

Once the cadence is established, the cadence values can be retrieved using the following Extended Attribute functions:

ATDX_SIZEHI( )

  Length of the nonsilence period (in 10 ms units) for the detected cadence.

ATDX_SHORTLOW( )

  Length of the shortest silence period for the detected cadence (in 10 ms units).

ATDX_LONGLOW( )

  Length of the longest silence period for the detected cadence (in 10 ms units).

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


Figure

The durations of subsequent states are compared with these fields to see if the cadence has been broken.

Cadence 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.

Only 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.

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).

After 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


Figure

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


Figure

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.

By 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 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.

NOTE:
A return value of 180 to 480 may deviate from the actual length of the salutation by 0 to +1.8 seconds.

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


Figure

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.

NOTE:
When a connect is detected through Positive Voice Detection or Loop Current Detection, the DX_CAP parameters ca_hedge, ca_ansrdgl, and ca_maxansr are ignored.

ATDX_SIZEHI( )

  Size High: Duration of the cadence non-silence period (in 10 ms units).

ATDX_SHORTLOW( )

  Short Low: Duration of the cadence shorter silence period (in 10 ms units).

ATDX_LONGLOW( )

  Long Low: Duration of the cadence longer silence period (in 10 ms units).

ATDX_ANSRSIZ( )

  Answer Size: Duration of answer if a connect occurred (in 10 ms units) (ignored for what for PVD).

ATDX_CONNTYPE( )

  Connection type. If ATDX_CONNTYPE( ) returns CON_CAD, the connect was due to Cadence Detection.

PerfectCall 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.

Tone 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.

Wherever 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).

PerfectCall 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).

There 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.

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).

Detection 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.

Some 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.

To 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.

NOTE:
When a connect is detected through Positive Voice Detection or Loop Current Detection, the DX_CAP parameters ca_hedge, ca_ansrdgl, and ca_maxansr are ignored.

Positive 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.

NOTE:
When a connect is detected through Positive Voice Detection or Loop Current Detection, the DX_CAP parameters ca_hedge, ca_ansrdgl, and ca_maxansr are ignored.

Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated January, 2001