funzione TSPI_lineAddToConference (tspi.h)

La funzione TSPI_lineAddToConference aggiunge la chiamata specificata da hdConsultCall alla chiamata di conferenza specificata da hdConfCall.

Sintassi

LONG TSPIAPI TSPI_lineAddToConference(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdConfCall,
  HDRVCALL      hdConsultCall
);

Parametri

dwRequestID

Identificatore della richiesta asincrona.

hdConfCall

Handle per la conferenza telefonica. Lo stato della chiamata di hdConfCall può essere onHoldPendingConference o onHold.

hdConsultCall

Handle della chiamata da aggiungere alla conferenza telefonica. Questa chiamata non può essere un padre di un'altra conferenza o di un partecipante a una conferenza. A seconda delle funzionalità del dispositivo indicate in LINEADDRESSCAPS, il parametro hdConsultCall potrebbe non essere necessariamente stato stabilito usando TSPI_lineSetupConference o TSPI_linePrepareAddToConference. Lo stato della chiamata di hdConsultCall può essere connesso, onHold, procedendo o ringback.

Valore restituito

Restituisce dwRequestID o un numero di errore se si verifica un errore. Il parametro effettivo lResultdell'ASYNC_COMPLETION corrispondente è zero se la funzione ha esito positivo o un numero di errore se si verifica un errore. I valori restituiti possibili sono i seguenti:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_CONFERENCEFULL, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM.

Commenti

Il provider di servizi restituisce LINEERR_INVALCALLHANDLE se hdConsultCall è un elemento padre di un'altra conferenza o già un partecipante a una conferenza oppure non è possibile aggiungere hdConsultCall per altri motivi, ad esempio è necessario che sia stato stabilito usando TSPI_lineSetupConference o TSPI_linePrepareAddToConference.

Nota L'handle di chiamata della parte aggiunta rimane valido dopo l'aggiunta della chiamata a una conferenza; in genere, il suo stato cambia in conferenza mentre lo stato della conferenza telefonica diventa connesso. L'handle di una singola chiamata partecipante può essere usato in un secondo momento per rimuovere tale parte dalla conferenza telefonica utilizzando TSPI_lineRemoveFromConference.
 
Gli stati di chiamata delle chiamate che partecipano a una conferenza non sono indipendenti. Ad esempio, quando si elimina una conferenza telefonica, tutte le chiamate partecipanti possono diventare automaticamente inattive. TAPI può consultare le funzionalità del dispositivo della linea per determinare quale forma di rimozione delle conferenze è disponibile. TAPI o le applicazioni client devono tenere traccia dei messaggi LINE_CALLSTATE per determinare cosa è successo alle chiamate coinvolte.

La conferenza telefonica viene stabilita tramite TSPI_lineSetupConference o TSPI_lineCompleteTransfer. In genere, la chiamata aggiunta a una conferenza viene stabilita usando TSPI_lineSetupConference o TSPI_linePrepareAddToConference. Alcune opzioni possono consentire l'aggiunta di una chiamata arbitraria alla conferenza e tale chiamata potrebbe essere stata configurata usando TSPI_lineMakeCall e essere in attesa (difficile). Tutte le chiamate che fanno parte di una conferenza devono esistere sulla stessa linea aperta.

Qualsiasi monitoraggio (media, toni, cifre) in una conferenza telefonica si applica solo al parametro hdConfCall , non alle singole chiamate partecipanti.

Questa funzione non ha restrizioni basate sui privilegi come nella funzione corrispondente a livello TAPI. Non esiste alcun requisito esplicito per il provider di servizi di tenere traccia delle relazioni tra la conferenza telefonica "padre" e i partecipanti, perché non esiste alcuna corrispondenza TSPI con la funzione TAPI. Molti provider di servizi potrebbero trovare necessario tenere traccia di queste relazioni internamente per implementare le altre funzioni di gestione delle chiamate di conferenza.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tspi.h

Vedi anche

LINE_CALLSTATE

TSPI_lineCompleteTransfer

TSPI_linePrepareAddToConference

TSPI_lineRemoveFromConference

TSPI_lineSetupConference