Platform SDK: TAPI

LINECALLPARAMS

The LINECALLPARAMS structure describes parameters supplied when making calls using the lineMakeCall and TSPI_lineMakeCall functions. The LINECALLPARAMS structure is also used as a parameter in other operations, such as the lineOpen function.

The comments to the right of the syntax block indicate the default values used when this structure is not provided to lineMakeCall.

typedef struct linecallparams_tag {  // Defaults:
  DWORD  dwTotalSize;          // ---------
  
  DWORD  dwBearerMode;              // voice
  DWORD  dwMinRate;                 // (3.1kHz)
  DWORD  dwMaxRate;                 // (3.1kHz)
  DWORD  dwMediaMode;               // interactiveVoice

  DWORD  dwCallParamFlags;          // 0
  DWORD  dwAddressMode;             // addressID
  DWORD  dwAddressID;               // (any available)

  LINEDIALPARAMS DialParams;        // (0, 0, 0, 0)

  DWORD  dwOrigAddressSize;         // 0
  DWORD  dwOrigAddressOffset;

  DWORD  dwDisplayableAddressSize;  // 0
  DWORD  dwDisplayableAddressOffset;

  DWORD  dwCalledPartySize;         // 0
  DWORD  dwCalledPartyOffset;

  DWORD  dwCommentSize;             // 0
  DWORD  dwCommentOffset;

  DWORD  dwUserUserInfoSize;        // 0
  DWORD  dwUserUserInfoOffset;

  DWORD  dwHighLevelCompSize;       // 0
  DWORD  dwHighLevelCompOffset;

  DWORD  dwLowLevelCompSize;        // 0
  DWORD  dwLowLevelCompOffset;

  DWORD  dwDevSpecificSize;         // 0
  DWORD  dwDevSpecificOffset;

  DWORD  dwPredictiveAutoTransferStates;//TAPI Version 2.0

  DWORD  dwTargetAddressSize;    //TAPI Version 2.0
  DWORD  dwTargetAddressOffset;  //TAPI Version 2.0

  DWORD  dwSendingFlowspecSize;   //TAPI Version 2.0
  DWORD  dwSendingFlowspecOffset; //TAPI Version 2.0

  DWORD  dwReceivingFlowspecSize;   //TAPI Version 2.0
  DWORD  dwReceivingFlowspecOffset; //TAPI Version 2.0

  DWORD  dwDeviceClassSize;      //TAPI Version 2.0
  DWORD  dwDeviceClassOffset;    //TAPI Version 2.0

  DWORD  dwDeviceConfigSize;     //TAPI Version 2.0
  DWORD  dwDeviceConfigOffset;   //TAPI Version 2.0

  DWORD  dwCallDataSize;         //TAPI Version 2.0
  DWORD  dwCallDataOffset;       //TAPI Version 2.0

  DWORD  dwNoAnswerTimeout;      //TAPI Version 2.0

  DWORD  dwCallingPartyIDSize;   //TAPI Version 2.0
  DWORD  dwCallingPartyIDOffset; //TAPI Version 2.0

  DWORD  dwAddressType;          //TAPI Version 3.0
} LINECALLPARAMS, FAR *LPLINECALLPARAMS; 

Members

dwTotalSize
The total size, in bytes, allocated to this data structure. This size should be big enough to hold all the fixed and variably sized portions of this data structure.
dwBearerMode
The bearer mode for the call. This member uses one of the LINEBEARERMODE_ constants.

If dwBearerMode is zero, the default value is LINEBEARERMODE_VOICE.

dwMinRate
dwMaxRate
The data rate range requested for the call's data stream in bps (bits per second). When making a call, the service provider attempts to provide the highest available rate in the requested range. If a specific data rate is required, both min and max should be set to that value. If an application works best with one rate but is able to degrade to lower rates, the application should specify these as the maximum and minimum rates, respectively. If dwMaxRate is zero, the default value is as specified by the dwMaxRate member of the LINEDEVCAPS structure. This is the maximum rate supported by the device.
dwMediaMode
The expected media type of the call. This member uses one of the LINEMEDIAMODE_ constants.

