# Unsolicited events

The following table lists the call control-related unsolicited events:

Event | Description
--- | ---
NCCEVN_BILLING_INDICATION | Not supported by ISDN Software.
NCCEVN_CALL_DISCONNECTED | The caller was disconnected from the remote party. The value field contains the reason why the disconnect occurred. Indicates a transition to the disconnected call state.
NCCEVN_CALL_PROCEEDING | The switch accepted the call setup. The receiving side is ringing. This is a secondary and subsequent event generated due to invocation of nccPlaceCall. Indicates a transition to the proceeding call state.
NCCEVN_CALL_STATUS_UPDATE | A call status information event was received by NaturalAccess. This can include billing information for outgoing calls. Upon receiving this event, the application can call nccGetCallStatus to analyze the relevant fields in the NCC_CALL_STATUS structure.
NCCEVN_CALLID_AVAILABLE | The requested callid is available.
NCCEVN_CALLS_BLOCKED | This event can be received unsolicited after nccStartProtocol returns NCCEVN_STARTPROTOCOL_DONE, if the application blocks a channel with NCC_BLOCK_OUT_OF_SERVICES mode and then restarts the protocol. To restore normal operation, the application should call nccUnblockCalls to unblock the channel. The application receives this event after calling nccBlockCalls. See Call control functions and solicited events for more information.
NCCEVN_CAPABILITY_UPDATE | Protocol capabilities changed. The application can call nccQueryCapability to determine the current set of protocol capabilities.
NCCEVN_EXTENDED_CALL_ STATUS_UPDATE | The call status information. The application can call nccGetExtendedCallStatus to determine what changed. The value field contains an indicator showing the kind of information that was received. For more information, see the NCC_ISDN_EXT_CALL_STATUS structure.
NCCEVN_INCOMING_CALL | The TCP has handled the setup of an incoming call, and is now waiting for the application to decide if the call must be answered, accepted, or rejected. The call is now in incoming call state. The application can call nccGetCallStatus to retrieve information on the incoming call. The application can then answer, accept, or reject the call as needed within the period of time specified by the NCC.START.waitforPCtime parameter (usually several seconds).
NCCEVN_LINE_IN_SERVICE | The network placed the line in service (the line was out of service). Indicates a transition to the idle line state. The protocol may optionally report more details in the value field.
NCCEVN_LINE_OUT_OF_SERVICE | The called party is blocking the line, or the line and its associated hardware are not configured properly. The TCP will not accept commands until the line comes back into service again. Then the TCP returns to the idle state, and generates an NCCEVN_LINE_IN_SERVICE event. Indicates a transition to the out of service line state. The protocol can optionally report more details of the event in the value field.
NCCEVN_PROTOCOL_ERROR | Received if the application tries to execute functions that are not applicable for the current state, or if a certain function is not supported by a variant. The value field qualifies the event.
NCCEVN_PROTOCOL_EVENT | Received if the network has delivered a message that is not mapped to a standard NCC event. Such messages can be: An ISDN-specific message. For details, see Sending and receiving ISDN-specific messages. A PROGRESS message. Delivered only if the NCC.X.ADI_ISDN.START_EXT.ISDNeventmask parameter is set. The value field qualifies the event. No state change takes place.
NCCEVN_RECEIVED_DIGIT | With ISDN Software protocols, you can configure the TCP so that when it receives digits during an incoming call, it sends digits to the application one by one as they arrive (overlap receiving). If the TCP is configured this way, this event indicates that a digit has arrived. The event value field is set to the value of the digit (a char). The call state changes to receiving digits, if it is not already in that state.
NCCEVN_REJECTING_CALL | (Solicited) nccRejectCall was invoked, and the call is now rejected. (Unsolicited) The application failed to answer, accept, or reject the call in a timely fashion. The call is automatically rejected. In both cases, expect NCCEVN_CALL_DISCONNECTED. The value field contains a qualifier for why call a is rejected. Indicates a transition to the rejecting call state.
NCCEVN_SEIZURE_DETECTED | The line was seized by an external entity for an incoming call. It is the beginning of the call setup process for an incoming call. Indicates a transition to the seizure call state.