(Page 10 of 12 in this chapter)


6.9 State Diagrams

This section presents two state diagrams of call control functions. Figure 56 is a state diagram encompassing inbound, outbound, and service interruption control functions. Figure 57 adds call transfer functionality to Figure 56.

The ADI service call state machine is event-driven. The state does not change when a call control function is invoked.

To detect if a function is called twice in a row, the library stores the identity of the last call control command issued to the board in the pendingcommand field of the ADI_CALL_STATUS structure.

The following table shows which functions are allowed in each state.

State

Pending Command

Functions Allowed

IDLE

(none)
Place call
Release

adiPlaceCall
adiReleaseCall
(none)

INCOMING_CALL

(none)
Answer
Reject

adiAnswerCall, adiRejectCall
adiAnswerCall
(none)

ANSWERING_CALL

(none)
Answer
Release

adiAnswerCall, adiReleaseCall
adiAnswerCall, adiReleaseCall
(none)

PLACING_CALL

(none)
Release

adiReleaseCall
(none)

DISCONNECTED

(none)
Release

adiReleaseCall
(none)

CONNECTED

(none)

Release
Release 2nd
Transfer
Place 2nd call

adiReleaseCall, adiTransferCall, adiPlaceSecondCall
(none)
adiReleaseCall
adiReleaseCall, adiReleaseSecondCall
adiReleaseCall, adiReleaseSecondCall

REJECTING

(none)

(none)

PLACING_CALL2

(none)
Release
Release 2nd

adiReleaseCall, adiReleaseSecondCall
(none)
adiReleaseCall

CONNECTED2

(none)
Release
Release 2nd

adiReleaseCall, adiReleaseSecondCall
(none)
adiReleaseCall

Figure 56. Inbound, Outbound, and Service Interruption State Diagram


Figure 57. Inbound, Outbound, Service Interruption, and Call Transfer



(Page 10 of 12 in this chapter)


Tech_Support@nmss.com
Copyright © 1996, Natural MicroSystems, Inc. All rights reserved.