LINEADDRESSCAPS structure (tapi.h)

The LINEADDRESSCAPS structure describes the capabilities of a specified address. The lineGetAddressCaps function and the TSPI_lineGetAddressCaps function return the LINEADDRESSCAPS structure.

Syntax

typedef struct lineaddresscaps_tag {
  DWORD dwTotalSize;
  DWORD dwNeededSize;
  DWORD dwUsedSize;
  DWORD dwLineDeviceID;
  DWORD dwAddressSize;
  DWORD dwAddressOffset;
  DWORD dwDevSpecificSize;
  DWORD dwDevSpecificOffset;
  DWORD dwAddressSharing;
  DWORD dwAddressStates;
  DWORD dwCallInfoStates;
  DWORD dwCallerIDFlags;
  DWORD dwCalledIDFlags;
  DWORD dwConnectedIDFlags;
  DWORD dwRedirectionIDFlags;
  DWORD dwRedirectingIDFlags;
  DWORD dwCallStates;
  DWORD dwDialToneModes;
  DWORD dwBusyModes;
  DWORD dwSpecialInfo;
  DWORD dwDisconnectModes;
  DWORD dwMaxNumActiveCalls;
  DWORD dwMaxNumOnHoldCalls;
  DWORD dwMaxNumOnHoldPendingCalls;
  DWORD dwMaxNumConference;
  DWORD dwMaxNumTransConf;
  DWORD dwAddrCapFlags;
  DWORD dwCallFeatures;
  DWORD dwRemoveFromConfCaps;
  DWORD dwRemoveFromConfState;
  DWORD dwTransferModes;
  DWORD dwParkModes;
  DWORD dwForwardModes;
  DWORD dwMaxForwardEntries;
  DWORD dwMaxSpecificEntries;
  DWORD dwMinFwdNumRings;
  DWORD dwMaxFwdNumRings;
  DWORD dwMaxCallCompletions;
  DWORD dwCallCompletionConds;
  DWORD dwCallCompletionModes;
  DWORD dwNumCompletionMessages;
  DWORD dwCompletionMsgTextEntrySize;
  DWORD dwCompletionMsgTextSize;
  DWORD dwCompletionMsgTextOffset;
  DWORD dwAddressFeatures;
  DWORD dwPredictiveAutoTransferStates;
  DWORD dwNumCallTreatments;
  DWORD dwCallTreatmentListSize;
  DWORD dwCallTreatmentListOffset;
  DWORD dwDeviceClassesSize;
  DWORD dwDeviceClassesOffset;
  DWORD dwMaxCallDataSize;
  DWORD dwCallFeatures2;
  DWORD dwMaxNoAnswerTimeout;
  DWORD dwConnectedModes;
  DWORD dwOfferingModes;
  DWORD dwAvailableMediaModes;
} LINEADDRESSCAPS, *LPLINEADDRESSCAPS;

Members

dwTotalSize

Total size allocated to this data structure, in bytes.

dwNeededSize

Size for this data structure that is needed to hold all the returned information, in bytes.

dwUsedSize

Size of the portion of this data structure that contains useful information, in bytes.

dwLineDeviceID

Device identifier of the line device with which this address is associated.

dwAddressSize

Size of the address field, in bytes.

dwAddressOffset

Offset from the beginning of the structure to the variably sized address field. The size of the field is specified by dwAddressSize.

dwDevSpecificSize

Size of the device-specific field, in bytes.

dwDevSpecificOffset

Offset from the beginning of the structure to the variably sized device-specific field. The size of the field is specified by dwDevSpecificSize.

dwAddressSharing

Sharing mode of the address. This member can be one of the LINEADDRESSSHARING_ Constants.

dwAddressStates

Address states changes for which the application may get notified in the LINE_ADDRESSSTATE message. This member uses one or more of the LINEADDRESSSTATE_ constants.

dwCallInfoStates

Call information elements that are meaningful for all calls on this address. An application may get notified about changes in some of these states in LINE_CALLINFO messages. This member uses one or more of the LINECALLINFOSTATE_ constants.

dwCallerIDFlags

Party identifier information types that can be provided for calls on this address. The caller is the originator of the session. One or more of the LINECALLPARTYID_ constants.

dwCalledIDFlags

Party identifier information types that can be provided for calls on this address. Here, "called" refers to the original destination. One or more of the LINECALLPARTYID_ constants.

dwConnectedIDFlags

Party identifier information types that can be provided for calls on this address. One or more of the LINECALLPARTYID_ constants.

dwRedirectionIDFlags

Party identifier information types that can be provided for calls on this address. Here, "redirection" is the new destination. One or more of the LINECALLPARTYID_ constants.

