3.4.3 Call Termination in Asynchronous Mode
This section describes how calls are terminated and shows call scenarios for asynchronous call termination. The following topics describe call termination in asynchronous mode:
- Call Termination in Asynchronous Mode Overview
- User Initiated Termination
- Network Initiated Termination
- Call Release
- Call Termination Call Control Scenarios in Asynchronous Mode
3.4.3.1 Call Termination in Asynchronous Mode Overview
Figure 14 illustrates the call states associated with call termination or call teardown in the asynchronous mode initiated by either a call disconnection or failure. See Table 8 for a summary of the call state transitions. A call can be terminated by the application or by the detection of a call disconnect from the network. Either of these terminations can occur at any point in the process of setting up a call and during any call state.
Figure 14. Asynchronous Call Tear-Down State Diagram
3.4.3.2 User Initiated Termination
The application terminates a call by issuing a gc_DropCall( ) function that initiates disconnection of the call specified by the CRN. When the remote side responds by disconnecting the call, a GCEV_DROPCALL event is generated and causes a transition from the current call state to the Idle state. The user must then issue the gc_ReleaseCallEx( ) function to release all internal resources allocated for the call.
3.4.3.3 Network Initiated Termination
When a network call termination is initiated, an unsolicited GCEV_DISCONNECTED event is generated. This event indicates the call was disconnected at the remote end or an error was detected, which prevented further call processing. The GCEV_DISCONNECTED event causes the call state to change from the current call state to the Disconnected state. This event may be received during call setup or after a connection is requested. In the Disconnected state, the user issues the gc_DropCall( ) function to disconnect the call. The gc_DropCall( ) function is equivalent to set hook ON. After the remote side is notified about the call being dropped, a GCEV_DROPCALL event is generated causing the call state to change to the Idle state. In the Idle state, the gc_ReleaseCallEx( ) function must be issued to release all internal resources committed to servicing the call.
3.4.3.4 Call Release
Once in the Idle state, the call has been disconnected and the application must issue a gc_ReleaseCallEx( ) function to free the line device for another call. The gc_ReleaseCallEx( ) function releases all internal system resources committed to servicing the call. A GCEV_RELEASECALL event is generated and the call state transitions to the Null state.
3.4.3.5 Call Termination Call Control Scenarios in Asynchronous Mode
This section shows various asynchronous call termination call scenarios. For call scenarios used for a specific signaling protocol, check the Global Call Technology User's Guide for that technology.
Figure 15 shows an asynchronous user initiated call termination scenario.
Figure 15. User Initiated Asynchronous Call Termination Scenario
Figure 16 shows an asynchronous network initiated call termination scenario.
Figure 16. Network Initiated Asynchronous Call Termination Scenario
Click here to contact Telecom Support Resources
Copyright 2002, Intel Corporation