lineAnswer
The lineAnswer
function answers the specified offering call.
LONG lineAnswer(
|
HCALL hCall, |
|
|
LPCSTR lpsUserUserInfo, |
|
|
DWORD dwSize |
|
|
); |
|
Parameters
hCall
A handle to
the call to be answered. The application must be an owner of this call. The
call state of hCall must be offering or accepted.
lpsUserUserInfo
A pointer to
a string containing user-to-user information to be sent to the remote party at
the time of answering the call. This pointer can be left NULL if no
user-to-user information is to be sent. User-to-user information is only sent
if supported by the underlying network (see LINEDEVCAPS). The protocol
discriminator field for the user-to-user information, if required, should
appear as the first byte of the buffer pointed to by lpsUserUserInfo,
and must be accounted for in dwSize.
dwSize
The size in
bytes of the user-to-user information in lpsUserUserInfo. If lpsUserUserInfo
is NULL, no user-to-user information is sent to the calling party and dwSize
is ignored.
Return Values
Returns a positive
request ID if the function will be completed asynchronously, or a negative
error number if an error has occurred. The dwParam2 parameter of the
corresponding LINE_REPLY
message is zero if the function is successful or it is a negative error number
if an error has occurred. Possible return values are:
LINEERR_INUSE,
LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED,
LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER,
LINEERR_UNINITIALIZED, LINEERR_NOMEM, LINEERR_USERUSERINFOTOOBIG,
LINEERR_NOTOWNER.
Remarks
When a new
call arrives, applications with an interest in the call are sent a LINE_CALLSTATE message to provide the new call
handle and to inform the application about the call's state and the privileges
to the new call (such as monitor or owner). The application with owner
privilege for the call can answer this call using lineAnswer. After the
call has been successfully answered, the call typically transitions to the connected
state. Initially, only one application is given owner privilege to the inbound
call.
In some
telephony environments (like ISDN), where user alerting is separate from call offering,
the application may have the option to accept a call prior to answering or to
reject or redirect the offering call.
If a call
comes in (is offered) at the time another call is already active, the new call
is connected to by invoking lineAnswer. The effect this has on the
existing active call depends on the line's device capabilities. The first call
may be unaffected, it may automatically be dropped, or it may automatically be
placed on hold. The appropriate LINE_CALLSTATE messages report state transitions
to the application about both calls.
In a bridged
situation, if a call is connected but in the LINECONNECTEDMODE_INACTIVE state,
it may be joined using the lineAnswer function.
The
application has the option to send user-to-user information at the time of the
answer. Even if user-to-user information can be 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
sending user-to-user information upon answering the call is available.
See Also