Trasferimento

L'operazione di trasferimento consente a un'applicazione di inviare una sessione di comunicazione attualmente connessa a un indirizzo diverso.

TAPI fornisce due meccanismi per il trasferimento di una sessione corrente a un indirizzo diverso. Il trasferimento cieco consente di trasferire una sessione esistente a un indirizzo di destinazione specificato in una fase. Il trasferimento di consultazione richiede l'esistenza di una sessione di consultazione oltre alla sessione corrente per la configurazione del trasferimento e quindi il completamento del trasferimento. La scelta tra questi due tipi è spesso basata sulle funzionalità del provider di servizi perché alcuni provider di servizi non supportano il trasferimento cieco. In alcuni casi, le esigenze dell'applicazione possono rendere il trasferimento consultivo il metodo preferito anche se è possibile il trasferimento cieco.

L'operazione di trasferimento cieco è fondamentalmente la stessa in TAPI 2 e TAPI 3, ma il trasferimento consultivo segue modelli leggermente diversi.

TAPI 2.x: Il trasferimento consultivo inizia con la chiamata di lineSetupTransfer, che inserisce la chiamata esistente in attesa di consultazione e identifica questa chiamata come destinazione per la richiesta di trasferimento-completamento successivo. La funzione lineSetupTransfer alloca anche una chiamata di consultazione che può essere utilizzata per stabilire la chiamata di consultazione con la parte a cui verrà trasferita la chiamata. L'applicazione può comporre l'estensione della parte di destinazione sulla chiamata di consultazione (utilizzando lineDial) oppure può eliminare e deallocare la chiamata di consultazione e attivare invece una chiamata esistente (utilizzando lineUnhold), se supportata dall'opzione. Mentre la chiamata iniziale è in attesa di consultazione e la chiamata di consultazione è attiva, l'applicazione può passare da una chiamata all'altro usando lineSwapHold.

TAPI 2.x: Le applicazioni completano il trasferimento consultivo usando lineCompleteTransfer. Entrambe le chiamate ripristinano lo stato di inattività .

Le applicazioni possono usare la funzionalità "trasferimento in un unico passaggio" di molti PBX (un singolo pulsante premuto per stabilire un trasferimento di consultazione) impostando il parametro lpCallParams sul membro LINECALLPARAMFLAGS_ONESTEPTRANSFER delle costanti LINECALLPARAMFLAGS_ quando si chiama lineSetupTransfer.

TAPI 3.x: Il trasferimento consultivo inizia con l'uso di ITAddress::CreateCall per creare una chiamata di consultazione al nuovo indirizzo di destinazione. ITBasicCallControl::Transfer viene quindi chiamato sull'oggetto chiamata originale usando un puntatore al nuovo oggetto chiamata di consultazione come parametro. La chiamata a ITBasicCallControl::Finish sull'oggetto di chiamata di consultazione completa quindi il trasferimento.

L'applicazione deve rilasciare le risorse della sessione dopo il completamento di un'operazione di trasferimento.

Non tutti i provider di servizi supportano l'uso di questa operazione.

TAPI 2.x: Vedere lineBlindTransfer, lineSetupTransfer, lineCompleteTransfer.

TAPI 3.x: Vedere ITBasicCallControl::BlindTransfer, ITAddress::CreateCall, ITBasicCallControl::Transfer, ITBasicCallControl::Finish.