lineDial
The lineDial
function dials the specified dialable number on the specified call.
LONG lineDial(
HCALL hCall, |
|
LPCSTR lpszDestAddress, |
|
DWORD dwCountryCode |
|
); |
|
Parameters
hCall
A handle to
the call on which a number is to be dialed. The application must be an owner of
the call. The call state of hCall can be any state except idle
and disconnected.
lpszDestAddress
The
destination to be dialed using the standard dialable number format.
dwCountryCode
The country
code of the destination. This is used by the implementation to select the call
progress protocols for the destination address. If a value of zero is
specified, a service provider-defined default call progress protocol is used.
Return Values
Returns a
positive request ID if the function will be completed asynchronously, or a
negative error number if an error has occurred. The dwParam2 parameter
of the corresponding LINE_REPLY
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.
Remarks
If
LINEERR_INVALADDRESS is returned, no dialing has been done. If
LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE, or
LINEERR_DIALPROMPT is returned, none of the actions otherwise performed by lineDial
have occurred. For example, none of the dialable addresses prior to the offending
character has been dialed, no hookswitch state has changed, and so on.
The lineDial
function is used for dialing on an existing call appearance. For example, after
a call has been set up for transfer or conference, a consultation call is
automatically allocated, and the lineDial function would be used to
perform the dialing of this consultation call. Note that lineDial may be
invoked multiple times in the course of multistage dialing, if the line's
device capabilities allow it. Also, multiple addresses may be provided in a
single dial string separated by CRLF. Service providers that provide inverse
multiplexing can establish individual physical calls with each of the addresses
and can return a single call handle to the aggregate of all calls to the application.
All addresses would use the same country code.
Dialing is
considered complete after the address has been passed to the service provider;
not after the call is finally connected. Service providers that provide inverse
multiplexing may allow multiple addresses to be provided at once. The service
provider sends LINE_CALLSTATE messages to the application to inform it about
the progress of the call. To abort a call attempt while a call is being
established, the invoking application should use lineDrop.
An application
can set the lpszDestAddress parameter of the lineDial function to
the address of an empty string to indicate that dialing is complete, but only
if the previous calls to the lineMakeCall and lineDial functions
have had the strings specified by lpszDestAddress terminated with
semicolons.
See Also