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
while digit generation is in progress aborts the current digit generation or
tone generation and initiates the generation of the most recently specified
digits or tone.
| HCALL hCall,
| DWORD dwDigitMode,
| LPCSTR lpszDigits,
| DWORD dwDuration
A handle to the call. The application must be an owner of the call. Call state
can be any state.
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
Uses pulse/rotary for digit signaling. Valid digits for pulse mode are '0'
Uses DTMF tones for digit signaling. Valid digits for DTMF mode are '0'
through '9', 'A', 'B', 'C', 'D', '*', '#'.
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.
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
. If out of range, the actual value is set to the nearest value in the range.
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.
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
, which dials digits in a network-dependent fashion, lineGenerateDigits
guarantees to produce the digits as inband tones over the voice channel using
DTMF or hookswitch dial pulses when using pulse. The lineGenerateDigits
function is generally not suitable for making calls or dialing. It is
intended for end-to-end signaling over an established call.
After all digits in lpszDigits
have been generated, or after digit generation has been aborted or canceled,
message is sent to the application.
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
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.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages