ThbTapiCall.SetupConference
Unit: hbTapi

Sets up a conference call for the addition of a third party.

If the function succeeds, a conference call is allocated and returned in the ConfCall parameter. A consultation call is allocated too and returned within the ConsultCall parameter. The ConsultCall is determined for connecting to the party that has to be added to the conference. The application can use the Dial function of the consultation call to dial the address of the destination party.

procedure TForm1.Button1Click(Sender: TObject);
var Call, ConfCall, ConsCall: ThbTapiCall;
begin
  Call := GetConnectedCall; // select the active call
  if (Call = nil) then
    Exit;
  try
    Call.SetupConference(ConfCall, ConsCall);
    ConsCall.Dial('1234');
  except
    on EhbTapiError do
      MessageDlg('setupConference failed!', mtError, [mbOK], 0);
  end;
end;

When the called party answers the call and the state of the consultation call transitions to LINECALLSTATE_CONNECTED the ThbTapiCall. AddToConference method is used to add the call to the conference.

A consultation call can be cancelled by invoking Drop on it. When dropping a consultation call, the existing conference call typically transitions back to the connected state. The application should observe the ThbTapiLine.OnCallState event to determine exactly what happens to the calls. For example, if the conference call reverts back to a regular two-party call, the conference call becomes idle and the original participant call can revert to connected.

A conference call can also be set up by a CompleteTransfer that is resolved into a three-way conference. The application may be able to toggle between the consultation call and the conference call using SwapHold.

Declaration

procedure SetupConference(var ConfCall, ConsultCall: ThbTapiCall);

Remarks

Please refer to the section "lineSetupConference" in TAPI's documentation for a more detailed information. This function works in an asynchronous manner. See the SyncMode property to read more about the handling of asynchronous functions.

Errors

Using this function may cause an EhbTapiError exception. Possible errors are:

LINEERR_BEARERMODEUNAVAIL, LINEERR_UNINITIALIZED, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALPOINTER, LINEERR_INUSE, LINEERR_INVALRATE, LINEERR_INVALADDRESSMODE, LINEERR_NOMEM, LINEERR_INVALBEARERMODE, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_USERUSERINFOTOOBIG.

See Also

Establish a Conference Call