funzione TSPI_lineCompleteTransfer (tspi.h)

La funzione TSPI_lineCompleteTransfer completa il trasferimento della chiamata specificata alla parte connessa nella chiamata di consultazione. Se dwTransferMode è LINETRANSFERMODE_CONFERENCE, l'handle di chiamata originale viene modificato in una conferenza telefonica. In caso contrario, il provider di servizi deve inviare messaggi di stato di chiamata che modificano le chiamate inattive.

Sintassi

LONG TSPIAPI TSPI_lineCompleteTransfer(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  HDRVCALL      hdConsultCall,
  HTAPICALL     htConfCall,
  LPHDRVCALL    lphdConfCall,
  DWORD         dwTransferMode
);

Parametri

dwRequestID

Identificatore della richiesta asincrona.

hdCall

Handle del provider di servizi per la chiamata da trasferire. Lo stato della chiamata di hdCall può essere onHoldPendingTransfer.

hdConsultCall

Handle per la chiamata che rappresenta una connessione alla destinazione del trasferimento. Lo stato della chiamata di hdConsultCall può essere connesso, ringback, occupato o continuare.

htConfCall

Questo parametro è valido solo se dwTransferMode viene specificato come LINETRANSFERMODE_CONFERENCE. Il provider di servizi deve salvare questo valore di parametro e usarlo in tutte le chiamate successive alla routine LINEEVENT che segnala gli eventi sulla chiamata. In caso contrario, questo parametro viene ignorato.

lphdConfCall

Puntatore a un HDRVCALL che rappresenta l'identificatore del provider di servizi per la chiamata. Questo parametro è valido solo se dwTransferMode viene specificato come LINETRANSFERMODE_CONFERENCE. Il provider di servizi deve riempire questa posizione con il relativo handle per la nuova conferenza telefonica prima di tornare da questa funzione.

dwTransferMode

Specifica la modalità di risoluzione della richiesta di trasferimento avviata. Questo parametro usa una delle costanti LINETRANSFERMODE_.

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_NOMEM, LINEERR_RESOURCEUNAVAIL.

Commenti

Questa funzione completa il trasferimento della chiamata originale, hdCall, all'entità attualmente connessa tramite hdConsultCall. La chiamata di consultazione viene in genere chiamata alla chiamata di consultazione allocata come parte di TSPI_lineSetupTransfer, ma può essere qualsiasi chiamata a cui il commutatore è in grado di trasferire hdCall.

La richiesta di trasferimento può essere risolta come trasferimento o come conferenza telefonica a tre vie. Quando viene risolto come trasferimento, le parti connesse tramite hdCall e hdConsultCall sono connesse tra loro e hdCall e hdConsultCall passano allo stato di inattività.

Quando viene risolta come conferenza, tutte e tre le parti entrano in una conferenza telefonica. Entrambi gli handle di chiamata esistenti rimangono validi, ma passano allo stato conferenza . Viene creato e restituito un handle di conferenza telefonica e passa allo stato connesso .

Può anche essere possibile eseguire un trasferimento cieco di una chiamata usando TSPI_lineBlindTransfer.

Questa funzione è diversa dalla funzione TAPI corrispondente in quanto segue il modello TSPI per iniziare la durata di una chiamata. TAPI e il provider di servizi scambiano handle opachi che rappresentano la chiamata tra loro. Inoltre, il provider di servizi è autorizzato a eseguire callback per la nuova chiamata prima che venga restituito da questa procedura. In ogni caso, il provider di servizi deve anche considerare l'handle restituito come "non ancora valido" fino a quando il messaggio corrispondente ASYNC_COMPLETION segnala l'esito positivo. In altre parole, non deve emettere alcun messaggio LINEEVENT per la nuova chiamata o includerlo nei conteggi delle chiamate in messaggi o strutture di dati di stato per la riga.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tspi.h

Vedi anche

ASYNC_COMPLETION

LINEEVENT

Costanti LINETRANSFERMODE_

LINE_CALLSTATE

TSPI_lineBlindTransfer

TSPI_lineCloseCall

TSPI_lineSetupTransfer