Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os serviços de linha estendida (ou serviços de linha específicos do dispositivo) incluem todas as extensões definidas pelo provedor de serviços para a API. A API define um mecanismo que permite que os fornecedores de provedores de serviços estendam a TAPI usando extensões específicas do dispositivo. A API define apenas o mecanismo de extensão e, ao fazer isso, fornece acesso a extensões específicas do dispositivo, mas a API não define seu comportamento. O comportamento é completamente definido pelo provedor de serviços.
TAPI consiste em definições constantes escalares e de sinalizador de bits, estruturas de dados, funções e mensagens. São definidos procedimentos que permitem que um fornecedor estenda a maioria deles da seguinte maneira.
Para constantes de dados escalares extensíveis, um fornecedor de provedor de serviços pode definir novos valores em um intervalo especificado. Como a maioria das constantes de dados são DWORDs, normalmente o intervalo 0x00000000 a 0x7FFFFFFF é reservado para extensões futuras comuns, enquanto 0x80000000 a 0xFFFFFFFF estão disponíveis para extensões específicas do fornecedor. A suposição é que um fornecedor definiria valores que são extensões naturais dos tipos de dados definidos pela API.
Para constantes de dados de sinalizador de bits extensíveis, um fornecedor de provedor de serviços pode definir novos valores para bits especificados. Como a maioria das constantes de sinalizador de bits são DWORDs, normalmente um número específico dos bits inferiores são reservados para extensões comuns, enquanto os bits superiores restantes estão disponíveis para extensões específicas do fornecedor. Os sinalizadores de bits comuns são atribuídos a partir do bit zero para cima; As extensões específicas do fornecedor devem ser atribuídas do bit 31 para baixo. Isso fornece a máxima flexibilidade na atribuição de posições de bits a extensões comuns versus extensões específicas do fornecedor. Espera-se que um fornecedor defina novos valores que são extensões naturais dos sinalizadores de bits definidos pela API.
As estruturas de dados extensíveis têm um campo de tamanho variável que é reservado para uso específico do dispositivo. Sendo de tamanho variável, o prestador de serviços decide a quantidade de informação e a interpretação. Espera-se que um fornecedor que define um campo específico do dispositivo faça essas extensões naturais da estrutura de dados original definida pela API.
Duas funções, lineDevSpecific e lineDevSpecificFeature, e duas mensagens relacionadas, LINE_DEVSPECIFIC e LINE_DEVSPECIFICFEATURE, fornecem um mecanismo de extensão específico do fornecedor. A função lineDevSpecific e a mensagem de LINE_DEVSPECIFIC associada permitem que um aplicativo acesse recursos de linha, endereço ou chamada específicos do dispositivo que não estão disponíveis com os serviços de telefonia básica ou suplementar. O perfil de parâmetro da função lineDevSpecific é genérico na medida em que pouca interpretação dos parâmetros é feita pela API. A interpretação dos parâmetros é definida pelo prestador de serviços e deve ser entendida por uma aplicação que os utilize. Os parâmetros são simplesmente passados através da TAPI do aplicativo para o provedor de serviços. Um aplicativo que depende de extensões específicas do dispositivo geralmente não funcionará com outros provedores de serviços; no entanto, os aplicativos escritos para os serviços de telefonia básica e suplementar funcionarão com o provedor de serviços estendido.
Por conveniência, uma função de fuga mais especializada também é fornecida. É semelhante a lineDevSpecific, mas coloca interpretação em alguns dos parâmetros. Esta função mais especializada é lineDevSpecificFeature, uma função de escape específica do dispositivo para permitir o envio de recursos do switch para o switch. A mensagem LINE_DEVSPECIFICFEATURE é a mensagem específica do dispositivo enviada para o aplicativo como uma indicação dos recursos enviados para o switch. Esta função e sua mensagem associada permitem que um aplicativo emule pressionamentos de botão no feature phone da linha. Como os feature phones e os significados de seus botões são específicos do fornecedor, a invocação de recursos usando lineDevSpecificFeature também é específica do fornecedor.
Como mencionado anteriormente, não existe um registo central para os identificadores dos fabricantes. Em vez disso, um gerador de identificador exclusivo (EXTIDGEN) é disponibilizado.