dwRedirectingIDFlags

Party identifier information types that can be provided for calls on this address. Here, "redirecting" is the address which invoked redirection. One or more of the LINECALLPARTYID_ constants.

dwCallStates

Call states that can be reported for calls on this address. This member uses one or more of the LINECALLSTATE_ constants.

dwDialToneModes

Dial tone modes that can be reported for calls made on this address. This member is meaningful only if the dialtone call state can be reported. This member uses one or more of the LINEDIALTONEMODE_ constants.

dwBusyModes

Busy modes that can be reported for calls made on this address. This member is meaningful only if the busy call state can be reported. This member uses one or more of the LINEBUSYMODE_ constants.

dwSpecialInfo

Special information types that can be reported for calls made on this address. This member is meaningful only if the specialInfo call state can be reported. This member uses one or more of the LINESPECIALINFO_ constants.

dwDisconnectModes

Disconnect modes that can be reported for calls made on this address. This member is meaningful only if the disconnected call state can be reported. This member uses one or more of the LINEDISCONNECTMODE_ constants.

dwMaxNumActiveCalls

Maximum number of active call appearances that the address can handle. This number does not include calls on hold or calls on hold pending transfer or conference.

dwMaxNumOnHoldCalls

Maximum number of call appearances at the address that can be on hold.

dwMaxNumOnHoldPendingCalls

Maximum number of call appearances at the address that can be on hold pending transfer or conference.

dwMaxNumConference

Maximum number of parties that can join a single conference call on this address.

dwMaxNumTransConf

Number of parties (including "self") that can be added in a conference call that is initiated as a generic consultation call using lineSetupTransfer.

dwAddrCapFlags

Packed bit flags that describe a variety of address capabilities. This member uses one or more of the LINEADDRCAPFLAGS_ constants.

dwCallFeatures

Switching capabilities or features available for all calls on this address using the LINECALLFEATURE_ Constants. This member represents the call-related features that may possibly be available on an address (static availability as opposed to dynamic availability). Invoking a supported feature requires the call to be in the proper state and the underlying line device to be opened in a compatible mode. A zero in a bit position indicates that the corresponding feature is never available. A one indicates that the corresponding feature may be available if the application has the right privileges to the call and the call is in the appropriate state for the operation to be meaningful. This member allows an application to discover which call features can be (and which can never be) supported by the address.

dwRemoveFromConfCaps

Address's capabilities for removing calls from a conference call. This member uses one of the LINEREMOVEFROMCONF_ constants.

dwRemoveFromConfState

Uses the LINECALLSTATE_ constants to specify the state of the call after it has been removed from a conference call.

dwTransferModes

Address's capabilities for resolving transfer requests. This member uses one of the LINETRANSFERMODE_ constants.

dwParkModes

Different call park modes available at this address. This member uses one of the LINEPARKMODE_ constants.

dwForwardModes

Different modes of forwarding available for this address. This member uses the LINEFORWARDMODE_ constants.

dwMaxForwardEntries

Maximum number of entries that can be passed to lineForward in the lpForwardList parameter.

dwMaxSpecificEntries

Maximum number of entries in the lpForwardList parameter passed to lineForward that can contain forwarding instructions based on a specific caller ID (selective call forwarding). This member is zero if selective call forwarding is not supported.

dwMinFwdNumRings

Minimum number of rings that can be set to determine when a call is officially considered "no answer."

dwMaxFwdNumRings

Maximum number of rings that can be set to determine when a call is officially considered "no answer." If this number of rings cannot be set, then dwMinFwdNumRings and dwMaxNumRings are equal.

dwMaxCallCompletions

Maximum number of concurrent call completion requests that can be outstanding on this line device. Zero implies that call completion is not available.

dwCallCompletionConds

Different call conditions under which call completion can be requested. This member uses one or more of the LINECALLCOMPLCOND_ constants.

dwCallCompletionModes

Way in which the call can be completed. This member uses one of the LINECALLCOMPLMODE_ constants.

dwNumCompletionMessages

Number of call completion messages that can be selected from when using the LINECALLCOMPLMODE_MESSAGE option. Individual messages are identified by values in the range zero through one less than dwNumCompletionMessages.

dwCompletionMsgTextEntrySize

Size of each of the call completion text descriptions specified by dwCompletionMsgTextSize and dwCompletionMsgTextOffset, in bytes.

dwCompletionMsgTextSize

Size of the call completion text, in bytes.

dwCompletionMsgTextOffset

Offset from the beginning of this data structure to the variably sized field containing descriptive text about each of the call completion messages. Each message is dwCompletionMsgTextEntrySize bytes long. The string format of these textual descriptions is indicated by dwStringFormat in the line's device capabilities. The size of the field is specified by dwCompletionMsgTextSize.

