Table of Contents Index NMS Glossary Previous Page Next Page Version


Chapter 2

The Natural Call Control API


2.1 Introduction
2.2 NCC Service Call Control Model
2.2.1 Lines and Calls
2.2.2 Call Control States
2.3 NCC Service Functions
2.4 NCC Service Events
2.5 Protocol Capabilities
2.6 NCC Service State Machines
2.6.1 Line States
2.6.2 Call States
2.6.3 Functions and States
2.6.4 Events and States

2.1 IntroductionTop of Page

This chapter:

2.2 NCC Service Call Control ModelTop of Page

This section introduces the NCC service call control model, and defines some key concepts.

2.2.1 Lines and CallsTop of Page

The NCC service call control model differentiates between lines and calls:

Programmatically, a line is referenced using a line handle. The line handle is equivalent to the CTA context handle.

A call is referenced using a call handle. When a call handle is referenced in a function call, the line handle is referenced implicitly.

When a line event occurs, the event indication includes the line handle. When a call event occurs, the event indication includes both the line handle and call handle. (For more information about receiving NCC service events, see Section 3.2.4.)

2.2.2 Call Control StatesTop of Page

In the NCC service call control model, the state is the condition or status of a line or call. The model defines a set of specific states that a line or call can be in as long as it exists. For each state, a certain set of occurrences (a specific function call by the application, or actions by the remote party) is defined, which may cause the line or call to change to another state. Whenever a state change occurs, the application receives an appropriate event.

The NCC service call control model differentiates between line states and call states. A line can be in any of five possible states. A call on the line can be in any of 11 states.

To determine the current state of a call or line, the application can invoke status retrieval functions. For more information, see Chapter 6.

The following table lists the line states, and descriptions for each. Figure 4 illustrates the line states, and shows events indicating transitions between them.
Line State

Description

Uninitialized

Initial state of line. Signifies that a protocol has not yet been started.

Idle

Signifies that no active calls currently exist on the line. If there are any calls on the line, they are either held or in disconnected call state. The line is now prepared to accept an incoming call or place an outbound call.

Active

Signifies that there is at least one active call on this line.

Blocking

Signifies that all inbound and outbound calls are blocked.

Out of service

Signifies that the network has placed the line out of service.

If all calls on a line are held or in disconnected call state (all calls are inactive), the line state changes to idle. If a call becomes active on the line (a held call is retrieved or a new call comes in or is placed), the line state returns to active.

The following table lists and describes the call states. Figure 5 illustrates the call states, and shows events indicating transitions between them.
This call state...

Signifies that...

Inbound Call States:

Seizure

A call is being set up (seized). The event contains a call handle to identify the call for subsequent call-based functions.

Receiving digits (optional)

A set of one or more incoming digits can be expected in order to fully qualify the incoming call.

Incoming

A call was delivered from the network to the NCC service.

Accepting (optional)

A call was accepted by the application but has not yet been answered or rejected. When a call is in this state, the application can play media functions (such as playing a voice file) before connecting or rejecting the call.

Answering

The NCC service is in the process of answering the call and establishing a connection.

Rejecting

The NCC service is in the process of rejecting the inbound call.

Outbound Call States:

Outbound initiated

A call has been initiated.

Placing

The line was seized and that the network has allowed the call to be placed by the NCC service. In other words, glare has been resolved.

At this point, NCC initiates dialing.

Proceeding (optional)

The switch accepted the call setup request and is attempting to ring the receiving end. Call progress analysis is begun.

Connected/Disconnected Call States:

Connected

A connection exists between the calling parties. The application can now use DSP resources if necessary.

Disconnected

The connection no longer exists.

A disconnected call is no longer active.

2.3 NCC Service FunctionsTop of Page

The following sections summarize NCC service functions according to the tasks they perform. Each function is listed with:

After setting up the NCC service, initialize a telephony protocol on each line to perform telephony activities by starting up a trunk control program (TCP) on the line.

Refer to your telephony protocols manual for more information about telephony protocols and associated trunk control program (TCPs).

