# NCC API call control model

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

- A line is a logical representation of a channel on a trunk.

- A call is a connection between two parties, a connection in the making, or a former connection on a line. Multiple calls can exist simultaneously on a line. However, only one call at a time can be active (not disconnected or held).

- A line is referenced using a line handle. The line handle is equivalent to the 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 API events, see Receiving NCC API events.

In the NCC API 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 specific function call by the application, or actions by the remote party is defined, that can cause the line or call to change to another state. Whenever a state change occurs, the application receives an appropriate event.

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