Voicetronix Programming Guide
<<< Previous |  | Next >>>

# Call Progress Functions

The VPBAPI enables a call to be placed using the call progress algorithm in both synchronous and asynchronous modes. It also enables the call progress parameters to be set or obtained for each channel.

`vpb_get_call()`
`vpb_set_call()`
`vpb_call_sync()`
`vpb_call_async()`

Call progress analysis determines whether a call is answered or not, whether the line is busy, or there are problems placing the call such as no dial tone, call disconnected or no ring back. The call progress algorithm consists of frequency and cadence analysis to determine the state of the call being placed.

The `VPB_CALL` and `VPB_TONE_MAP` structures are used to define the parameters of the call progress algorithm. In the asynchronous version, the status of the call is passed to the data field of the `VPB_EVENT` structure. The synchronous version returns the appropriate call progress return code (see `vpbapi.h`) once the function has ended.

## Call Progress Return codes

Return code | Description
--- | ---
VPB_CALL_CONNECTED | Call is connected
VPB_CALL_NO_DIAL_TONE | No dial tone is detected
VPB_CALL_NO_RING_BACK | No ring back is detected
VPB_CALL_BUSY | Call is busy
VPB_CALL_NO_ANSWER | No answer is detected
VPB_CALL_DISCONNECTED | Call is disconnected

<<< Previous | Home | Next >>>
Get Digits Functions |  | VOX Functions