Each ISDN call that is received or generated by an application is processed through a series of call control states. Each state represents the completion of certain tasks and/or the current status of the call. The following table describes the ISDN call control states, based on standard Q.931 (Layer 3).
Table 2. Call Control States
Call State |
Description |
An indication to the network that the incoming call has been accepted, but has not been connected to the end user. (Most voice applications do not need this.) | |
The destination is reached and the phone is ringing. This state may be reported to the application or masked depending on the application directive. | |
An incoming or outgoing call is established. Typically, billing begins at this point and the B channel is cut through. | |
Address and call setup information has been sent to, and acknowledged by, the network. Call establishment is in progress. | |
The network terminates the call and the application should drop the call. | |
A call is dropped and waiting for the application to release the call reference number (CRN). | |
No call is assigned to the device (time slot or line). | |
An incoming call is offered by the network. |
The call states change according to the sequence of functions called by the application and the events that originate in the network and system hardware. The current state of a call can be changed by:
The way calls transition between states differs depending on whether the application uses asynchronous or synchronous programming:
The following sections describe the state transitions for both asynchronous and synchronous call processes. (Refer to the Voice Software Reference - Programmer's Guide for the appropriate operating system for details on the supported programming models.)
3.3.1. Asynchronous Call EstablishmentFigure 3 illustrates the call states associated with establishing or setting up a call in the asynchronous mode. The call establishment process for outbound calls is shown on the right side of the diagram; the inbound call set up process is shown on the left. All calls start from a Null state. See Table 2 for descriptions of the call states.
Figure 3. Asynchronous Call Establishment Process

Table 3 provides an example of a simple inbound call using the asynchronous call establishment process. The items denoted by an asterisk (*) are optional functions/events or maskable events that may be reported to the application. For more detailed call scenarios see Appendix A.
Table 3. Inbound Call Set-Up (Asynchronous Example)
Table 4 illustrates a simple scenario for making an outbound call using the asynchronous call establishment process. The items denoted by an asterisk (*) are optional functions/events or maskable events that may be reported to the application. For more detailed call scenarios, see Appendix A.
Table 4. Outbound Call Set-up (Asynchronous Example)
3.3.2. Synchronous Call EstablishmentFigure 4 illustrates the call states associated with establishing or setting up a call in the synchronous mode. The call establishment process for outbound calls is shown on the right side of the diagram; the inbound call set up process is shown on the left. All calls start from a Null state. See Table 2 for descriptions of the call states.
Figure 4. Synchronous Call Establishment Process

Table 5 provides an example of a simple inbound call using the synchronous call establishment process. The items denoted by an asterisk (*) are optional functions/events or maskable events that may be reported to the application. For more detailed call scenarios, see Appendix A.
Table 5. Inbound Call Set-Up (Synchronous Example)
Table 6 illustrates a simple scenario for making an outbound call using the synchronous call establishment process. The item denoted by an asterisk (*) is a maskable event that may be reported to the application. For more detailed call scenarios, see Appendix A.
Table 6. Outbound Call Set-up (Synchronous Example)
Function/Event |
Action/Description |
Requests a connection using a specified line device; a CRN is assigned and returned immediately. | |
Remote end was reached but a connection has not been established | |
none |
When the cc_MakeCall( ) function successfully completes, the call is in the Connected state. |
| |
3.3.3. Asynchronous Call TerminationFigure 5 illustrates the call states associated with call termination or call teardown in the asynchronous mode initiated by either call disconnection or failure. A call can be terminated by the application or by the detection of 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. See Table 2 for descriptions of the call states.
Figure 5. Asynchronous Call Disconnect or Failure Process

Table 7 presents an asynchronous call termination scenario. The item denoted by an asterisk (*) is an optional function call. For more detailed call scenarios, see Appendix A.
Table 7. Call Termination (Asynchronous Example)
3.3.4. Synchronous Call TerminationFigure 6 illustrates the call states associated with call termination or call teardown in the synchronous mode initiated by either call disconnection or failure. A call can be terminated by the application or by the detection of 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. See Table 2 for descriptions of the call states.
Figure 6. Synchronous Call Disconnect or Failure Process

Table 8 presents a synchronous call termination scenario. The item denoted by an asterisk (*) is an optional function call. For more detailed call scenarios, see Appendix A.
Table 8. Call Termination (Synchronous Example)
Function/Event |
Action/Description |
Unsolicited event generated when call is terminated by network; initiates transition to Disconnected state. | |
Disconnects call specified by CRN. Initiates transition to Idle state. | |
Retrieves billing information | |
Issued to release all resources used for call; network port is ready to receive next call. Causes transition to Null state. | |
| |
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation