Linha
O conceito de linha evoluiu ao longo do tempo e foi parcialmente substituído pelos conceitos de endereço e terminal. O TAPI 3 não usa diretamente o conceito de linha, mas o TAPI 2 continua a incorporar esse paradigma.
Um dispositivo de linha é um dispositivo físico, como uma placa de fax, um modem ou uma placa ISDN conectada a uma rede. O dispositivo pode não estar fisicamente conectado ao computador no qual o aplicativo TAPI está sendo executado, como um pool de modems em um servidor. Os dispositivos de linha oferecem suporte a recursos de comunicação, permitindo que os aplicativos enviem ou recebam informações de uma rede. Um dispositivo de linha contém um conjunto de um ou mais canais homogêneos que podem ser usados para estabelecer chamadas.
Nos aplicativos TAPI 2.x, um dispositivo de linha é a representação lógica de um dispositivo telefônico físico. Embora "linha" geralmente conote algo com dois pontos finais, é possível abstrair um dispositivo de linha para um único ponto porque o TAPI o vê apenas como um ponto de entrada para a linha que leva ao switch.
Embora as três linhas na ilustração anterior sejam compostas por hardware diferente e usadas para funções diferentes, elas são abstraídas para o mesmo tipo de dispositivo e regidas pelas mesmas regras. O telefone representa não um dispositivo telefônico, mas um dispositivo de linha usado para chamadas de voz. Ao usar esse dispositivo de linha para chamadas de entrada ou saída, o aplicativo também precisaria abrir e controlar uma instância da classe phone-device, que é descrita em detalhes nas seções posteriores.
A classe de dispositivo de linha é uma representação independente de um dispositivo de linha física, como um modem. Ele pode conter um ou mais canais de comunicação idênticos (usados para sinalização e/ou informações) entre o aplicativo e o switch ou rede. Como os canais pertencentes a uma única linha têm recursos idênticos, eles são intercambiáveis. Em muitos casos (como no POTS), um provedor de serviços modelará uma linha como tendo apenas um canal. Outras tecnologias, como ISDN, oferecem mais canais e o provedor de serviços deve tratá-las de acordo.
TAPI 2.x: os aplicativos descobrem recursos de linha usando a função lineGetDevCaps. A negociação de versão usando as funções lineNegotiateAPIVersionlineNegotiateExtVersion deve ter sido chamada anteriormente.
Aplicativos TAPI 3.x: dependem principalmente do conceito de endereço.