If dwMediaMode is zero, the default value is LINEMEDIAMODE_INTERACTIVEVOICE.

dwCallParamFlags
These flags specify a collection of Boolean call-setup parameters. This member uses one or more of the LINECALLPARAMFLAGS_ constants.
dwAddressMode
The mode by which the originating address is specified. The dwAddressMode member cannot be LINEADDRESSMODE_ADDRESSID for the lineOpen function call. This member uses one of the LINEADDRESSMODE_ constants.
dwAddressID
The address identifier of the originating address if dwAddressMode is set to LINEADDRESSMODE_ADDRESSID. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades.
DialParams
Dial parameters to be used on this call, of type LINEDIALPARAMS. When a value of 0 is specified for this field, the default value for the field is used as indicated in the DefaultDialParams member of the LINEDEVCAPS structure. If a nonzero value is specified for a field that is outside the range specified by the corresponding fields in MinDialParams and MaxDialParams in the LINEDEVCAPS structure, the nearest value within the valid range is used instead.
dwOrigAddressSize
dwOrigAddressOffset
The size, in bytes, of the variably sized field holding the originating address, and the offset, in bytes, from the beginning of this data structure. The format of this address is dependent on the dwAddressMode member.
dwDisplayableAddressSize
dwDisplayableAddressOffset
The displayable string is used for logging purposes. The content of these members is recorded in the dwDisplayableAddressOffset and dwDisplayableAddressSize members of the call's LINECALLINFO message. The lineTranslateAddress function returns appropriate information to be placed in this field in the dwDisplayableAddressSize and dwDisplayableAddressOffset members of the LINETRANSLATEOUTPUT structure.
dwCalledPartySize
dwCalledPartyOffset
The size, in bytes, of the variably sized field holding called-party information, and the offset, in bytes, from the beginning of this data structure. This information can be specified by the application that makes the call and is made available in the call's information structure for logging purposes. The format of this field is that of dwStringFormat, as specified in LINEDEVCAPS.
dwCommentSize
dwCommentOffset
The size, in bytes, of the variably sized field holding comments about the call, and the offset, in bytes, from the beginning of this data structure. This information can be specified by the application that makes the call and is made available in the call's information structure for logging purposes. The format of this field is that of dwStringFormat, as specified in LINEDEVCAPS.
dwUserUserInfoSize
dwUserUserInfoOffset
The size, in bytes, of the variably sized field holding user-user information, and the offset, in bytes, from the beginning of this data structure. The protocol discriminator field for the user-user information, if required, should appear as the first byte of the data pointed to by dwUserUserInfoOffset, and must be accounted for in dwUserUserInfoSize.
dwHighLevelCompSize
dwHighLevelCompOffset
The size, in bytes, of the variably sized field holding high-level compatibility information, and the offset, in bytes, from the beginning of this data structure
dwLowLevelCompSize
dwLowLevelCompOffset
The size, in bytes, of the variably sized field holding low-level compatibility information, and the offset, in bytes, from the beginning of this data structure.
dwDevSpecificSize
dwDevSpecificOffset
The size, in bytes, of the variably sized field holding device-specific information, and the offset, in bytes, from the beginning of this data structure
dwPredictiveAutoTransferStates
The LINECALLSTATE_ constants, entry into which causes the call to be blind-transferred to the specified target address. Set to zero if automatic transfer is not desired.
dwTargetAddressSize
dwTargetAddressOffset
The size, in bytes, and offset from the beginning of LINECALLPARAMS of a string specifying the target dialable address (not dwAddressID); used in the case of certain automatic actions. In the case of predictive dialing, specifies the address to which the call should be automatically transferred. This is essentially the same string that would be passed to lineBlindTransfer if automatic transfer were not being used. Set to zero if automatic transfer is not desired. In the case of a No Hold Conference, specifies the address that should be conferenced to the call. In the case of a One Step Transfer, specifies the address to dial on the consultation call.
dwSendingFlowspecSize
dwSendingFlowspecOffset
The total size, in bytes, and offset from the beginning of LINECALLPARAMS of a WinSock2 FLOWSPEC structure followed by WinSock2 provider-specific data, equivalent to what would have been stored in SendingFlowspec.len in a WinSock2 QOS structure. Specifies the quality of service desired in the sending direction on the call. The provider-specific portion following the FLOWSPEC structure must not contain pointers to other blocks of memory, because TAPI does not know how to marshal the data pointed to by the private pointer(s) and convey it through interprocess communication to the application.
dwReceivingFlowspecSize
dwReceivingFlowspecOffset
The total size, in bytes, and offset from the beginning of LINECALLPARAMS of a WinSock2 FLOWSPEC structure followed by WinSock2 provider-specific data, equivalent to what would have been stored in ReceivingFlowspec.len in a WinSock2 QOS structure. Specifies the quality of service desired in the receiving direction on the call. The provider-specific portion following the FLOWSPEC structure must not contain pointers to other blocks of memory, because TAPI does not know how to marshal the data pointed to by the private pointer(s) and convey it through interprocess communication to the application.
dwDeviceClassSize
dwDeviceClassOffset
The size, in bytes, and offset from the beginning of LINECALLPARAMS of a null-terminated string (the size includes the NULL) that indicates the device class of the device whose configuration is specified in DeviceConfig. Valid device class strings are the same as those specified for the lineGetID function.
dwDeviceConfigSize
dwDeviceConfigOffset
The number of bytes and offset from the beginning of LINECALLPARAMS of the opaque configuration data structure pointed to by dwDevConfigOffset. This value is returned in the dwStringSize member in the VARSTRING structure returned by lineGetDevConfig. If the size is zero, the default device configuration is used. This allows the application to set the device configuration before the call is initiated.
dwCallDataSize
dwCallDataOffset
The size, in bytes, and offset from the beginning of LINECALLPARAMS of the application-settable call data to be initially attached to the call.
dwNoAnswerTimeout
The number of seconds, after the completion of dialing, that the call should be allowed to wait in the PROCEEDING or RINGBACK states, before it is automatically abandoned by the service provider with a LINECALLSTATE_DISCONNECTED and LINEDISCONNECTMODE_NOANSWER. A value of 0 indicates that the application does not desire automatic call abandonment.
dwCallingPartyIDSize
dwCallingPartyIDOffset
The size, in bytes, and offset from the beginning of LINECALLPARAMS of a null-terminated string (the size includes the NULL) that specifies the identity of the party placing the call. If the content of the identifier is acceptable and a path is available, the service provider passes the identifier along to the called party to indicate the identity of the calling party.
dwAddressType
The address type used for the call. This member of the structure is available only if the negotiated TAPI version is 3.0 or higher.

Remarks

Device-specific extensions should use the DevSpecific (dwDevSpecificSize and dwDevSpecificOffset) variably sized area of this data structure.

This structure is used as a parameter to lineMakeCall when setting up a call. Its fields allow the application to specify the quality of service requested from the network as well as a variety of ISDN call-setup parameters. If no LINECALLPARAMS structure is supplied to lineMakeCall, a default POTS voice-grade call is requested with the default values listed above.

Note  The fields DialParams through dwDevSpecificOffset are ignored when an lpCallParams parameter is specified with the lineOpen function.

The members dwPredictiveAutoTransferStates through dwCallingPartyIDOffset are available only to applications that open the line device with an API version of 2.0 or later.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later.
  Version: Requires TAPI 1.4 or later.
  Header: Declared in Tapi.h.

See Also

lineBlindTransfer, LINEDEVCAPS, LINEDIALPARAMS, lineGetDevConfig, lineGetID, lineMakeCall, TSPI_lineMakeCall, lineOpen, lineTranslateAddress, LINETRANSLATEOUTPUT, VARSTRING