Share via


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