The following NCC service functions manage telephony protocols:
Function

S/A1

Description

nccStartProtocol

A

Loads a trunk control program (TCP) on AG, CG, and CX boards or a dynamic link library (DLL) for QX boards and enables the use of functions requiring DSP resources.

nccStopProtocol

A

Halts the TCP on the line, terminates functions on the line, and unloads the TCP.

1 Synchronous or Asynchronous

The following NCC service functions handle incoming calls:
Function

S/A1

Description

nccAcceptCall

A

Accepts an incoming call.

nccAnswerCall

A

Answers an incoming call.

nccRejectCall

A

Rejects an incoming call.

1 Synchronous or Asynchronous

The following NCC service functions establish outgoing calls:
Function

S/A1

Description

nccPlaceCall

A

Places an outbound call.

nccSendDigits

S

Sends digits in overlapped sending mode.

1 Synchronous or Asynchronous

The following NCC service functions perform call holding, retrieving, and transfer:
Function

S/A1

Description

nccAutomaticTransfer

A

Completes blind transfer of two calls.

nccHoldCall

A

Put a call on hold.

nccRetrieveCall

A

Retrieves a held call.

nccTransferCall

A

Completes supervised transfer of two calls.

1 Synchronous or Asynchronous

The following NCC service functions disconnect and release calls:
Function

S/A1

Description

nccDisconnectCall

A

Disconnects a connected call.

nccReleaseCall

A

Releases resources associated with a call in the disconnected state, and destroys the call handle.

1 Synchronous or Asynchronous

The following NCC service functions retrieve line and call status information, and protocol capability information:
Function

S/A1

Description

nccGetCallStatus

S

Retrieves call control status information for a call.

nccGetExtendedCallStatus

S

Retrieves protocol-specific call control status information for a call.

nccGetLineStatus

S

Retrieves status information for a line.

nccQueryCapability

S

Queries capabilities of the current protocol.

1 Synchronous or Asynchronous

The following NCC service functions provide escape mechanisms to send protocol-specific messages:
Function

S/A1

Description

nccSendCallMessage

P2

Protocol-specific escape mechanism to send a message to a call.

nccSendLineMessage

P

Protocol-specific escape mechanism to send a message to a line.

1 Synchronous or Asynchronous

2 Protocol-dependent

The following NCC service functions manage call blocking:
Function

S/A1

Description

nccBlockCalls

A

Blocks incoming calls.

nccUnblockCalls

A

Releases blocking of incoming calls.

1 Synchronous or Asynchronous

The following NCC service function configures billing:
Function

S/A1

Description

nccSetBilling

A

Sets billing relative to an incoming call.

1 Synchronous or Asynchronous

2.4 NCC Service EventsTop of Page

When performing call control functions, the NCC service processes events: both those that arrive from the network, and those that are generated in response to NCC service commands. The NCC service translates the network events into generic call control events. The names are defined in uppercase letters with an NCCEVN_ prefix. The network events fall into two classes: transitional and informational.

Events are also classified as solicited or unsolicited.

Some NCC service events are solicited events in some circumstances, and unsolicited events in other circumstances. Refer to Section 2.6.4, Events and States, for more details.

The following sections summarize NCC service events according to the operations they are associated with. Each event is listed with:

Some events are generated only if you enable them by setting them in the NCC.START.eventmask parameter. For more information about this parameter, see Appendix C.

The following NCC service events relate to managing telephony protocols:
Event

I/T1

S/U2

Indicates that...

NCCEVN_START_PROTOCOL_DONE

T

S

The application has attempted to start a protocol on a CT Access context (line handle).

NCCEVN_STOP_PROTOCOL_DONE

T

S

The protocol has stopped running on the CT Access context. Line is uninitialized.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to handling incoming calls:
Event

I/T1

S/U2

Indicates that...

NCCEVN_ACCEPTING_CALL

T

S

The application has accepted the call referenced by the call handle.

NCCEVN_ANSWERING_CALL

T

S

The application has answered the call referenced by the call handle.

