lineGenerateDigits
The lineGenerateDigits
function initiates the generation of the specified digits on the specified call
as inband tones using the specified signaling mode. Invoking this function with
a NULL value for lpszDigits aborts any digit generation currently in
progress. Invoking lineGenerateDigits or lineGenerateTone
LONG lineGenerateDigits(
HCALL hCall, |
|
DWORD dwDigitMode, |
|
LPCSTR lpszDigits, |
|
DWORD dwDuration |
|
); |
|
Parameters
hCall
A handle to
the call. The application must be an owner of the call. Call state of hCall
can be any state.
dwDigitMode
The format to
be used for signaling these digits. Note that dwDigitMode is allowed to
have only a single flag set. This parameter uses the following LINEDIGITMODE_
constants:
LINEDIGITMODE_PULSE
Uses
pulse/rotary for digit signaling. Valid digits for pulse mode are '0' through
'9'.
LINEDIGITMODE_DTMF
Uses DTMF
tones for digit signaling. Valid digits for DTMF mode are '0' through '9', 'A',
'B', 'C', 'D', '*', '#'.
lpszDigits
A pointer to
a NULL-terminated character buffer that contains the digits to be generated.
Valid characters for pulse mode are '0' through '9' and ',' (comma). Valid
characters for DTMF mode are '0' through '9', 'A', 'B', 'C', 'D', '*', '#', and
',' (comma). A comma injects an extra delay between the signaling of the previous
and next digits it separates. The duration of this pause is configuration
defined, and the line's device capabilities indicate what this duration is.
Multiple commas may be used to inject longer pauses. Invalid digits are ignored
during the generation, rather than being reported as an error. The exclamation
character (!) is a valid character in the string specifed by the lpszDigits
parameter for both DTMF and pulse mode. This character causes a
"hookflash" operation, as described for dialable addresses.
dwDuration
Both the
duration in milliseconds of DTMF digits and pulse and DTMF inter-digit spacing.
A value of zero will use a default value. The dwDuration parameter must
be within the range specified by MinDialParams and MaxDialParams
in LINEDEVCAPS
Return Values
Returns zero
if the request is successful or a negative error number if an error has
occurred. Possible return values are:
LINEERR_INVALCALLHANDLE,
LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL,
LINEERR_INVALDIGITMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALPOINTER,
LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.
Remarks
The lineGenerateDigits
function is considered to have completed successfully when the digit generation
has been successfully initiated, not when all digits have been generated. In
contrast to lineDial
After all
digits in lpszDigits have been generated, or after digit generation has
been aborted or canceled, a LINE_GENERATE
Only one
inband generation request (tone generation or digit generation) is allowed to
be in progress per call across all applications that are owners of the call.
Digit generation on a call is canceled by initiating either another digit
generation request or a tone generation request. To cancel the current digit
generation, the application can invoke lineGenerateDigits and specify
NULL for the lpszDigits parameter.
Depending on
the service provider and hardware, the application may monitor the digits it
generates itself. If that is not desired, the application can disable digit
monitoring while generating digits.
See Also