# NCCEVN_CALL_HELD

(solicited) nccHoldCall or nccAutomaticTransfer was invoked; call is now held.

(unsolicited) The CPE placed the call on hold.

#### State transition

To idle line state, from active line state.

#### Associated function

nccHoldCall, nccAutomaticTransfer, unsolicited

#### Fields

Field | Description
callhd | Call handle.

#### Details

NCCEVN_CALL_HELD indicates that a call was placed on hold, either by the application or by a remote party. When a call is placed on hold, no call state change occurs. However, a call on hold is not considered active. If there are no active calls on a line (all calls on the line are either held or disconnected), the line state returns to idle.

Call holding is not supported by all protocols. The NCC_CAP_HOLD_CALL indicator in the capabilitymask returned by nccQueryCapability indicates if the current protocol supports this event or not.

A call can only be placed on hold while in the connected state unless the NCC_CAP_HOLD_IN_ANY_STATE indicator is set in the capabilitymask for the protocol. In this case, the held call may change call states while on hold.

The application can invoke nccGetCallStatus to determine whether a call is on hold or not. If a call is on hold, the held field in the NCC_CALL_STATUS structure returned for that call contains a non-zero value.