NCCEVN_CALL_CONNECTED

T

U

Both parties are connected.

NCCEVN_INCOMING_CALL

T

U

All information related to an incoming call was collected, and is now presented to the application.

NCCEVN_RECEIVED_DIGIT

T

U

Digits are being received in an overlapped fashion for an incoming call.

NCCEVN_REJECTING_CALL

T

S/U

A call is being rejected.

NCCEVN_SEIZURE_DETECTED

T

U

The line was seized by the network.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to placing outbound calls:
Event

I/T1

S/U2

Indicates that...

NCCEVN_CALL_CONNECTED

T

U

Both parties are connected.

NCCEVN_CALL_PROCEEDING

T

U

The switch accepted the call setup. The receiving side is being rung.

NCCEVN_PLACING_CALL

T

S

A call was placed successfully.

NCCEVN_REMOTE_ALERTING

I

S

The remote end is ringing.

NCCEVN_REMOTE_ANSWERED

I

S

The remote end is answering the call.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to placing calls on hold, and retrieving calls:
Event

I/T1

S/U2

Indicates that...

NCCEVN_CALL_HELD

T

S/U

A call was placed on hold by the application or by a remote party.

NCCEVN_CALL_RETRIEVED

T

S/U

A held call was retrieved by the application or by a remote party.

NCCEVN_HOLD_REJECTED

I

S

A request to put a call on hold was rejected.

NCCEVN_RETRIEVE_REJECTED

I

S

A retrieve call request was rejected.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to disconnecting and releasing calls:
Event

I/T1

S/U2

Indicates that...

NCCEVN_CALL_DISCONNECTED

T

S/U

A call was disconnected by the application or by a remote party.

NCCEVN_CALL_RELEASED

T

S

The application released a call; NCC released all internal resources for the call.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to getting status and capability information:
Event

I/T1

S/U2

Indicates that...

NCCEVN_CALL_STATUS_UPDATE

I

U

A call status changed.

NCCEVN_CAPABILITY_UPDATE

I

U

Protocol capabilities changed.

NCCEVN_EXTENDED_CALL_STATUS_UPDATE

I

U

Extended call status information changed.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to blocking and unblocking all calls on a line:
Event

I/T1

S/U2

Indicates that...

NCCEVN_BLOCK_FAILED

I

S

A request to block calls on a line failed.

NCCEVN_CALLS_BLOCKED

T

S

The application blocked all calls on a line.

NCCEVN_CALLS_UNBLOCKED

T

S

The line is no longer blocked.

NCCEVN_UNBLOCK_FAILED

I

S

A request to unblock a line failed.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to configuring billing:
Event

I/T1

S/U2

Indicates that...

NCCEVN_BILLING_INDICATION

I

U

A billing indication arrived.

NCCEVN_BILLING_SET

I

S

A request to set the billing for a call is complete.

1 Informational or Transitional

2 Solicited or Unsolicited

The following NCC service events relate to line and protocol status:
Event

I/T1

S/U2

Indicates that...

NCCEVN_LINE_IN_SERVICE

T

U

The network placed the line in service (was out of service).

NCCEVN_LINE_OUT_OF_SERVICE

T

U

The network placed the line out of service (was in service).

NCCEVN_PROTOCOL_ERROR

I

U

An error condition occurred. The call may be in an unusable state.

NCCEVN_PROTOCOL_EVENT

I

S/U

A protocol-specific event occurred.

1 Informational or Transitional

2 Solicited or Unsolicited

2.5 Protocol CapabilitiesTop of Page

Different protocols support different capabilities. Once a protocol has been started, the application can query it to determine the call control features it supports. This information is important for an application supporting multiple protocols because it determines which function calls are valid, and which events the application can expect to receive.

To retrieve protocol capability information, the application calls the NCC service function nccQueryCapability. This synchronous function returns a capabilitymask, where each bit in the mask indicates if the TCP supports a particular capability.

The following table describes each bit in the capabilitymask returned by nccQueryCapability:
Mnemonic

