# Outbound call procedures

After a protocol is started on a line context with nccStartProtocol, the application can place outbound calls. An outbound call is established in the following way:

Stage | Description
1 | The application invokes nccPlaceCall, and the call enters the outbound initiated call state.
2 | The protocol checks whether a call collision (glare) situation exists for this call. For example, on two-way trunks, this occurs when the outgoing call collides with an incoming call on the same line. If glare exists, the call is released and NCCEVN_CALL_RELEASED is returned to the application. Otherwise:
3 | The protocol seizes the line, creates a call handle for the call, and generates NCCEVN_PLACING_CALL. The line changes to the active line state. The call enters the placing call state
4 | NCC initiates dialing using the string specified with nccPlaceCall. If the protocol supports overlapped sending of digits, the application can send additional digits and characters using nccSendDigits. The NCC_CAP_OVERLAPPED_SENDING bit in the capabilitymask returned by nccQueryCapability indicates if the protocol supports this feature.
5 | When the switch has accepted the call setup request and is in the process of attempting to ring the receiving end, NCCEVN_CALL_PROCEEDING is returned to the application. The call is now in the proceeding call state. Call progress analysis has begun.
6 | When the protocol senses that the remote party is alerting (for example, ringing), NCCEVN_REMOTE_ALERTING is returned to the application. When the protocol senses that the remote party is answering the call, NCCEVN_REMOTE_ANSWERED is returned to the application. Note: NCCEVN_REMOTE_ALERTING is generated only if the NCC_REPORT_ALERTING bit is set in the NCC.START.eventmask parameter. NCCEVN_REMOTE_ANSWERED is generated only if the NCC_REPORT_ANSWERED bit is set. For more information, see NCC API global parameters.
7 | If a network connection is established, NCC generates NCCEVN_CALL_CONNECTED or NCCEVN_CALL_DISCONNECTED depending upon protocol-specific connectmask and disconnectmask parameters.

The following illustration shows the sequence of command and event interchange for placing an outbound call. Optional events are shown with a dashed line:

Note: International regulatory approvals require you to limit attempts by an automated dialer to call a given number. Limits are placed on both the number and the frequency of the call attempts. For more information, refer to Limiting call attempts by automatic dialers.