lineAccept (Compact 2013)
3/26/2014
This function accepts the specified offered call. It can optionally send the specified user-user information to the calling party.
Syntax
LONG WINAPI lineAccept(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
Parameters
- hCall
Handle to the call to be accepted. The application must be an owner of the call. Call state of hCall must be offering.
- lpsUserUserInfo
Pointer to a string containing user-user information to be sent to the remote party as part of the call accept. This pointer can be left NULL if no user-user information is to be sent. User-user information is only sent if supported by the underlying network (see LINEDEVCAPS). The protocol discriminator member for the user-user information, if required, should appear as the first byte of the buffer pointed to by lpsUserUserInfo, and must be accounted for in the dwSize parameter.
- dwSize
Size, in bytes, of the user-user information in lpsUserUserInfo. If lpsUserUserInfo is NULL, no user-user information is sent to the calling party and dwSize is ignored.
Return Value
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. The following table shows the return values for this function.
Value |
Description |
---|---|
LINEERR_INVALCALLHANDLE |
The call handle is invalid. |
LINEERR_RESOURCEUNAVAIL |
The resource is unavailable. |
LINEERR_INVALCALLSTATE |
The call state is invalid. |
LINEERR_NOTOWNER |
The application is not the owner of the call. |
LINEERR_UNINITIALIZED |
The parameter is uninitialized. |
LINEERR_INVALPOINTER |
The pointer is invalid. |
LINEERR_OPERATIONFAILED |
The operation failed. |
LINEERR_OPERATIONUNAVAIL |
The operation is unavailable. With code division multiple access (CDMA), this function will fail if a call is currently in progress. CDMA does not provide the necessary functionality to support the following TAPI functions:
Some cellular carriers provide equivalent functionality through the flash feature, which with TAPI 2.2 can be accessed with the lineGenerateDigits function. Because the exact flash sequences are controlled by the cellular providers, the application must be completely aware of the necessary codes implemented by the cellular providers. |
LINEERR_NOMEM |
Not enough memory is available. |
LINEERR_USERUSERINFOTOOBIG |
The user-user information is too big. |
Remarks
The lineAccept function is used in telephony environments like Integrated Services Digital Network (ISDN) that allow alerting associated with incoming calls to be separate from the initial offering of the call. When a call comes in, it is first offered. For some small amount of time, the application may have the option to reject the call using the lineDrop function, redirect the call to another station using the lineRedirect function, answer the call using the lineAnswer function, or accept the call using lineAccept. After a call has been successfully accepted by an application, alerting begins at both the called and calling device and the call state typically transitions to accepted.
Alerting is reported to the application by the LINE_LINEDEVSTATE message with the ringing indication.
The lineAccept function may also be supported by non-ISDN service providers. The call state transition to accepted can be used by other applications as an indication that another application has claimed responsibility for the call and has presented the call to the user.
The application has the option to send user-user information at the time of the accept. Even if user-user information is sent, there is no guarantee that the network will deliver this information to the calling party. An application should consult a line's device capabilities to determine whether call accept is available.
Requirements
Header |
tapi.h |
Library |
TAPI32.dll |
See Also
Reference
TAPI Line Device Functions
lineAnswer
lineDrop
lineRedirect
LINEDEVCAPS