TSPI_linePrepareAddToConference (Compact 2013)
3/26/2014
This function prepares an existing conference call for the addition of another party. It creates a new, temporary consultation call. The new consultation call can be subsequently added to the conference call.
Syntax
LONG TSPIAPI TSPI_linePrepareAddToConference(
DRV_REQUESTID dwRequestID,
HDRVCALL hdConfCall,
HTAPICALL htConsultCall,
LPHDRVCALL lphdConsultCall,
LPLINECALLPARAMS const lpCallParams
);
Parameters
- dwRequestID
Identifier of the asynchronous request.
- hdConfCall
Handle to a conference call. The call state of hdConfCall can be connected.
- htConsultCall
TAPI handle to the new, temporary consultation call. The service provider must save this and use it in all subsequent calls to the LINEEVENT procedure reporting events on the new call. The call state of hdAddCall is not applicable.
- lphdConsultCall
Pointer to a HDRVCALL representing the service provider's identifier for the new, temporary consultation call. The service provider must fill this location with its handle for the new call before this procedure returns. This handle is invalid if the function results in an error.
- lpCallParams
Pointer to call parameters to be used when establishing the consultation call. This parameter is set to NULL if no special call setup parameters are desired.
Return Value
Returns dwRequestID, or an error number if an error occurs. The lResult actual parameter of the corresponding ASYNC_COMPLETION is zero if the function succeeds, or an error number if an error occurs. The following table shows the return values for this function.
Value |
Description |
---|---|
LINEERR_BEARERMODEUNAVAIL |
The bearer mode is invalid. |
LINEERR_INVALLINESTATE |
The line state is invalid. |
LINEERR_CALLUNAVAIL |
The call is unavailable. |
LINEERR_INVALMEDIAMODE |
The media mode is invalid. |
LINEERR_CONFERENCEFULL |
The conference call is full. |
LINEERR_INVALRATE |
The rate is invalid. |
LINEERR_INUSE |
The line is in use. |
LINEERR_NOMEM |
Not enough memory is available. |
LINEERR_INVALADDRESSMODE |
The address mode is invalid. |
LINEERR_OPERATIONUNAVAIL |
The operation is unavailable. |
LINEERR_INVALBEARERMODE |
The bearer mode is invalid. |
LINEERR_OPERATIONFAILED |
The operation failed. |
LINEERR_INVALCALLPARAMS |
The call parameters are invalid. |
LINEERR_RATEUNAVAIL |
The rate is unavailable. |
LINEERR_INVALCALLSTATE |
The call state is invalid. |
LINEERR_RESOURCEUNAVAIL |
The resource is unavailable. |
LINEERR_INVALCONFCALLHANDLE |
The handle to the conference call is invalid. |
LINEERR_USERUSERINFOTOOBIG |
The user user information is too big. |
Remarks
The service provider returns LINEERR_INVALLINESTATE if the line is currently not in a state in which this operation can be performed. The service provider must indicate a list of currently valid operations in the dwLineFeatures member (of the type LINEFEATURE) in the LINEDEVSTATUS structure.
The service provider returns LINEERR_INVALCALLSTATE if the conference call is not in a valid state for the requested operation.
This function places an existing conference call in the onHoldPendingConference state and creates a consultation call that can be added later to the existing conference call with the TSPI_lineAddToConference function.
The consultation call can be canceled using the TSPI_lineDrop function. It may also be possible for TAPI to swap between the consultation call and the held conference call with the TSPI_lineSwapHold function. The service provider initially does media monitoring on the new call for at least the set of media types that were monitored for on the line.
This function differs from the corresponding TAPI function in that it follows the TSPI model for beginning the lifetime of a call. TAPI and the service provider exchange opaque handles representing the call with one another. In addition, the service provider is permitted to do callbacks for the new call before it returns from this procedure. In any case, the service provider must also treat the handle it returned as "not yet valid" until after the matching ASYNC_COMPLETION function reports success. In other words, it must not issue any LINEEVENT messages for the new call or include it in call counts in messages or status data structures for the line.
Requirements
Header |
tspi.h |
Library |
CellTSP.dll |
See Also
Reference
TSPI Line Device Functions
LINEEVENT
TSPI_lineAddToConference
TSPI_lineDial
TSPI_lineDrop
TSPI_lineRemoveFromConference
TSPI_lineSetupConference
TSPI_lineSwapHold