If bit is set...

NCC_CAP_ACCEPT_CALL

The protocol supports the accepting call state in the inbound call control state machine. Application may invoke nccAcceptCall function.

NCC_CAP_SET_BILLING

The application may set billing parameters using nccSetBilling.

NCC_CAP_OVERLAPPED_SENDING

The protocol supports overlapped sending of digits, using nccSendDigits.

NCC_CAP_HOLD_CALL

The protocol allows calls to be placed on hold using nccHoldCall. Calls can then be retrieved using nccRetrieveCall.

NCC_CAP_SUPERVISED_TRANSFER

The protocol supports supervised call transfer. Application can invoke nccTransferCall.

NCC_CAP_AUTOMATIC_TRANSFER

The protocol supports blind call transfer. Application can invoke nccAutomaticTransfer.

NCC_CAP_EXTENDED_CALL_STATUS

The protocol supports the ability to get protocol-specific call status information using nccGetExtendedCallStatus.

NCC_CAP_SEND_CALL_MESSAGE

The protocol supports sending of a protocol-specific call message using nccSendCallMessage.

NCC_CAP_SEND_LINE_MESSAGE

The protocol supports sending of a protocol-specific line message using nccSendLineMessage.

NCC_CAP_HOLD_IN_ANY_STATE

The protocol allows a call to be placed on hold in any state. By default, a call can be placed on hold only if it is in the connected state.

NCC_CAP_DISCONNECT_IN_ANY_STATE

The application can call nccDisconnectCall regardless of the call state. If this bit is not set, nccDisconnectCall can only be invoked in the connected or placing call states.

NCC_CAP_MEDIA_IN_SETUP

The protocol contains embedded media capability. Application may:

· Use play ring and user audio modes when invoking nccAcceptCall.

· Use play ring, play busy, play reorder, and play user audio modes when invoking nccRejectCall.

NCC_CAP_CALLER_ID

The protocol supports caller ID. Caller ID information is returned in the callingaddr field in the NCC_CALL_STATUS structure.

If the capabilities of a protocol change, the application receives NCCEVN_CAPABILITY_UPDATE. The application can then invoke nccQueryCapability to determine the changes.

2.6 NCC Service State MachinesTop of Page

The NCC service call control model differentiates between line states and call states. The following sections describe NCC service line state and call state machines.

2.6.1 Line StatesTop of Page

The following table lists the line states. Associated with each state are one or more transitional events, which indicate transition into the state. An application can use nccGetLineStatus to determine the state of a line:
Line State

Description

Active

Entered via NCCEVN_SEIZURE_DETECTED event, when a call is coming in.

Also can be entered via an NCCEVN_CALL_RETRIEVED event, which means a call is active and the line has reentered active state.

Blocking

Entered via the NCCEVN_CALLS_BLOCKED event, which is solicited by nccBlockCalls.

Idle

Entered via the NCCEVN_START_PROTOCOL_DONE event, which is solicited by nccStartProtocol.

Entered via the NCCEVN_CALLS_UNBLOCKED event, which is solicited by nccUnblockCalls.

Entered via the NCCEVN_LINE_IN_SERVICE event (an unsolicited event).

Entered from the active state, via an NCCEVN_CALL_HELD or NCCEVN_CALL_DISCONNECTED event. These events mean that a call was placed on hold or is disconnected, and is not active. When no calls are active on a line, the line enters idle line state.

Out of service

Entered via the NCCEVN_LINE_OUT_OF_SERVICE event, which is an unsolicited event.

Uninitialized

Initial state of line. When the NCC service is opened on a CT Access context, the line handle (signified by the CT Access handle) is created in an uninitialized state.

Entered via the NCCEVN_STOP_PROTOCOL_DONE event, which is solicited by nccStopProtocol.

Figure 4 shows the line states, and events indicating transitions between them:

chap20.gif

Figure 4. NCC Line State Diagram

2.6.2 Call StatesTop of Page

The following table lists the call states. Associated with each state are one or more transitional events, which indicate transition into the state.

