State
Lo stato della sessione o della chiamata indica lo stato corrente di una sessione, ad esempio "offerta" o "connesso". La corretta gestione delle informazioni sullo stato è fondamentale per il corretto funzionamento della maggior parte delle applicazioni TAPI. Ad esempio, l'operazione di risposta può essere eseguita solo in una sessione offerta, ma un trasferimento avrà esito negativo se la sessione è in tale stato.
Lo stato di una sessione cambia in seguito a eventi. Gli eventi possono essere sollecitati o non richiesti. Gli eventi sollecitati sono causati dall'applicazione che controlla la sessione, ad esempio quando richiama un'operazione di sessione TAPI. Gli eventi non richiesti sono causati dal commutatore, dalla rete telefonica, dai pulsanti dell'utente sul telefono locale o dalle azioni dell'entità remota.
Ogni volta che un provider di servizi rileva una modifica dello stato della sessione, segnala la modifica a TAPI e TAPI invia una notifica degli eventi a tutti i proprietari e monitora le applicazioni. L'applicazione deve reagire in modo appropriato a queste notifiche. Per informazioni sul controllo degli eventi segnalati a un'applicazione, vedere Notifica eventi in Inizializzazione TAPI .
Un'applicazione deve sempre elaborare le notifiche degli eventi di stato. Le transizioni di stato valide per una configurazione fisica potrebbero non essere valide per un'altra. Si consideri, ad esempio, una linea che termina fisicamente sia nel computer che in un set di telefono separato, creando una configurazione linea di entità tra il computer e il set di telefono. Un'applicazione in esecuzione nel computer potrebbe non conoscere le attività del set di telefono. Ovvero, la riga può essere in uso senza che il provider di servizi ne sia a conoscenza. Un'applicazione che tenta di effettuare una chiamata in uscita avrà esito positivo nell'allocazione di un aspetto di chiamata da TAPI, ma ciò comporta la condivisione della chiamata attiva sulla riga. L'invio cieco di una stringa di composizione DTMF senza prima controllare la presenza di un tono di chiamata potrebbe non comportare un comportamento previsto (o educato).
Un'applicazione non deve presupporre una progressione rigida da uno stato a un altro. Gli eventi di stato arrivano e vengono inoltrati in modo asincrono e le notifiche potrebbero non essere ricevute in un ordine prevedibile. Di conseguenza, le notifiche di stato delle chiamate devono essere visualizzate come indicare all'applicazione il nuovo stato della chiamata invece di segnalare le transizioni tra due stati.
Tutti i provider di servizi di telefonia devono fornire queste informazioni.
**TAPI 2.x: **lineGetCallStatus, lineGetCallInfo, LINE_CALLSTATE messaggio, costanti LINECALLSTATE_
**TAPI 3.x: **ITCallInfo::get_CallInfoLong (membro CIL_CALLID di CALLINFO_LONG), notifica ITCallStateEventCALL_STATE enumeratore