Dial
Las operaciones de marcado permiten a una aplicación enviar dígitos adicionales en una sesión creada anteriormente. Un ejemplo de uso de marcado parcial es marcar una extensión. A veces, el marcado parcial se conoce como marcado incremental o marcado retrasado.
Cuando la dirección proporcionada está incompleta, la marcación de algunos de los dígitos puede retrasarse colocando un punto y coma (;) al final del número. A continuación, se usa una operación de marcado para enviar datos de dirección adicionales en la sesión existente, como marcar la dirección de una entidad a la que se transferirá la llamada.
Cada proveedor de servicios debe rechazar una cadena de marcado que contenga el carácter ? y permitir que la aplicación se ocupe de ella según corresponda. Por ejemplo, la aplicación podría usar marcado parcial para marcar la cadena, hasta , pero no incluir el carácter ? y, a continuación, mostrar un cuadro de diálogo para permitir que el usuario señale cuando se debe marcar el resto de la cadena de marcado.
Un motivo adicional para que una aplicación use marcado parcial es si el proveedor de servicios no admite uno o varios de los caracteres de control de detección de progreso de llamadas. Estos caracteres, que se pueden producir en una dirección de marcado, son W (esperar el tono de marcado); @ (esperar respuesta silenciosa); y $ (espere el tono de aviso de tarjeta de llamada). Estos y todos los demás caracteres usados en las cadenas de direcciones se describen con mayor detalle en Direcciones marcados.
El proveedor indica qué modificadores de cadena de marcado "esperar" admite. Una aplicación TAPI 2 encuentra estos datos en el miembro dwDevCapFlags de la estructura LINEDEVCAPS devuelta por lineGetDevCaps. Una aplicación TAPI 3 llama a ITAddressCapabilities::get_AddressCapability con AddressCap establecido en el miembro AC_DEVCAPFLAGS de ADDRESS_CAPABILITY.
La aplicación puede optar por examinar previamente las cadenas de marcado para caracteres no admitidos o puede pasar la cadena "sin procesar" como parte de iniciar una sesión. Si la cadena contiene un modificador no admitido o "?", el proveedor devolverá un error que indica qué modificador incorrecto se produjo primero dentro de la cadena:
- LINEERR_DIALBILLING
- LINEERR_DIALQUIET
- LINEERR_DIALDIALTONE
- LINEERR_DIALPROMPT
Después, la aplicación puede localizar el modificador infractor en la cadena, tomar los dígitos a la izquierda del modificador, anexar un punto y coma e iniciar una sesión mediante la dirección parcial. El resto de la cadena se puede enviar mediante la operación de marcado.
No todos los proveedores de servicios admiten el uso de esta operación.
TAPI 2.x: Consulte lineDial.
TAPI 3.x: Consulte ITBasicCallControl::D ial.