Funzione lineCompleteTransfer (tapi.h)

La funzione lineCompleteTransfer completa il trasferimento della chiamata specificata alla parte connessa nella chiamata di consultazione.

Sintassi

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

Parametri

hCall

Gestire la chiamata da trasferire. L'applicazione deve essere un proprietario di questa chiamata. Lo stato della chiamata di hCall deve essere onHold o onHoldPendingTransfer.

hConsultCall

Handle per la chiamata che rappresenta una connessione con la destinazione del trasferimento. L'applicazione deve essere un proprietario di questa chiamata. Lo stato della chiamata di hConsultCall deve essere connesso, ringback, occupato o continuare.

lphConfCall

Puntatore a una posizione di memoria in cui è possibile restituire un handle hCall . Se dwTransferMode è LINETRANSFERMODE_CONFERENCE, la conferenza telefonica appena creata viene restituita in lphConfCall e l'applicazione diventa l'unico proprietario della conferenza telefonica. In caso contrario, questo parametro viene ignorato da TAPI.

dwTransferMode

Modalità di risoluzione della richiesta di trasferimento avviata. Questo parametro usa una delle costanti LINETRANSFERMODE_.

Valore restituito

Restituisce un identificatore di richiesta positivo se la funzione viene completata in modo asincrono o un numero di errore negativo se si verifica un errore. Il parametro dwParam2 del messaggio di LINE_REPLY corrispondente è zero se la funzione ha esito positivo o è un numero di errore negativo se si verifica un errore. I valori restituiti possibili sono:

LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCONSULTCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALTRANSFERMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM.

Commenti

Il LINE_REPLY messaggio inviato in risposta a una chiamata alla funzione lineCompleteTransfer si basa sullo stato della chiamata specificata dal parametro hCall .

Questa operazione completa il trasferimento della chiamata originale, hCall, alla parte attualmente connessa da hConsultCall. La chiamata di consultazione viene in genere chiamata alla chiamata di consultazione allocata come parte di lineSetupTransfer, ma può essere qualsiasi chiamata a cui il commutatore è in grado di trasferire hCall.

La richiesta di trasferimento può essere risolta come trasferimento o come conferenza telefonica a tre vie. Quando viene risolto come trasferimento, le parti connesse da hCall e hConsultCall sono connesse tra loro e hCall e hConsultCall vengono in genere cancellate dalla riga dell'applicazione e passano allo stato di inattività . L'handle di chiamata dell'applicazione rimane valido dopo il completamento del trasferimento. L'applicazione deve deallocare il relativo handle con lineDeallocateCall quando non è più interessato alla chiamata trasferita.

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 .

Se lineGetConfRelatedCalls viene chiamato immediatamente dopo lineCompleteTransfer con il risultato della conferenza delle chiamate, lineGetConfRelatedCalls potrebbe non restituire un elenco completo di chiamate correlate. Ciò è dovuto al fatto che TAPI attende di ricevere un messaggio LINE_CALLSTATE che indica che la chiamata è entrata LINECALLSTATE_CONFERENCED prima che consideri effettivamente la chiamata come parte della conferenza. Ciò significa che attende che il provider di servizi conferissi lo stato di conferenza. Dopo che l'applicazione ha ricevuto il messaggio LINE_CALLSTATE, lineGetConfRelatedCalls restituisce informazioni complete.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tapi.h
Libreria Tapi32.lib
DLL Tapi32.dll

Vedi anche

LINE_CALLSTATE

LINE_REPLY

Funzioni supplementari del servizio line

Panoramica dei riferimenti a TAPI 2.2

Panoramica del trasferimento

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer