# Low-level call control functions

The following functions provide low-level access to the line interface. This access is typically needed only when using the NOCC (no call control) protocol. These functions are used when the application is directly controlling the line interface or when a CAS protocol is not needed. Use these functions carefully, especially if you are running a telephony protocol.

The following ADI functions provide low-level call control:

Function | Synchronous/ Asynchronous | Description
--- | --- | ---
adiAssertSignal | Synchronous | Asserts an out-of-band signaling pattern. adiAssertSignal returns before the pattern is actually asserted.
adiStartPulse | Asynchronous | Pulses an out-of-band signaling pattern for a duration.
adiStartSignalDetector | Asynchronous | Starts detection of out-of-band signaling bits.
adiStopSignalDetector | Asynchronous | Stops detection of out-of-band signaling bits.
adiQuerySignalState | Asynchronous | Queries the current inbound out-of-band signaling bits.
adiStartDial | Asynchronous | Starts DTMF/ MF/pulse dialing of digits.
adiStopDial | Asynchronous | Stops DTMF/MF/pulse dialing of digits.