NDIS_TAPI_MAKE_CALL (Compact 2013)

3/26/2014

OID_TAPI_MAKE_CALL uses this function when it requests the miniport driver to place a call on the specified line to the specified destination address. Additional call parameters can be specified if the miniport driver is to use something other than default call-setup parameters.

Support for this request is mandatory.

Syntax

typedef struct _NDIS_TAPI_MAKE_CALL { 
  ULONG ulRequestID; 
  HDRV_LINE hdLine; 
  HTAPI_CALL htCall; 
  HDRV_CALL hdCall; 
  ULONG ulDestAddressSize; 
  ULONG ulDestAddressOffset; 
  BOOLEAN bUseDefaultLineCallParams; 
  LINE_CALL_PARAMS LineCallParams; 
} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL; 

Members

  • ulRequestID
    [in] Reserved.
  • hdLine
    [in] Specifies the miniport driver's handle to the line on which the new call is to be originated.
  • htCall
    [in] Specifies NDISTAPI's handle to the call.

    The miniport driver must save this handle for use in subsequent notifications, in particular the initial NDIS_MAC_LINE_UP notification to establish a link or data channel.

  • hdCall
    [out] Specifies the miniport driver's handle to the call. The miniport driver must fill this member with its handle for the call before completing this request successfully. This handle is ignored if the miniport driver returns an error status.
  • ulDestAddressSize
    [in] Specifies the size in bytes of the variable-size buffer at ulDestAddressOffset that contains the destination address.

    This member can be zero for undialed addresses, such as for a hot phone. This always automatically connects to a predefined number, or when dialing will be done subsequently with an OID_TAPI_DIAL request.

  • ulDestAddressOffset
    [in] Specifies the offset in bytes from the beginning of this structure to the destination address. This destination address is in standard dialable number format. This member should be zero if ulDestAddressSize is zero.

    If dialing will be done subsequently with an OID_TAPI_DIAL request, the driver should allocate an available call appearance on receipt of this request and remain in the dial tone state until dialing begins. Drivers of network adapters that have inverse multiplexing capabilities can allow an application to specify many addresses at the same time.

  • bUseDefaultLineCallParams
    [in] Specifies whether the miniport driver should use the default call-setup parameters or the parameters specified in LineCallParams when it makes the call. If this member is FALSE, the driver should ignore LineCallParams.
  • LineCallParams
    [in] The LINE_CALL_PARAMS structure at this member specifies how the call should be set up. It selects elements such as the call's bearer mode, data rate, expected media mode, origination address, blocking of caller ID information, and dialing parameters.

    To place a telephony call on a previously opened line, an application supplies a specific destination address and information that specifies how the telephony call should be set up. The WAN protocol driver receives this address and information and passes them down in a NDIS_TAPI_MAKE_CALL structure to a WAN miniport driver in order to place a call on the given line. For example, for an underlying X.25 network, an X.25 WAN miniport driver can access the following information from NDIS_TAPI_MAKE_CALL:

    • The X.25 network address from the ulDestAddressOffset member
    • TRUE from the bUseDefaultLineCallParams member to inform the X.25 WAN miniport driver to use the call parameters in the LineCallParams member
    • X.25-facilities information from the ulDevSpecificOffset member of the LineCallParams member
    • X.25-user information from the ulUserUserInfoOffset member of the LineCallParams member

Remarks

The MiniportQueryInformation function can return one of the following:

  • NDIS_STATUS_SUCCESS
  • NDIS_STATUS_PENDING
  • NDIS_STATUS_TAPI_ADDRESSBLOCKED
  • NDIS_STATUS_TAPI_BEARERMODEUNAVAIL
  • NDIS_STATUS_TAPI_CALLUNAVAIL
  • NDIS_STATUS_TAPI_DIALBILLING
  • NDIS_STATUS_TAPI_DIALQUIET
  • NDIS_STATUS_TAPI_DIALDIALTONE
  • NDIS_STATUS_TAPI_DIALPROMPT
  • NDIS_STATUS_TAPI_INUSE
  • NDIS_STATUS_TAPI_INVALBEARERMODE
  • NDIS_STATUS_TAPI_INVALMEDIAMODE
  • NDIS_STATUS_TAPI_INVALLINESTATE
  • NDIS_STATUS_TAPI_INVALRATE
  • NDIS_STATUS_TAPI_INVALLINEHANDLE
  • NDIS_STATUS_TAPI_INVALADDRESS
  • NDIS_STATUS_TAPI_INVALADDRESSID
  • NDIS_STATUS_TAPI_INVALCALLPARAMS
  • NDIS_STATUS_TAPI_RESOURCEUNAVAIL
  • NDIS_STATUS_TAPI_RATEUNAVAIL
  • NDIS_STATUS_TAPI_USERUSERINFOTOOBIG
  • NDIS_STATUS_FAILURE

Requirements

Header

ndistapi.h,
ntddndis.h

See Also

Reference

NDIS 5.x Legacy Structures
OID_TAPI_MAKE_CALL
OID_TAPI_DIAL
NDIS_MAC_LINE_UP
MiniportQueryInformation
NDIS 5.x Legacy Reference