# NCC functions and line states

The following table lists which NCC API calls can be made from each of the states of the line state machine.

Note: Functions marked by an asterisk can be performed in the idle line state on a call that is held, if supported by the service implementation and protocol. The NCC_CAP_HOLD_IN_ANY_STATE indicator in the capabilitymask returned by nccQueryCapability indicates if the protocol allows calls to be held or retrieved from any state.

NCC function | Line state
--- | ---
Active | Blocking | Idle | Out of service | Uninitialized
nccAcceptCall (*) | X |  | X |  |
nccAnswerCall (*) | X |  | X |  |
nccAutomaticTransfer | X |  |  |  |
nccBlockCalls | X |  | X | X |
nccDisconnectCall (*) | X |  | X |  |
nccGetCallStatus | X |  | X |  |
nccGetExtendedCallStatus | X |  | X |  |
nccGetLineStatus | X | X | X | X | X
nccHoldCall | X |  |  |  |
nccPlaceCall | X |  | X |  |
nccQueryCapability | X | X | X | X |
nccRejectCall (*) | X |  | X |  |
nccReleaseCall | X | X | X | X |
nccRetrieveCall | X |  | X |  |
nccSendCallMessage (*) | X |  | X |  |
nccSendDigits (*) | X |  | X |  |
nccSendLineMessage | X | X | X | X |
nccSetBilling (*) | X |  | X |  |
nccStartProtocol |  |  |  |  | X
nccStopProtocol | X | X | X | X |
nccTransferCall | X |  |  |  |
nccUnblockCalls | X | X | X | X |

## NCC functions and capability masks

The following table lists the functions that are not supported by some protocols and the name of the bit in the capabilitymask returned by nccQueryCapability that indicates if the function is supported.

NCC function | Capability mask
--- | ---
nccAcceptCall | NCC_CAP_ACCEPT_CALL
nccAutomaticTransfer | NCC_CAP_AUTOMATIC_TRANSFER
nccGetExtendedCallStatus | NCC_CAP_EXTENDED_CALL_STATUS
nccHoldCall | NCC_CAP_HOLD_CALL
nccRetrieveCall | NCC_CAP_HOLD_CALL
nccSendCallMessage | NCC_CAP_SEND_CALL_MESSAGE
nccSendDigits | NCC_CAP_OVERLAPPED_SENDING
nccSendLineMessage | NCC_CAP_SEND_LINE_MESSAGE
nccSetBilling | NCC_CAP_SET_BILLING
nccTransferCall | NCC_CAP_SUPERVISED_TRANSFER or NCC_CAP_TWOCHANNEL_TRANSFER

For more information, refer to Protocol capabilities.