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