Some call states are optional. A call enters an optional state, and 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 Appendix C.

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

Description

Accepting (optional)

Entered via 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

Entered via NCCEVN_ANSWERING_CALL event in response to invocation of nccAnswerCall.

Connected

Entered via an 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

Entered from any state via an unsolicited NCCEVN_CALL_DISCONNECTED event.

Entered via a 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

Entered via NCCEVN_INCOMING_CALL event.

Outbound initiated

Entered by attempting to place a call using nccPlaceCall.

Placing

Entered via 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)

Entered via an unsolicited NCCEVN_RECEIVED_DIGIT event. Note that this event is generated only if the NCC.START.overlappedreceiving parameter is set (see Appendix C).

Rejecting

Entered via NCCEVN_REJECTING_CALL event in response to invocation of nccRejectCall, or as a result of not responding in time to an NCCEVN_INCOMING_CALL.

Seizure

Entered via an unsolicited NCCEVN_SEIZURE_DETECTED event.

Figure 5 shows the call states, and events indicating transitions between them:chap21.gif

Figure 5. NCC Call State Diagram

2.6.3 Functions and StatesTop of Page

The following table depicts which line- and call-related NCC service API calls can be made from each of the states of the line state machine. If the function is not supported by some protocols, the Capability Mask column contains the name of the bit in the capabilitymask (returned by nccQueryCapability - see Section 2.5) that indicates if the function is supported or not.
NCC API Function

Line State

Capability Mask

Active

Blocking

Idle

Out of service

Uninitialized

nccAcceptCall

X

X1

NCC_CAP_ACCEPT_CALL

nccAnswerCall

X

X1

nccAutomaticTransfer

X

NCC_CAP_AUTOMATIC_TRANSFER

nccBlockCalls

X

X

X

nccDisconnectCall

X

X1

nccGetCallStatus

X

X

nccGetExtendedCallStatus

X

X

NCC_CAP_EXTENDED_CALL_STATUS

nccGetLineStatus

X

X

X

X

X

nccHoldCall

X

NCC_CAP_HOLD_CALL

nccPlaceCall

X

X

nccQueryCapability

X

X

X

X

nccRejectCall

X

X1

nccReleaseCall

X

X

X

X

nccRetrieveCall

X

X

NCC_CAP_HOLD_CALL

nccSendCallMessage

X

X1

NCC_CAP_SEND_CALL_MESSAGE

nccSendDigits

X

X1

NCC_CAP_OVERLAPPED_SENDING

nccSendLineMessage

X

X

X

X

NCC_CAP_SEND_LINE_MESSAGE

nccSetBilling

X

X1

NCC_CAP_SET_BILLING

nccStartProtocol

X

nccStopProtocol

X

X

X

X

nccTransferCall

X

NCC_CAP_SUPERVISED_TRANSFER

nccUnblockCalls

X

X

X

X

1 This operation 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/retrieved from any state.

The following table depicts which call-related NCC service API calls can be made from each of the states of the call state machine. If the function is not supported by some protocols, the Capability Mask column contains the name of the bit in the capabilitymask (returned by nccQueryCapability - see Section 2.5) that indicates if the function is supported or not.
NCC API Function

Call State

Capability Mask

Accepting

Answering

Conncected

Disconnected

Incoming

Outbound initiated

Placing

Proceeding

Receiving digits

Rejecting

Seizure

nccAcceptCall

X

X

NCC_CAP_ACCEPT_CALL

nccAnswerCall

X

X

X

nccAutomaticTransfer

X

NCC_CAP_AUTOMATIC_TRANSFER

nccDisconnectCall

X1

X1

X

X1

X

X

X

X1

X1

X1

nccGetCallStatus

X

X

X

X

X

X

X

X

X

X

X

nccGetExtendedCallStatus

X

X

X

X

X

X

X

X

X

X

X

NCC_CAP_EXTENDED_CALL_STATUS

nccHoldCall

X2

X2

X

X2

X2

X2

X2

X2

X2

X2

X2

NCC_CAP_HOLD_CALL

