Condividi tramite


Messaggi TSPI

Questa sezione contiene un elenco dei messaggi nell'interfaccia TSPI (Telephony Service Provider Interface). Questi messaggi vengono usati per notificare a TAPI l'occorrenza di eventi asincroni che si verificano spontaneamente all'interno del provider di servizi. Il provider di servizi passa questi eventi a TAPI chiamando un LINEEVENT o PHONEEVENT funzione di callback, a seconda che il provider di servizi segnali un evento su una linea, una chiamata o un dispositivo telefonico. La procedura LINEEVENT per la segnalazione di eventi in una riga o una chiamata viene fornita al provider di servizi al momento dell'apertura della riga con la funzione TSPI_lineOpen. La procedura PHONEEVENT per la segnalazione degli eventi che si verificano in un telefono viene fornita con la funzione TSPI_phoneOpen.

Questi eventi spontanei non sono richiesti dal TAPI nel senso che non sono una risposta diretta ad alcuna richiesta. Questi eventi sono in contrasto con quelli che segnalano il completamento delle richieste effettuate da TAPI. Tali eventi di completamento vengono segnalati tramite la funzione di callback ASYNC_COMPLETION.

I profili dei parametri per le routine evento spontanee includono parametri che identificano l'oggetto pertinente per il quale viene segnalato l'evento (telefono, riga o chiamata). L'identificazione è sotto forma di handle opaco la cui interpretazione esatta non è pubblicata da TSPI. TAPI determina internamente la relazione tra questi handle opachi e le strutture di dati usate per rappresentare i dispositivi.

Il profilo del parametro per le routine evento spontanee include anche un parametro di messaggio che identifica il tipo di messaggio. Ogni tipo di messaggio ha una definizione corrispondente che determina gli handle inclusi, insieme ad altri parametri e ai relativi significati. Esiste una corrispondenza molto forte tra i messaggi visualizzati a livello TSPI e quelli visualizzati a livello TAPI. Queste sono le regole generali di corrispondenza:

  • Il set di messaggi è quasi identico. Dove corrispondono i messaggi, viene usato lo stesso nome e valore del messaggio a livello di TSPI.
  • Gli handle visualizzati a livello TSPI sono i tipi opachi definiti dalla specifica TSPI. Questi tipi (e la loro interpretazione) differiscono da quelli a livello TAPI, anche se fanno riferimento alla stessa classe di dispositivo. Ad esempio, in cui un messaggio TAPI include un handle HLINE, il messaggio TSPI corrispondente include in genere un handle HTAPILINE.
  • Non sono presenti dwCallbackInstance dati passati al callback.
  • I parametri dwParam1, dwParam2e dwParam3 sono in genere identici ai parametri corrispondenti per il messaggio TAPI.
  • I messaggi orientati alla riga e orientati alle chiamate vengono passati a una procedura di callback diversa rispetto ai messaggi orientati al telefono.

Per ogni messaggio, questa sezione elenca gli elementi seguenti:

  • Scopo del messaggio
  • Procedura di callback a cui viene passato il messaggio
  • Descrizione dei parametri del messaggio
  • Commenti facoltativi sull'uso del messaggio
  • Riferimenti facoltativi ad altre funzioni, messaggi e strutture di dati
  • Commenti facoltativi che confrontano questo messaggio con l'interfaccia TAPI

Alcuni messaggi vengono usati per notificare a TAPI una modifica dello stato di un oggetto. Questi messaggi forniscono l'handle di oggetto opaco TAPI e un'indicazione dell'elemento di stato modificato. TAPI può successivamente chiamare una funzione "get status" appropriata dell'oggetto per ottenere lo stato completo dell'oggetto.

Quando si verifica un evento, un messaggio può essere inviato o meno a TAPI. Per alcuni tipi di evento, ad esempio modifiche allo stato, TAPI specifica un set di modifiche di stato a cui è interessato. È consigliabile che il provider di servizi limiti gli eventi del messaggio di modifica dello stato segnalati a quelli inclusi in questo set. Il provider di servizi non è necessario per rispettare questo limite. In altre parole, può segnalare più modifiche di quanto siano strettamente necessarie. Tuttavia, dovrebbe provare a osservare il limite per motivi di prestazioni.

Il messaggio LINE_REPLY non viene usato a livello TSPI. Il completamento di una richiesta asincrona viene segnalato usando il callback ASYNC_COMPLETION.

Il messaggio PHONE_REPLY non viene usato a livello TSPI. Il completamento di una richiesta asincrona viene segnalato usando il callback ASYNC_COMPLETION.

Per altre informazioni, vedere gli argomenti seguenti: