funzione lineSetupTransfer (tapi.h)

La funzione lineSetupTransfer avvia un trasferimento della chiamata specificata dal parametro hCall . Stabilisce una chiamata di consultazione, lphConsultCall, su cui è possibile comporre la parte che può diventare la destinazione del trasferimento. L'applicazione acquisisce i privilegi di proprietario per il parametro lphConsultCall .

Sintassi

LONG lineSetupTransfer(
  HCALL                  hCall,
  LPHCALL                lphConsultCall,
  LPLINECALLPARAMS const lpCallParams
);

Parametri

hCall

Gestire la chiamata da trasferire. L'applicazione deve essere un proprietario della chiamata. Lo stato della chiamata di hCall deve essere connesso.

lphConsultCall

Puntatore a un handle hCall . Questa posizione viene quindi caricata con un handle che identifica la chiamata di consultazione temporanea. Quando si configura una chiamata per il trasferimento, viene allocata automaticamente una chiamata di consulenza che consente a lineDial di comporre l'indirizzo associato alla nuova destinazione di trasferimento della chiamata. La parte di origine può continuare una conversazione su questa chiamata di consultazione prima di completare il trasferimento. Lo stato della chiamata di hConsultCall non è applicabile.

Questa procedura di trasferimento potrebbe non essere valida per alcuni dispositivi di riga. L'applicazione potrebbe dover ignorare la nuova chiamata di consultazione e annullare una chiamata mantenuta esistente (usando lineUnhold) per identificare la destinazione del trasferimento. Nei commutatori che supportano il trasferimento di chiamate tra indirizzi, la chiamata di consultazione può esistere in un indirizzo diverso rispetto alla chiamata da trasferire. Può anche essere necessario che la chiamata di consultazione sia configurata come una chiamata completamente nuova, da lineMakeCall, alla destinazione del trasferimento. Quali forme di trasferimento sono disponibili nelle funzionalità dell'indirizzo della chiamata.

lpCallParams

Puntatore a una struttura LINECALLPARAMS contenente i parametri di chiamata da usare durante la definizione della chiamata. Questo parametro può essere impostato su NULL se non sono desiderati parametri di configurazione delle chiamate speciali.

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_BEARERMODEUNAVAIL, LINEERR_INVALRATE, LINEERR_CALLUNAVAIL, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_NOTOWNER, LINEERR_INVALADDRESSMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALBEARERMODE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RATEUNAVAIL, LINEERR_INVALCALLPARAMS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALLINESTATE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIAMODE, LINEERR_USERUSERINFOTOOBIG, LINEERR_ INVALPOINTER.

Commenti

La funzione lineSetupTransfer configura il trasferimento della chiamata specificata da hCall. La fase di installazione di un trasferimento stabilisce una chiamata di consultazione che consente all'applicazione di inviare l'indirizzo della destinazione (la parte da trasferire) al commutatore, mentre la chiamata da trasferire viene mantenuta in attesa. Questa nuova chiamata viene definita chiamata di consultazione (hConsultCall) e può essere eliminata o modificata in modo indipendente dalla chiamata originale.

Quando la chiamata di consulenza ha raggiunto lo stato della chiamata dialtone , l'applicazione può continuare a trasferire la chiamata chiamando l'indirizzo di destinazione e monitorando lo stato di avanzamento o annullando una chiamata esistente. Il trasferimento della chiamata originale alla destinazione selezionata viene completato usando lineCompleteTransfer.

Anche se la chiamata di consultazione esiste, la chiamata originale passa in genere allo stato onholdPendingTransfer . L'applicazione può essere in grado di attivare l'interruttore tra la chiamata di consultazione e la chiamata originale usando lineSwapHold. Una chiamata di consultazione può essere annullata richiamando lineDrop su di esso. Dopo aver lasciato una chiamata di consulenza, la chiamata originale viene in genere passata allo stato connesso . Se lo stato della chiamata originale è onholdPendingTransfer, la funzione lineUnhold può essere usata per ripristinare la chiamata. In questo caso, lo stato della chiamata della chiamata alla chiamata è impostato su inattivo.

L'applicazione può anche trasferire le chiamate in un singolo passaggio, senza dover gestire la chiamata di consulenza di intervento, usando lineBlindTransfer.

Requisiti

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

Vedi anche

LINECALLPARAMS

LINE_REPLY

Funzioni di servizio linea supplementari

Panoramica di riferimento su TAPI 2.2

Panoramica del trasferimento

lineBlindTransfer

lineCompleteTransfer

lineDial

lineDrop

lineMakeCall

lineSwapHold

lineUnhold