TSPI_lineAddToConference function (tspi.h)
The TSPI_lineAddToConference function adds the call specified by hdConsultCall to the conference call specified by hdConfCall.
LONG TSPIAPI TSPI_lineAddToConference( DRV_REQUESTID dwRequestID, HDRVCALL hdConfCall, HDRVCALL hdConsultCall );
The identifier of the asynchronous request.
The handle to the conference call. The call state of hdConfCall can be onHoldPendingConference or onHold.
The 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 hdConsultCall parameter may not necessarily have been established using TSPI_lineSetupConference or TSPI_linePrepareAddToConference. The call state of hdConsultCall can be connected, onHold, proceeding, or ringback.
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. Possible return values are as follows:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_CONFERENCEFULL, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM.
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 conference call is established either through TSPI_lineSetupConference or TSPI_lineCompleteTransfer. 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 TSPI_lineMakeCall 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.