LINECALLINFO (Compact 2013)

3/26/2014

This structure contains call data. This data remains fixed during the call and is obtained with the lineGetCallInfo function. If a part of the structure does change, then a LINE_CALLINFO message is sent to the application indicating which data item has changed. Dynamically changing call data, such as call progress status, is available in the LINECALLSTATUS structure, returned with the lineGetCallStatus function.

Syntax

typedef struct linecallinfo_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  HLINE hLine;
  DWORD dwLineDeviceID;
  DWORD dwAddressID;
  DWORD dwBearerMode;
  DWORD dwRate;
  DWORD dwMediaMode;
  DWORD dwAppSpecific;
  DWORD dwCallID;
  DWORD dwRelatedCallID;
  DWORD dwCallParamFlags;
  DWORD dwCallStates;
  DWORD dwMonitorDigitModes;
  DWORD dwMonitorMediaModes;
  LINEDIALPARAMS DialParams;
  DWORD dwOrigin;
  DWORD dwReason;
  DWORD dwCompletionID;
  DWORD dwNumOwners;
  DWORD dwNumMonitors;
  DWORD dwCountryCode;
  DWORD dwTrunk;
  DWORD dwCallerIDFlags;
  DWORD dwCallerIDSize;
  DWORD dwCallerIDOffset;
  DWORD dwCallerIDNameSize;
  DWORD dwCallerIDNameOffset;
  DWORD dwCalledIDFlags;
  DWORD dwCalledIDSize;
  DWORD dwCalledIDOffset;
  DWORD dwCalledIDNameSize;
  DWORD dwCalledIDNameOffset;
  DWORD dwConnectedIDFlags;
  DWORD dwConnectedIDSize;
  DWORD dwConnectedIDOffset;
  DWORD dwConnectedIDNameSize;
  DWORD dwConnectedIDNameOffset;
  DWORD dwRedirectionIDFlags;
  DWORD dwRedirectionIDSize;
  DWORD dwRedirectionIDOffset;
  DWORD dwRedirectionIDNameSize;
  DWORD dwRedirectionIDNameOffset;
  DWORD dwRedirectingIDFlags;
  DWORD dwRedirectingIDSize;
  DWORD dwRedirectingIDOffset;
  DWORD dwRedirectingIDNameSize;
  DWORD dwRedirectingIDNameOffset;
  DWORD dwAppNameSize;
  DWORD dwAppNameOffset;
  DWORD dwDisplayableAddressSize; 
  DWORD dwDisplayableAddressOffset; 
  DWORD dwCalledPartySize;
  DWORD dwCalledPartyOffset;
  DWORD dwCommentSize;
  DWORD dwCommentOffset;
  DWORD dwDisplaySize;
  DWORD dwDisplayOffset;
  DWORD dwUserUserInfoSize;
  DWORD dwUserUserInfoOffset;
  DWORD dwHighLevelCompSize;
  DWORD dwHighLevelCompOffset;
  DWORD dwLowLevelCompSize;
  DWORD dwLowLevelCompOffset;
  DWORD dwChargingInfoSize;
  DWORD dwChargingInfoOffset;
  DWORD dwTerminalModesSize;
  DWORD dwTerminalModesOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
} LINECALLINFO, FAR* LPLINECALLINFO; 