nccRejectCall

X

X

X

nccReleaseCall

X

nccRetrieveCall

X2

X2

X

X2

X2

X2

X2

X2

X2

X2

NCC_CAP_HOLD_CALL

nccSendCallMessage

X

X

X

X

X

X

X

X

X

X

X

NCC_CAP_SEND_CALL_MESSAGE

nccSendDigits

X

NCC_CAP_OVERLAPPED_SENDING

nccSetBilling

X

X

X

X

X

X

X

NCC_CAP_SET_BILLING

nccTransferCall

X

NCC_CAP_SUPERVISED_TRANSFER

1 This function can be called in this state, if the NCC_CAP_DISCONNECT_IN_ANY_STATE indicator is set in the capabilitymask returned by nccQueryCapability.

2 This function can be called in this state, 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/retrieved from any state.

2.6.4 Events and StatesTop of Page

The following table specifies standard NCC events that the application can expect to receive for a line, when the line is in a particular line state. Other protocol-specific NCC events may be reported in most states. See protocol-specific documentation for details.

Some events are generated only if you enable them by setting a parameter. If the event is controlled by this parameter, the Controlled by... column in the following table contains the name of the parameter which controls the event. For more information about parameters, see Appendix C.

When a line/call is in a given state, any unsolicited event that is valid to be received in that state can be received regardless of any pending API call. For example, assume an application calls nccAnswerCall for a call in the NCC_CALLSTATE_RECEIVING_DIGITS state. Any unsolicited events that can be received in the NCC_CALLSTATE_RECEIVING_DIGITS state are valid, even while nccAnswerCall is pending. You do not proceed into the NCCEVN_CALLSTATE_ANSWERING state until the NCCEVN_CALL_ANSWERED event is received.

Refer to the following tables to determine which events your application may receive in a given line/call state.

Your application does not have to check for certain solicited events if the application has not invoked the corresponding API call. For instance, continuing the previous example, an NCCEVN_ACCEPTING_CALL event will not arrive because the function nccAcceptCall was not invoked. To determine if an event is solicited, unsolicited, or both, refer to the event details in Chapter 9.

Certain unsolicited events need not be expected if it is known that a particular capability is disabled on the NCC line. For instance, if overlapped receiving is turned off (NCC.START.overlappedreceiving parameter = 0), the application will not receive the NCCEVN_RECEIVED_DIGIT event for calls on that line. For a discussion of how parameters can be used to specify which events your application should be prepared to handle, see the NCC.START.eventmask and NCC.START.overlappedreceiving parameter descriptions in Appendix C.

NCC Event

Line State

Controlled by...

Active

Blocking

Idle

Out of service

Uninitialized

NCCEVN_ACCEPTING_CALL

X

X1

NCCEVN_ANSWERING_CALL

X

X1

NCCEVN_BILLING_INDICATION

X

X1

NCC_REPORT_BILLING bit in NCC.START.eventmask parameter

NCCEVN_BILLING_SET

X

X1

NCCEVN_BLOCK_FAILED

X

NCCEVN_CALL_CONNECTED

X

X1

NCCEVN_CALL_DISCONNECTED

X

X1

NCCEVN_CALL_HELD

X

NCCEVN_CALL_PROCEEDING

X

X1

NCCEVN_CALL_RELEASED

X

X

X

X

NCCEVN_CALL_RETRIEVED

X

NCCEVN_CALL_STATUS_UPDATE

X

X

NCC_REPORT_STATUSINFO bit in NCC.START.eventmask parameter

NCCEVN_CALLS_BLOCKED

X

NCCEVN_CALLS_UNBLOCKED

X

NCCEVN_CAPABILITY_UPDATE

X

X

X

X

NCCEVN_EXTENDED_CALL_STATUS_UPDATE

X

X

NCC_REPORT_STATUSINFO bit in NCC.START.eventmask parameter

NCCEVN_HOLD_REJECTED

X

NCCEVN_INCOMING_CALL

X

X1

NCCEVN_LINE_IN_SERVICE

