Table of Contents Index NMS Glossary Previous Page Next Page Version


Chapter 4

Call Progress


4.1 Introduction
4.2 Call Progress Events
4.2.1 Call Progress Tone Events
4.2.2 Call Progress Voice Events
4.2.3 Call Progress Termination Events
4.3 System Restrictions (AG Boards)

4.1 IntroductionTop of Page

Call progress in the ADI service provides functions to monitor inband energy to detect network tones, voice, and other tones such as modem or fax terminal tones. Call progress allows you to manage low-level call control directly. This ability can be useful when working with the null protocol, NOCC.

The following two functions manage call progress:
If you want to...

Then use...

Start call progress analysis

adiStartCallProgress

Stop call progress analysis

adiStopCallProgress

Note: The resources and algorithms employed for call progress are described in Chapter 2. Because the call progress behavior is nearly identical to the call progress performed as part of the ADI service's call control, only the differences are described here. Call progress is affected by the parameters stored in the ADI_CALLPROG_PARMS structure.

4.2 Call Progress EventsTop of Page

After invoking adiStartCallProgress, tones and voice events are generated as described in the following sections.

4.2.1 Call Progress Tone EventsTop of Page

The call progress tone events are mapped from the tone events described in Section 2.4.4, Section 2.4.5, and Section 2.4.6, and are controlled by the ADI_CALLPROG_PARMS structure.

The following tones are detected by call progress. Each detected tone causes the ADI service to generate the corresponding event.
If the detected tone is...

The ADI event is...

Dial tone

ADIEVN_CP_DIALTONE

Reorder tone

ADIEVN_CP_REORDERTONE

Ring tone

ADIEVN_CP_RINGTONE

Ring quit

ADIEVN_CP_RINGQUIT

SIT

ADIEVN_CP_SIT

Fax/modem answer tone

ADIEVN_CP_CED

4.2.2 Call Progress Voice EventsTop of Page

The call progress voice events are mapped from the voice events described in Section 2.4.7, Using Voice Detection and are controlled by the ADI_CALLPROG_PARMS structure.

Whenever a voice event occurs during call progress, an ADIEVN_CP_VOICE event is generated. The event value field contains the voice event:
If...

The ADI event reason is...

The remote party begins speaking (Voice Begin)

ADI_CP_VOICE_BEGIN

The remote party has spoken for a period longer than the first time threshold (Voice Medium)

ADI_CP_VOICE_MEDIUM

The remote party has spoken for a period longer than the second time threshold (Voice Long)

ADI_CP_VOICE_LONG

The remote party has spoken for a period longer than the third time threshold (Voice Extended)

ADI_CP_VOICE_EXTENDED

The remote party stopped speaking (Voice End)

ADI_CP_VOICE_END

4.2.3 Call Progress Termination EventsTop of Page

Call progress terminates when any of the following events occur:
If...

The ADI event is...

A dial tone is detected

ADIEVN_CP_DIALTONE

A busy tone is detected

ADIEVN_CP_BUSYTONE

A reorder tone is detected

ADIEVN_CP_REORDERTONE

A SIT tone is detected

ADIEVN_CP_SIT

There is no answer

ADIEVN_CP_NOANSWER

A fax or modem answer tone is detected

ADIEVN_CP_CED

Additionally, the you can configure the stopmask parameter in the ADI_CALLPROG_PARMS structure to selectively terminate on the occurrence of any of the following telephone network events:
Telephone Network Event

ADI Event

A ring tone is detected.

ADIEVN_CP_RINGTONE

There is a loss of ring tone with no subsequent events.

ADIEVN_CP_RINGQUIT

The remote party begins speaking (Voice Begin). Check the value field of the event for the voice event.

ADIEVN_CP_VOICE, with ADIEVN_CP_VOICE_BEGIN in the value field

The remote party has spoken for a period longer than the first time threshold (Voice Medium). Check the value field of the event for the voice event.

ADIEVN_CP_VOICE, with ADIEVN_CP_VOICE_MEDIUM in the value field

The remote party has spoken for a period longer than the second time threshold (Voice Long). Check the value field of the event for the voice event.

ADIEVN_CP_VOICE, with ADIEVN_CP_VOICE_LONG in the value field

The remote party has spoken for a period longer than the third time threshold (Voice Extended). Check the value field of the event for the voice event.

ADIEVN_CP_VOICE, with ADIEVN_CP_VOICE_EXTENDED in the value field

The remote party stopped speaking (Voice End). Check the value field of the event for the voice event.

ADIEVN_CP_VOICE, with ADIEVN_CP_VOICE_END in the value field


When call progress terminates, an ADIEVN_CP_DONE event is generated.

4.3 System Restrictions (AG Boards)Top of Page

The following functions are typically configured to share the same group of task processors:

For the typical configuration, DSP capacity is allotted under the assumption that every port is running at most one of these functions at any given time. If you concurrently execute a combination of these functions, you will likely exhaust the DSP capacity.

When using the NOCC protocol, call progress functions can be executed at any time. With all other protocols, call progress can only be run after the call enters the connected state. Refer to Chapter 2 for more information.



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.