Dial

Le operazioni di composizione consentono a un'applicazione di inviare cifre aggiuntive in una sessione creata in precedenza. Un esempio di utilizzo della composizione parziale consiste nel comporre un'estensione. La composizione parziale viene talvolta definita composizione incrementale o composizione ritardata.

Quando l'indirizzo specificato è incompleto, la composizione di alcune cifre può essere ritardata inserendo un punto e virgola (;) alla fine del numero. Un'operazione di composizione viene quindi usata per inviare dati di indirizzo aggiuntivi nella sessione esistente, ad esempio la composizione dell'indirizzo di una parte a cui verrà trasferita la chiamata.

Ogni provider di servizi deve rifiutare una stringa di composizione contenente il carattere ? e consentire all'applicazione di gestirla in base alle esigenze. Ad esempio, l'applicazione potrebbe usare la composizione parziale per comporre la stringa, fino a, ma non incluso il carattere ? e quindi visualizzare una finestra di dialogo per consentire all'utente di segnalare quando il resto della stringa di composizione deve essere composto.

Un motivo aggiuntivo per l'uso della composizione parziale di un'applicazione è se il provider di servizi non supporta uno o più caratteri di controllo di rilevamento dello stato delle chiamate. Questi caratteri, che possono verificarsi in un indirizzo dialable, sono W (attendere il tono di composizione); @ (attendere una risposta tranquilla); e $ (attendere il tono del prompt della carta chiamante). Questi e tutti gli altri caratteri usati nelle stringhe di indirizzi vengono illustrati in dettaglio in Indirizzi dialable.

Il provider indica quali modificatori di stringa di chiamata "wait for" supportati. Un'applicazione TAPI 2 trova questi dati nel membro dwDevCapFlags della struttura LINEDEVCAPS restituita da lineGetDevCaps. Un'applicazione TAPI 3 chiama ITAddressCapabilities::get_AddressCapability con AddressCap impostata sul membro AC_DEVCAPFLAGS di ADDRESS_CAPABILITY.

L'applicazione può scegliere di prescandare le stringhe dialable per i caratteri non supportati oppure può passare la stringa "raw" come parte dell'avvio di una sessione. Se la stringa contiene un modificatore non supportato o un "?", il provider restituirà un errore che indica quale modificatore offensivo si è verificato prima all'interno della stringa:

  • LINEERR_DIALBILLING
  • LINEERR_DIALQUIET
  • LINEERR_DIALDIALTONE
  • LINEERR_DIALPROMPT

L'applicazione può quindi individuare il modificatore offensivo nella stringa, prendere le cifre a sinistra del modificatore, aggiungere un punto e virgola e avviare una sessione usando l'indirizzo parziale. Il resto della stringa può essere inviato usando l'operazione di composizione.

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

TAPI 2.x: Vedere lineDial.

TAPI 3.x: Vedere ITBasicCallControl::D ial.