# R15 and NCC API call control

When applications perform NCC API call control with the R15 TCP, they can receive digits in the following ways:

- All at once

- One at a time

## Receiving digits all at once

When the application receives the NCCEVN_INCOMING_CALL event, not all information regarding the inbound call is available. For local calls, the missing information is the caller's category and ANI digits. This is because the R1.5 local outbound protocol sends the category and ANI digits only after the inbound party has accepted the call. Thus the NCC_CALL_STATUS has only one relevant field that is filled if the application calls nccGetCallStatus after an NCCEVN_INCOMING_CALL event:

Field | Description
calledaddr | Called number. Also referred to as the direct inward dial (DID) number.

If the application accepts the call, the TCP collects the caller's category and ANI digits. Once they are available, the application can receive an NCCEVN_CALL_STATUS_UPDATE with a value of NCC_CALL_STATUS_CALLINGADDR, or NCCEVN_EXTENDED_CALL_STATUS_UPDATE with a value of NCC_EXTENDED_CALL_STATUS_CATEGORY.

Note: The reception of this event must be explicitly enabled before starting the protocol, by setting the NCC_REPORT_STATUSINFO bit in the NCC.START.eventmask parameter.

A subsequent call to nccGetCallStatus returns a new field: callingaddr. This field indicates the calling number (if available), also referred to as the automatic number identification (ANI) number.

Another call to nccGetExtendedCallStatus yields the following new field:

Field | Description
usercategory | Calling party category (normal subscriber, operator, maintenance equipment).

Two NCC.X.ADI_R15 parameters affect the way the R15 TCPs accept and process digits:

Parameter | Description
DIDnumber | Number of direct inward dial (DID) digits the TCP should expect from the calling party. Default is 7.
ANInumber | Number of ANI and category digits the TCP should expect from the calling party. For local inbound calls, if the parameter is set to 0, the ANI request is not attempted; otherwise the TCP retrieves all the digits the calling party sends. This parameter is not relevant for long distance inbound calls.

## Receiving digits one at a time

The R15 TCP sends the incoming DID digits to the application one at a time in the following sequence:

d 1...d n

where n is determined by the NCC.X.ADI_R15.DIDnumber parameter.

If the application sets the NCC.X.ADI_sendanisingledigit parameter, the TCP also provides the ANI digits and the caller category as they arrive. This happens after the call is accepted by the application. Due to the working of the protocol, ANI digits may be:

- Reversed (last digit of the calling number first in sequence)

- Presented more than once, since the switch sends the category and ANI digits in a fast spill which can be repeated several times

The size field of the event structure contains the actual digit value.