CALL STATE
[This is preliminary documentation and subject to change.]
Used by get_CallState, get_Event, and get_Cause.
typedef enum
{
CS_IDLE,
CS_INPROGRESS,
CS_CONNECTED,
CS_DISCONNECTED,
CS_OFFERING,
CS_HOLD,
CS_QUEUED
} CALL_STATE
Members
-
CS_IDLE
-
The call has been created, but Connect has not been called yet. A call can never transition into the IDLE state.
-
CS_INPROGRESS
-
Connect has been called, and the service provider is working on making a connection. This state is only valid on outgoing calls. This message is optional, as a service provider may have a call transition directly to the CONNECTED state.
-
CS_CONNECTED
-
Call has been connected to the remote end, and communication can take place.
-
CS_DISCONNECTED
-
Call has been disconnected. There are several causes for disconnection. See details below.
-
CS_OFFERING
-
A new call has appeared, and is being offered to an application. An application can either call Connect or Disconnect while the call is in the offering state.
-
CS_HOLD
-
The call is in the hold state.
-
CS_QUEUED
-
The call is queued.
Following is a table of all valid call state transitions.
CS_IDLE |
INPROGRESS |
CS_INPROGRESS |
CONNECTED |
|
FAILED |
CS_CONNECTED |
HOLD |
|
DISCONNECTED |
CS_DISCONNECTED |
nothing – call should be freed |
CS_OFFERING |
CONNECTED |
|
DISCONNECTED |
CS_HOLD |
CONNECTED |
|
DISCONNECTED |
CS_QUEUED |
CONNECTED |
|
DISCONNECTED |