dwAddressFeatures

Features available for this address using the LINEADDRFEATURE_ Constants. Invoking a supported feature requires the address to be in the proper state and the underlying line device to be opened in a compatible mode. A zero in a bit position indicates that the corresponding feature is never available. A one indicates that the corresponding feature may be available if the address is in the appropriate state for the operation to be meaningful. This member allows an application to discover which address features can be (and which can never be) supported by the address.

dwPredictiveAutoTransferStates

Call state or states upon which a call made by a predictive dialer can be set to automatically transfer the call to another address; one or more of the LINECALLSTATE_ Constants. The value 0 indicates automatic transfer based on call state is unavailable.

dwNumCallTreatments

Number of entries in the array of LINECALLTREATMENTENTRY structures delimited by dwCallTreatmentListSize and dwCallTreatmentListOffset.

dwCallTreatmentListSize

Size of the call treatment array, in bytes.

dwCallTreatmentListOffset

Offset from the beginning of the structure to an array of LINECALLTREATMENTENTRY structures the specify the call treatments supported on the address (that can be selected using lineSetCallTreatment). The value is dwNumCallTreatments times SIZEOF(LINECALLTREATMENTENTRY). The size of the field is specified by dwCallTreatmentListSize.

dwDeviceClassesSize

Size of the list of supported device classes, in bytes.

dwDeviceClassesOffset

Offset from the beginning of the structure to a string consisting of the device class identifiers supported on this address for use with lineGetID. The elements are separated by null characters, and the last class identifier is followed by two null characters. The size of the field is specified by dwDeviceClassesSize.

dwMaxCallDataSize

Maximum number of bytes that an application can set in LINECALLINFO using lineSetCallData.

dwCallFeatures2

Additional switching capabilities or features available for all calls on this address using the LINECALLFEATURE2_ Constants. It is an extension of the dwCallFeatures member.

dwMaxNoAnswerTimeout

Maximum value in seconds that can be set in the dwNoAnswerTimeout member in LINECALLPARAMS when making a call. A value of 0 indicates that automatic abandonment of unanswered calls is not supported by the service provider, or that the timeout value is not adjustable by applications.

dwConnectedModes

LINECONNECTEDMODE_ values that can appear in the dwCallStateMode member of LINECALLSTATUS and in LINE_CALLSTATE messages for calls on this address.

dwOfferingModes

LINEOFFERINGMODE_ values that can appear in the dwCallStateMode member of LINECALLSTATUS and in LINE_CALLSTATE messages for calls on this address.

dwAvailableMediaModes

Media types (modes) that can be invoked on new calls created on this address, when the dwAddressFeatures member indicates that new calls are possible. If this member is zero, it indicates that the service provider either does not know or cannot indicate which media types are available, in which case any or all of the media types indicated in the dwMediaModes member in LINEDEVCAPS may be available.

Remarks

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

Older applications are compiled without this member in the LINEADDRESSCAPS structure, and using a SIZEOF(LINEADDRESSCAPS) smaller than the new size. The application passes in a dwAPIVersion parameter with the lineGetAddressCaps function, which can be used for guidance by TAPI in handling this situation. If the application passes in a dwTotalSize member less than the size of the fixed portion of the structure as defined in the dwAPIVersion member specified, LINEERR_STRUCTURETOOSMALL is returned. If sufficient memory has been allocated by the application, before calling TSPI_lineGetAddressCaps, TAPI sets the dwNeededSize and dwUsedSize members to the fixed size of the structure as it existed in the specified API version.

New service providers (that support the new API version) must examine the API version passed in. If the API version is less than the highest version supported by the provider, the service provider must not fill in fields not supported in older API versions, as these would fall in the variable portion of the older structure.

New applications must be cognizant of the API version negotiated, and not examine the contents of fields in the fixed portion beyond the original end of the fixed portion of the structure for the negotiated API version.

The members dwPredictiveAutoTransferStates through dwAvailableMediaModes are available only to applications that request an API version of 2.0 or later when calling lineGetAddressCaps.

Requirements

Requirement Value
Header tapi.h

See also

LINEADDRESSSTATUS

LINECALLINFO

LINECALLPARAMS

LINECALLSTATUS

LINECALLTREATMENTENTRY

LINEDEVCAPS

LINEDIALPARAMS

LINE_ADDRESSSTATE

LINE_CALLINFO

LINE_CALLSTATE

LINE_LINEDEVSTATE

TSPI_lineGetAddressCaps

lineCompleteCall

lineForward

lineGenerateDigits

lineGetAddressCaps

lineGetID

lineSetCallData

lineSetCallTreatment