messaggio LINE_NEWCALL

Il messaggio TSPI LINE_NEWCALL viene inviato alla funzione di callback LINEEVENT ogni volta che una nuova chiamata TAPI non ha origine arriva su una riga che TAPI ha aperto. Questo deve essere il primo messaggio inviato in merito a tale chiamata. TAPI scrive l'handle opaco htCall nella posizione passata dal provider di servizi come dwParam2. Ciò consente al provider di servizi di usare il valore htCall nei messaggi successivi.

            

Parametri

htLine

Handle dell'oggetto opaco TAPI nel dispositivo linea.

htCall

Non utilizzato.

dwMsg

Valore LINE_NEWCALL.

dwParam1

Handle opaco del provider di servizi per la chiamata, di tipo HDRVCALL. TAPI passa questo valore come parametro hdCall per identificare la chiamata nelle procedure successive che richiama per operare sulla chiamata.

dwParam2

Puntatore di tipo LPHTAPICALL che punta a un HTAPICALL. TAPI scrive l'handle opaco TAPI per la chiamata alla posizione indicata. Il provider di servizi deve salvare questo valore e passarlo come parametro htCall per identificare la chiamata negli eventi successivi che segnala per la chiamata.

Questo parametro può anche acquisire un valore NULL (vedere la sezione Osservazioni seguenti).

dwParam3

Non utilizzato.

Commenti

Il provider di servizi deve inviare il messaggio LINE_CALLSTATE come messaggio successivo per questa chiamata. L'evento LINE_NEWCALL è insolito in quanto passa anche un valore al provider di servizi.

Questa funzione segnala tutte le nuove chiamate che hanno origine nel provider di servizi (in ingresso, in uscita, avviate al telefono e così via) per cui TAPI e il provider di servizi non hanno ancora scambiato handle opachi. Gli handle vengono scambiati in modo che TAPI e il provider di servizi possano successivamente effettuare richieste ed eventi di report che coinvolgono la chiamata. Poiché queste nuove chiamate non sono necessariamente in ingresso, le chiamate possono inizialmente essere in qualsiasi stato, non necessariamente lo stato dell'offerta . Se il provider di servizi avvia e rileva che una o più chiamate sono già attive nella riga, informa TAPI di loro con messaggiLINE_NEWCALL seguiti da LINE_CALLSTATE messaggi che indicano lo stato corrente. Una nuova chiamata in uscita, avviata sul telefono dall'utente, verrà segnalata con un messaggio di LINE_NEWCALL e il messaggio iniziale LINE_CALLSTATE indica che la chiamata era nello stato DIALTONE (e quindi continuare da lì).

Se il provider di servizi passa un numero elevato di chiamate a TAPI in un intervallo di tempo molto breve (durante lo stesso ciclo di interruzioni), TAPI può diventare eseguito nuovamente l'elaborazione di tali chiamate. In questo caso, TAPI segnala al provider di servizi di attendere un breve periodo di tempo prima di inviare altre chiamate. Segnala questo valore scrivendo un valore NULL, anziché un HTAPICALL valido, nella posizione a cui punta il parametro dwParam2 di LINE_NEWCALL. Ciò indica che il tentativo di elaborare l'handle di chiamata appena offerto non ha avuto esito positivo, probabilmente a causa di un'incapacità temporanea di allocare memoria. Il provider di servizi può rispondere eliminando la chiamata o inviando nuovamente il messaggio di LINE_NEWCALL dopo un ritardo di pianificazione (durante il quale il provider di servizi deve restituire il processore per consentire a TAPI di elaborare altre azioni in sospeso). In ogni caso, nessun ulteriore messaggio relativo alla nuova chiamata può essere passato a TAPI fino a quando lo scambio di handle ha esito positivo. Quando la posizione puntata da dwParam2 acquisisce un valore non NULL , il provider di servizi sa che questo valore è un handle HTAPICALL valido per la chiamata.

Non esiste alcun messaggio corrispondente direttamente a livello TAPI. Questo messaggio viene usato a livello TSPI per introdurre in modo univoco e ambiguo una nuova chiamata in ingresso a TAPI e recuperare l'identificatore opaco TAPI per la chiamata.

Requisiti

Requisito Valore
Versione TAPI
Richiede TAPI 2.0 o versione successiva
Intestazione
Tspi.h

Vedi anche

LINE_CALLSTATE

LINEEVENT