Members

  • dwTotalSize
    Total size, in bytes, allocated to this data structure.
  • dwNeededSize
    Size, in bytes, for this data structure needed to contain all the returned data.
  • dwUsedSize
    Size, in bytes, of the portion of this data structure that contains useful data.
  • hLine
    Handle for the line device with which this call is associated.
  • dwLineDeviceID
    Device identifier of the line device with which this call is associated.
  • dwAddressID
    Address identifier of the address on the line on which this call exists.
  • dwBearerMode
    Value that specifies the current bearer mode of the call. It uses LINEBEARERMODE.
  • dwRate
    Rate of the call data stream, in bits per second (bps).
  • dwMediaMode
    Value that specifies the media mode of the data stream currently on the call. This is the media mode determined by the owner of the call, which is not necessarily the same as that of the last LINE_MONITORMEDIA message. This member is not directly affected by the LINE_MONITORMEDIA messages. It uses LINEMEDIAMODE.
  • dwAppSpecific
    Uninterpreted by the API implementation and service provider.
  • dwCallID
    In some telephony environments, the switch, or service provider can assign a unique identifier to each call. This enables the call to be tracked across transfers, forwards, or other events. The domain of these call identifiers and their scope is service provider-defined. The dwCallID member makes this unique identifier available to the applications.
  • dwRelatedCallID
    Telephony environments that use the call identifier often may find it necessary to relate one call to another. The dwRelatedCallID member can be used by the service provider for this purpose.
  • dwCallParamFlags
    Specifies a collection of call-related parameters when the call is outgoing. These are the same call parameters specified in the lineMakeCall function. This member uses LINECALLPARAMFLAGS.
  • dwCallStates
    Value that specifies the call states of type LINECALLSTATE_ for which the application can be notified on this call. The dwCallStates member is constant in LINECALLINFO and does not change depending on the call state. It uses LINECALLSTATE.
  • dwMonitorDigitModes
    Value that specifies the various digit modes using LINEDIGITMODE.
  • dwMonitorMediaModes
    Specifies the various media modes for which monitoring is currently enabled using LINEMEDIAMODE.
  • DialParams
    The dialing parameters currently in effect on the call, of type LINEDIALPARAMS. Unless these parameters are set by either lineMakeCall or the lineSetCallParams function, their values are the same as the defaults used in the LINEDEVCAPS structure.
  • dwOrigin
    Value that identifies where the call originated. It uses LINECALLORIGIN.
  • dwReason
    Value that specifies the reason why the call occurred. It uses LINECALLREASON.
  • dwCompletionID
    Value that specifies the completion identifier for the incoming call if it is the result of a completion request that terminates. This identifier is meaningful only if dwReason is LINECALLREASON_CALLCOMPLETION.
  • dwNumOwners
    Number of application modules with different call handles with owner privilege for the call.
  • dwNumMonitors
    Number of application modules with different call handles with monitor privilege for the call.
  • dwCountryCode
    Country/region code of the destination party. Zero if unknown.
  • dwTrunk
    Number of the trunk over which the call is routed. This member is used for both incoming and outgoing calls. The dwTrunk member should be set to 0xFFFFFFFF if it is unknown.
  • dwCallerIDFlags
    Value that determines the validity and content of the caller party identifier data. The caller is the originator of the call. It uses LINECALLPARTYID.
  • dwCallerIDSize
    Size, in bytes, of the field that contains the data identifying the caller.
  • dwCallerIDOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwCallerIDNameSize
    Size, in bytes, of the field that contains the data identifying the name of the calling party.
  • dwCallerIDNameOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwCalledIDFlags
    Value that determines the validity and content of the called-party identifier data. The called party corresponds to the originally addressed party. It uses LINECALLPARTYID.
  • dwCalledIDSize
    Size, in bytes, of the field that contains the called-party identifier number data.
  • dwCalledIDOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwCalledIDNameSize
    Size, in bytes, of the field that contains the called-party identifier name data.
  • dwCalledIDNameOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwConnectedIDFlags
    Value that determines the validity and content of the connected party identifier data. The connected party is the party that was actually connected to. This may be different from the called-party identifier if the call was diverted. It uses LINECALLPARTYID.
  • dwConnectedIDSize
    Size, in bytes, of the field that contains the connected party identifier number data
  • dwConnectedIDOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwConnectedIDNameSize
    Size, in bytes, of the field that contains the connected party identifier name data.
  • dwConnectedIDNameOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwRedirectionIDFlags
    Value that determines the validity and content of the redirection party identifier data. The redirection party identifies to the calling user the number toward which diversion was invoked. It uses LINECALLPARTYID.
  • dwRedirectionIDSize
    Size, in bytes, of the field that contains the redirection party identifier number data.
  • dwRedirectionIDOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwRedirectionIDNameSize
    Size, in bytes, of the field that contains the redirection party identifier name data.
  • dwRedirectionIDNameOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwRedirectingIDFlags
    Value that determines the validity and content of the redirecting party identifier data. The party that received the call identifies the new destination number or whatever data is detected to the call originator. It uses the LINECALLPARTYID. .
  • dwRedirectingIDSize
    Size, in bytes, of the field that contains the redirecting party identifier number data
  • dwRedirectingIDOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwRedirectingIDNameSize
    Size, in bytes, of the field that contains the redirecting party identifier name data
  • dwRedirectingIDNameOffset
    Offset, in bytes, from the beginning of this data structure.
  • dwAppNameSize
    Size, in bytes, of the field that holds the application name of the application that first originated, accepted, or answered the call.
  • dwAppNameOffset
    Offset, in bytes, from the beginning of this data structure. This is the name that an application can specify in the lineInitializeEx function. If the application specifies no such name, then the application's module file name is used instead.
  • dwDisplayableAddressSize
    Specify the displayable string is used for logging purposes. The data is obtained from LINECALLPARAMS for functions that initiate calls. The lineTranslateAddress function returns appropriate data to be placed in this member in the dwDisplayableAddressSize member of the LINETRANSLATEOUTPUT structure.
  • dwDisplayableAddressOffset
    Specify the displayable string is used for logging purposes. The data is obtained from LINECALLPARAMS for functions that initiate calls. The lineTranslateAddress function returns appropriate data to be placed in this member in the dwDisplayableAddressSize and dwDisplayableAddressOffset members of the LINETRANSLATEOUTPUT structure.
  • dwCalledPartySize
    Size, in bytes, of the field that holds a user-friendly description of the called party
  • dwCalledPartyOffset
    Offset, in bytes, from the beginning of this data structure. This data can be specified with lineMakeCall and can be optionally specified in the lpCallParams parameter whenever a new call is established. It is useful for call logging purposes.
  • dwCommentSize
    Size, in bytes, of the field that holds a comment about the call provided by the application that originated the call using lineMakeCall.
  • dwCommentOffset
    Offset, in bytes, from the beginning of this data structure. This data can be optionally specified in the lpCallParams parameter whenever a new call is established.
  • dwDisplaySize
    Size, in bytes, of the field that holds raw display data.
  • dwDisplayOffset
    Offset, in bytes, from the beginning of this data structure. Depending on the telephony environment, a service provider may extract functional data from this member pair for formatting and presentation most appropriate for this telephony configuration.
  • dwUserUserInfoSize
    Size, in bytes, of the field that holds user-user data.
  • dwUserUserInfoOffset
    Offset, in bytes, from the beginning of this data structure The protocol discriminator field for the user-user data, if used, appears as the first byte of the data pointed to by dwUserUserInfoOffset, and is accounted for in dwUserUserInfoSize.
  • dwHighLevelCompSize
    Size, in bytes, of the field that holds high-level compatibility data.
  • dwHighLevelCompOffset
    Offset, in bytes, from the beginning of this data structure. The format of this data is specified by other standards (ISDN Q.931).
  • dwLowLevelCompSize
    Size, in bytes, of the field that holds low-level compatibility data.
  • dwLowLevelCompOffset
    Offset, in bytes, from the beginning of this data structure. The format of this data is specified by other standards (ISDN Q.931).
  • dwChargingInfoSize
    Size, in bytes, of the field that holds charging data.
  • dwChargingInfoOffset
    Offset, in bytes, from the beginning of this data structure. The format of this data is specified by other standards (ISDN Q.931).
  • dwTerminalModesSize
    Size, in bytes, of the variably sized device field that contains an array with DWORD-sized entries.
  • dwTerminalModesOffset
    Offset, in bytes, from the beginning of this data structure. The set of LINETERMMODE is indexed by terminal identifiers, in the range from zero to one less than dwNumTerminals. Each entry in the array specifies the current terminal modes for the corresponding terminal set with the lineSetTerminal function for this call's media stream. The following values are predefined.
  • dwDevSpecificSize
    Size, in bytes, of the field that holds device-specific data.
  • dwDevSpecificOffset
    Offset, in bytes, from the beginning of this data structure.

Remarks

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

The LINECALLINFO data structure contains relatively fixed data about a call. This structure is returned with lineGetCallInfo. When data items in this data structure have changed, a LINE_CALLINFO message is sent to the application. A parameter to this message is the data item or field that changed.

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

Note

The preferred format for specification of the contents of the dwCallID member and the other five similar members (dwCallerIDFlag, dwCallerIDSize, dwCallerIDOffset, dwCallerIDNameSize, and dwCallerIDNameOffset) is the TAPI canonical number format. For example, a ICLID of 4258828080 received from the switch should be converted to "+1 (425) 8828080" before being placed in the LINECALLINFO structure. This standardized format facilitates searching of databases and callback functions implemented in applications.

Requirements

Header

tapi.h

See Also

Reference

TAPI Structures
lineGenerateDigits
lineGetCallInfo
lineGetCallStatus
lineInitializeEx
lineMakeCall
lineSetCallParams
lineSetTerminal
lineTranslateAddress
LINECALLPARAMS
LINEDEVCAPS
LINETRANSLATEOUTPUT
LINE_CALLINFO (TAPI)