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 Introduction
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 Events
After invoking
adiStartCallProgress
, tones and voice events are generated as described in the following sections.
4.2.1 Call Progress Tone Events
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 Events
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 Events
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)
The following functions are typically configured to share the same group of task processors:
Call progress
Voice record
Voice playback
Tone generation
MF detection
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.
Version
Want to send us feedback on our documentation? Email:
Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.