TSPI_lineAddToConference (Compact 2013)
3/26/2014
This function adds the call specified by the hdConsultCall parameter to the conference call specified by the hdConfCall parameter.
Syntax
LONG TSPIAPI TSPI_lineAddToConference(
DRV_REQUESTID dwRequestID,
HDRVCALL hdConfCall,
HDRVCALL hdConsultCall
);
Parameters
- dwRequestID
Identifier of the asynchronous request.
- hdConfCall
Handle to the conference call. The call state of hdConfCall can be onHoldPendingConference or onHold.
- hdConsultCall
Handle to the call to be added to the conference call. This call cannot be either a parent of another conference or a participant in any conference. Depending on the device capabilities indicated in LINEADDRESSCAPS, the hdConsultCallparameter may not necessarily have been established using the TSPI_lineSetupConference function or the TSPI_linePrepareAddToConference function. The call state of hdConsultCall can be connected, onHold, proceeding, or ringback.
Return Value
Returns dwRequestIDor 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_INVALCALLHANDLE |
The handle for this call is invalid. |
LINEERR_OPERATIONUNAVAIL |
The operation is unavailable. |
LINEERR_INVALCALLSTATE |
The call state is invalid. |
LINEERR_OPERATIONFAILED |
The operation failed. |
LINEERR_CONFERENCEFULL |
The conference is full. |
LINEERR_RESOURCEUNAVAIL |
The resource is unavailable. |
LINEERR_NOMEM |
Not enough memory is available. |
Remarks
The service provider returns LINEERR_INVALCALLHANDLE if hdConsultCall is a parent of another conference or already a participant in a conference, or hdConsultCall cannot be added for other reasons, such as it must have been established using TSPI_lineSetupConference or TSPI_linePrepareAddToConference.
The call handle of the added party remains valid after adding the call to a conference; typically, its state changes to Conferenced while the state of the conference call becomes Connected. The handle to an individual participating call can be used later to remove that party from the conference call using the TSPI_lineRemoveFromConferencefunction.
The call states of the calls participating in a conference are not independent. For example, when dropping a conference call, all participating calls can automatically become idle. TAPI can consult the line's device capabilities to determine what form of conference removal is available. TAPI or its client applications should track the LINE_CALLSTATE messages to determine what happened to the calls involved.
The conference call is established either through TSPI_lineSetupConference or the TSPI_lineCompleteTransferfunction. Typically, the call added to a conference is established using TSPI_lineSetupConference or TSPI_linePrepareAddToConference. Some switches may allow adding of an arbitrary call to conference, and such a call may have been set up using the TSPI_lineMakeCall function and be on (hard) hold. All calls that are part of a conference must exist on the same open line.
Any monitoring (media, tones, digits) on a conference call applies only to the hdConfCall parameter, not to the individual participating calls.
This function has no restrictions based on privilege as in the corresponding function at the TAPI level. There is no explicit requirement for the service provider to track the relationships between the "parent" conference call and its participants, because there is no TSPI correspondence to the TAPI function. Many service providers may find it necessary to track these relationships internally to implement the other conference call management functions.
Requirements
Header |
tspi.h |
Library |
CellTSP.dll |
See Also
Reference
TSPI Line Device Functions
TSPI_linePrepareAddToConference
TSPI_lineRemoveFromConference
TSPI_lineSetupConference