2.4.1.3 Addresses

Each line device is assigned one or more addresses. Think of an address as corresponding to a telephone directory number assigned to the line device. The SPI presents a model where address assignments to line devices are static and will not change until reconfigured at the switch or network. TSPI_lineGetDevCaps for a line device returns the number of addresses assigned to the line. Individual addresses are assigned Address IDs, which are numbers in the range zero to the number of addresses on the line minus one. An address ID is only meaningful in the context of a given line device, so an address is named as the tuple consisting of line and address ID. As described later, a line can be named by its device ID or handle.

The network or switch can configure address-to-line assignments in several ways. Usually, one of the addresses assigned to a line will be that line's primary address. A line's primary address is able to uniquely identify the line device, although the address may also be assigned to other lines as a non-primary address. Address configurations recognized by the Telephony SPI include:

TSPI_lineGetAddressCaps

Returns the telephony capabilities of an address as a data structure of type LINEADDRESSCAPS.

The SPI's device query capability, status and event reporting mechanisms provide the TAPI DLL with the necessary information required to manage the different bridged address arrangements. For example, the TAPI DLL will be able to determine if a call has been answered by a bridged station by tracking the status changes and call state event changes on the address (see further).

The TAPI DLL is notified about changes in the status of an address via the LINE_ADDRESSSTATE callback message. The TAPI DLL can control the address status items for which it wants to be notified via the function TSPI_lineSetStatusMessages. It can determine the complete status of an address device by calling TSPI_lineGetAddressStatus.

TSPI_lineGetAddressStatus

Returns current status of a specified address via a structure of type LINEADDRESSSTATUS.

LINE_ADDRESSSTATE

Message sent to the application to notify it about changes in the address status.

Addresses on a line device are normally identified via their address ID. When making calls, the SPI allows alternate address selections for the originating address, such as its address in dialable format or even service provider-specific naming mechanisms (for example by using SPI extensions based on switch-assigned station IDs). The function TSPI_lineGetAddressID provides for the mapping of the alternate address format back to the address ID used by other operations in the API.

TSPI_lineGetAddressID

Retrieves the address ID of an address specified using an alternate format.