3.9 Comprehensive State Diagrams
(Page 10 of 12 in this chapter)
This section presents two comprehensive state diagrams of AG Access functions.
Figure 12
is a state diagram encompassing inbound, outbound, and service interruption control functions.
Figure 13
adds call transfer functions.
The AG Access 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 'pending command' field of the call status.
The following table shows which functions are allowed in each state.
State
Pending Command
Functions Allowed
IDLE
(none)
adiPlaceCall
Place call
adiReleaseCall
Release
(none)
INCOMING_CALL
(none)
adiAnswerCall
,
adiRejectCall
Answer
adiAnswerCall
Reject
(none)
ANSWERING_CALL
(none)
adiAnswerCall
,
adiReleaseCall
Answer
adiAnswerCall
,
adiReleaseCall
Releasing
(none)
PLACING_CALL
(none)
adiReleaseCall
Releasing
(none)
DISCONNECTED
(none)
adiReleaseCall
Releasing
(none)
CONNECTED
(none)
adiReleaseCall
,
adiTransferCall
,
adiPlaceSecondCall
Releasing
(none)
Releasing 2nd
adiReleaseCall
Transferring
adiReleaseCall
,
adiReleaseSecondCall
Placing 2nd call
adiReleaseCall
,
adiReleaseSecondCall
REJECTING
(none)
(none)
PLACING_CALL2
(none)
adiReleaseCall
,
adiReleaseSecondCall
Releasing
(none)
Releasing 2nd
adiReleaseCall
CONNECTED2
(none)
adiReleaseCall
,
adiReleaseSecondCall
Releasing
(none)
Releasing 2nd
adiReleaseCall
: Inbound, Outbound, and Service Interruption State Diagram
: Inbound, Outbound, Service Interruption, and Call Transfer State Diagram
(Page 10 of 12 in this chapter)