# Call states

The following table lists the call states. One or more transitional events associated with each state indicate transition into the state.

Some call states are optional. If a call enters an optional state, the event indicating the transition is generated only if the proper bit enabling or disabling the event is set in the NCC.START.eventmask parameter. For more information about this parameter, see NCC API global parameters.

The application can use nccGetCallStatus to determine the state of a call.

A call enters this state... | In this way...
--- | ---
Accepting (optional) | NCCEVN_ACCEPTING_CALL event in response to invocation of nccAcceptCall. The NCC_CAP_ACCEPT_CALL indicator in the capabilitymask returned by nccQueryCapability indicates if the protocol supports this state.
Answering | NCCEVN_ANSWERING_CALL event in response to invocation of nccAnswerCall.
Connected | Unsolicited NCCEVN_CALL_CONNECTED event after a call is successfully answered by the remote party, or the NCCEVN_CALL_CONNECTED call control connectmask conditions occurred on an outbound call (connect on proceeding).
Disconnected | Unsolicited NCCEVN_CALL_DISCONNECTED event from any state. Solicited NCCEVN_CALL_DISCONNECTED event, following the invocation of nccDisconnectCall. The NCC_CAP_DISCONNECT_IN_ ANY_STATE indicator in the capabilitymask returned by nccQueryCapability indicates in which call states the application can initiate a disconnect.
Incoming | NCCEVN_INCOMING_CALL event.
Outbound initiated | By attempting to place a call using nccPlaceCall.
Placing | NCCEVN_PLACING_CALL event in response to invocation of nccPlaceCall.
Proceeding | An NCCEVN_CALL_PROCEEDING event indicates that the call entered this state.
Receiving digits (optional) | Unsolicited NCCEVN_RECEIVED_DIGIT event. This event is generated only if the NCC.START.overlappedreceiving parameter is set. For more information, see NCC API global parameters.
Rejecting | NCCEVN_REJECTING_CALL event in response to invocation of nccRejectCall. As a result of not responding in time to an NCCEVN_INCOMING_CALL.
Seizure | Unsolicited NCCEVN_SEIZURE_DETECTED event.

The following illustration shows the NCC call states and events indicating transitions between them: