lineRedirect function (tapi.h)
The lineRedirect function redirects the specified offering call to the specified destination address.
LONG lineRedirect( HCALL hCall, LPCSTR lpszDestAddress, DWORD dwCountryCode );
Handle to the call to be redirected. The application must be an owner of the call. The call state of hCall must be offering.
Pointer to the destination address. This follows the standard dialable number format.
Country/region code of the party the call is redirected to. If a value of 0 is specified, a default is used by the implementation.
Returns a positive request identifier if the function is completed asynchronously, or a negative error number if an error occurs. The dwParam2 parameter of the corresponding LINE_REPLY message is zero if the function succeeds or it is a negative error number if an error occurs. Possible return values are:
LINEERR_INVALADDRESS, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCOUNTRYCODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM.
Call redirect allows an application to deflect an offering call to another address without first answering the call. Call redirect differs from call forwarding in that call forwarding is performed by the switch without the involvement of the application; redirection can be done on a call-by-call basis by the application, for example, driven by caller ID information. It differs from call transfer in that transferring a call requires the call first be answered.
After a call has been successfully redirected, the call typically transitions to idle.
Besides redirecting an incoming call, an application may have the option to accept the call using lineAccept, reject the call using lineDrop, or answer the call using lineAnswer. The availability of these operations is dependent on device capabilities.