Funzione lineDial (tapi.h)

La funzione lineDial compone il numero di composizione specificato nella chiamata specificata.

Sintassi

LONG lineDial(
  HCALL  hCall,
  LPCSTR lpszDestAddress,
  DWORD  dwCountryCode
);

Parametri

hCall

Gestire la chiamata su cui deve essere composto un numero. L'applicazione deve essere un proprietario della chiamata. Lo stato della chiamata di hCall può essere qualsiasi stato, ad eccezione dell'inattività e della disconnessione.

lpszDestAddress

Destinazione da comporre utilizzando il formato di numeri chiamabili standard.

dwCountryCode

Codice paese o area geografica della destinazione. Viene usato dall'implementazione per selezionare i protocolli di stato della chiamata per l'indirizzo di destinazione. Se viene specificato un valore pari a 0, viene utilizzato un protocollo di stato di chiamata predefinito definito dal provider di servizi.

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_ADDRESSBLOCKED, LINEERR_INVALPOINTER, LINEERR_DIALBILLING, LINEERR_NOMEM, LINEERR_DIALDIALTONE, LINEERR_NOTOWNER, LINEERR_DIALPROMPT, LINEERR_OPERATIONFAILED, LINEERR_DIALQUIET, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_UNINITIALIZED LINEERR_INVALCOUNTRYCODE.

Commenti

Se viene restituito LINEERR_INVALADDRESS, non è stata eseguita alcuna composizione. Se viene restituito LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE o LINEERR_DIALPROMPT, nessuna delle azioni eseguite da lineDial è stata eseguita. Ad esempio, nessuno degli indirizzi chiamabili prima della composizione del carattere offensivo è stato composto, non è stato modificato alcuno stato hookswitch e così via.

La funzione lineDial viene usata per comporre un aspetto di chiamata esistente. Ad esempio, dopo la configurazione di una chiamata per il trasferimento o la conferenza, viene assegnata automaticamente una chiamata di consultazione e la funzione lineDial viene utilizzata per eseguire la composizione di questa chiamata di consultazione. La funzione lineDial può essere richiamata più volte nel corso della composizione a più fasi, se le funzionalità del dispositivo della riga lo consentono. Inoltre, è possibile specificare più indirizzi in una singola stringa di composizione separata da CRLF. I provider di servizi che forniscono multiplexing inversa possono stabilire singole chiamate fisiche con ognuno degli indirizzi e possono restituire un singolo handle di chiamata all'aggregazione di tutte le chiamate all'applicazione. Tutti gli indirizzi usano lo stesso codice paese o area geografica.

La composizione viene considerata completa dopo che l'indirizzo è stato passato al provider di servizi; non dopo che la chiamata è stata infine connessa. I provider di servizi che forniscono multiplexing inversa possono consentire l'inserimento di più indirizzi contemporaneamente. Il provider di servizi invia LINE_CALLSTATE messaggi all'applicazione per informarlo sullo stato di avanzamento della chiamata. Per interrompere un tentativo di chiamata mentre viene stabilita una chiamata, l'applicazione chiamante deve usare lineDrop.

Un'applicazione può impostare il parametro lpszDestAddress della funzione lineDial sull'indirizzo di una stringa vuota per indicare che la composizione è completa, ma solo se le chiamate precedenti alle funzioni lineMakeCall e lineDial hanno avuto le stringhe specificate da lpszDestAddress terminate con punti e virgola.

La funzione lineDial può essere usata anche nella composizione parziale. Per avviare una chiamata tramite composizione parziale, l'applicazione chiama lineMakeCall e specifica una stringa di composizione parziale. Una stringa di composizione parziale è qualsiasi stringa di composizione terminata da un punto e virgola. La chiamata in genere passerà a LINECALLSTATE_DIALING dopo la quale è possibile chiamare lineDial per specificare più stringhe di composizione, ognuna terminata da un punto e virgola. La composizione viene completata chiamando lineDial con una stringa di composizione non terminata con un punto e virgola ,ad esempio una stringa vuota. Questa tecnica consente alle applicazioni di eseguire la composizione parziale interattiva con l'utente o di abilitare una composizione più sofisticata rispetto a un TSP.

Se una stringa di destinazione Null o una stringa vuota terminata con un punto e virgola (";") viene immessa in lineMakeCall , l'applicazione passa a LINE_CALLSTATE_DIALTONE. La funzione lineDial può essere chiamata in questo stato per immettere una singola stringa di composizione o più stringhe di composizione parziale, ognuna separata da un punto e virgola. L'applicazione passa allo stato LINECALLSTATE_DIALING dopo l'immissione della prima cifra.

Nota La funzione lineDial è disponibile solo quando una chiamata è in LINECALLSTATE_DIALING o LINE_CALLSTATE_DIALTONE. Se è necessario DTMF mentre una chiamata è connessa (LINECALLSTATE_CONNECTED), usare lineGenerateDigits.
 

Requisiti

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

Vedi anche

Informazioni di riferimento sui servizi di telefonia di base

Panoramica di Dial

Indirizzi componibili

LINE_CALLSTATE

LINE_REPLY

Panoramica dei riferimenti a TAPI 2.2

lineDrop

lineMakeCall