X

NCCEVN_LINE_OUT_OF_SERVICE

X

NCCEVN_PLACING_CALL

X

NCCEVN_PROTOCOL_ERROR

X

X

X

X

NCCEVN_PROTOCOL_EVENT

X

X

X

X

NCCEVN_RECEIVED_DIGIT

X

X1

NCC.START.overlapped receiving parameter

NCCEVN_REJECTING_CALL

X

X1

NCCEVN_REMOTE_ALERTING

X

X1

NCC_REPORT_ALERTING bit in NCC.START.eventmask parameter

NCCEVN_REMOTE_ANSWERED

X

X1

NCC_REPORT_ANSWERED bit in NCC.START.eventmask parameter

NCCEVN_RETRIEVE_REJECTED

X

NCCEVN_SEIZURE_DETECTED

X

X

NCCEVN_START_PROTOCOL_DONE

X

NCCEVN_STOP_PROTOCOL_DONE

X

X

X

X

NCCEVN_UNBLOCK_FAILED

X

1 This event may occur in this state if the NCC_CAP_HOLD_IN_ANY_STATE bit is set in the capabilitymask returned by nccQueryCapability.

The following table specifies standard NCC events that the application can expect to receive for a call, when the call is in a particular call state. Other protocol-specific NCC events may be reported in most states. See protocol-specific documentation for details.

Some events are generated only if you enable them by setting them in the NCC.START.eventmask parameter. Other events are not supported by some protocols. For more information, see the previous table.

NCC Event

NCC Call State

Controlled by...

Accepting

Answering

Connected

Disconnected

Incoming

Outbound initiated

Placing

Proceeding

Receiving digits

Rejecting

Seizure

NCCEVN_ACCEPTING_CALL

X

X

NCCEVN_ANSWERING_CALL

X

X

X

NCCEVN_BILLING_INDICATION

X

X

X

X

NCC_REPORT_BILLING bit in NCC.START.eventmask

NCCEVN_BILLING_SET

X

NCCEVN_CALL_CONNECTED

X

X

X

NCCEVN_CALL_DISCONNECTED

X

X

X

X

X

X

X

X

X

X

NCCEVN_CALL_HELD

X1

X1

X

X1

X1

X1

X1

X1

X1

X1

NCCEVN_CALL_PROCEEDING

X

NCCEVN_CALL_RELEASED

X

X

NCCEVN_CALL_RETRIEVED

X1

X1

X

X1

X1

X1

X1

X1

X1

X1

NCCEVN_CALL_STATUS_UPDATE

X

X

X

X

X

X

X

X

X

X

X

NCC_REPORT_STATUSINFO bit in NCC.START.eventmask

NCCEVN_EXTENDED_CALL_STATUS_UPDATE

X

X

X

X

X

X

X

X

X

X

X

NCC_REPORT_STATUSINFO bit in NCC.START.eventmask

NCCEVN_HOLD_REJECTED

X1

X1

X

X1

X1

X1

X1

X1

X1

X1

NCCEVN_INCOMING_CALL

X

X

NCCEVN_PLACING_CALL

X

NCCEVN_PROTOCOL_ERROR

X

X

X

X

X

X

X

X

X

X

X

NCCEVN_PROTOCOL_EVENT

X

X

X

X

X

X

X

X

X

X

X

NCCEVN_RECEIVED_DIGIT

X

X

NCC.START.overlappedreceiving

NCCEVN_REJECTING_CALL

X

X

X

NCCEVN_REMOTE_ALERTING

X

X

NCC_REPORT_ALERTING bit in NCC.START.eventmask

NCCEVN_REMOTE_ANSWERED

X

X

NCC_REPORT_ANSWERED bit in NCC.START.eventmask

NCCEVN_RETRIEVE_REJECTED*

X1

X1

X

X1

X1

X1

X1

X1

X1

X1

1 This event may occur in this state if the NCC_CAP_HOLD_IN_ANY_STATE bit is set in the capabilitymask returned by nccQueryCapability.



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.