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 codeDescription
VPB_CALL_CONNECTEDCall is connected
VPB_CALL_NO_DIAL_TONENo dial tone is detected
VPB_CALL_NO_RING_BACKNo ring back is detected
VPB_CALL_BUSYCall is busy
VPB_CALL_NO_ANSWERNo answer is detected
VPB_CALL_DISCONNECTEDCall is disconnected