Different line devices can have different capabilities and so can their addresses. Additionally, switching features and capabilities can be different for different addresses. An application calls the lineGetAddressCaps function to determine the telephony capabilities of each address and then receives this information in a data structure of the type LINEADDRESSCAPS. In a similar way, an application can call lineGetDevCaps for a line device to determine the number of addresses assigned to the line, as well as other information.
TAPI's device-query capability and status and event reporting mechanisms give an application the information it needs to manage the different kinds of bridged-address arrangements. For example, the application can determine whether a bridged station has answered a call by tracking the status changes and call-state event changes on the address. (For more information about call states, see Call States and Events.)
Normally, addresses on a line device are identified by their address identifiers. However, TAPI lets applications that make outgoing calls use alternate address types for the originating address, such as dialable format (see Address Formats), or naming mechanisms specific to a given service provider. This can be accomplished through API extensions that are based on switch-assigned station identifiers. A useful function for this purpose is lineGetAddressID, which retrieves the identifier of an address specified in an alternate format.