# ADI service definition

The ADI service is a C function library component of Natural Access that enables application programs to execute multiple telephony functions on AG boards and CG boards.

The ADI service provides the following functionality:

- Play/record

- Tone detection

- Tone generation

- DTMF collection

- Echo cancellation

- Auxiliary functions such as energy detection, voice activity detection, FSK data transmission and reception, low-level call control, on-board timers, and board functions

- Call progress

## Using ADI with the Natural Call Control service

The Natural Call Control (NCC) service is the standard call control for NMS Communications products. The NCC service replaces all call control functions that the ADI service formerly provided.

For more information about the NCC service, refer to the Natural Call Control Service Developer's Reference Manual.

## ADI terminology

A port is the object on which telephony functions are performed. It contains physical and logical resources on the board. A port is represented by a context and a context handle (ctahd), a software handle that enables the application (and its developer) to keep track of software activities.

To access most functionality on a port, the application must associate a telephony protocol
with the port. On AG and CG hardware, the telephony protocol is embodied by a trunk control program (TCP), and must be loaded during board initialization. NMS Communications provides TCPs for most standard telephone line interfaces. Starting a protocol enables the use of call control functions. Almost all functions require a protocol to be loaded. For applications that do not use call control functions or choose to manage the line interface manually, the NOCC (no call control) TCP is provided.

For more information about controlling calls under specific TCPs, refer to the NMS CAS for Natural Call Control Developer's Reference Manual.