Elementos do dispositivo de telefone
Um dispositivo de telefone é um dispositivo que dá suporte à classe de dispositivo de telefone e que inclui alguns ou todos os seguintes elementos:
Hookswitch/transducer: esse é um meio para entrada e saída de áudio. Um dispositivo de telefone pode ter vários transdutores, que podem ser ativados e desativados (retirados dohook ou colocados noook) no aplicativo ou no controle manual do usuário.
A telefonia identifica três tipos de dispositivos hookswitch comuns a muitos conjuntos de telefones:
Aparelho: a combinação tradicional de peças de boca e orelha que deve ser levantada manualmente de um berço e mantida contra a orelha do usuário.
Viva-voz: permite que o usuário realize chamadas de mãos livres. O viva-voz pode ser interno ou externo ao dispositivo de telefone. A parte do alto-falante de um viva-voz permite vários ouvintes.
Headset: permite que o usuário realize chamadas de mãos livres.Um hookswitch deve estar offhook para permitir que os dados de áudio sejam enviados para e/ou recebidos pelo transdutor correspondente.
Controle de Volume/Controle de Ganho/Mudo: cada dispositivo hookswitch é o emparelhamento de um alto-falante e um componente de microfone. A API fornece controle de volume e ativação de mudo de componentes do alto-falante e para obter controle ou ativação de mudo de componentes do microfone.
Toque: um meio para alertar os usuários, geralmente por meio de um sino. Um dispositivo de telefone pode ser capaz de tocar em uma variedade de modos ou padrões.
Exibição: um mecanismo para apresentar visualmente mensagens ao usuário. Uma tela de telefone é caracterizada pelo número de linhas e colunas.
Botões do telefone: uma matriz de botões. Sempre que o usuário pressiona um botão no conjunto de telefones, a API informa que o botão correspondente foi pressionado. Identificadores de lâmpada de botão identificam um par de botões e lâmpadas. É claro que é possível ter pares de lâmpadas de botão sem botão ou sem lâmpada. Identificadores de lâmpada de botão são valores inteiros que variam de 0 até o número máximo de lâmpadas de botão disponíveis no dispositivo de telefone, menos um. Cada botão pertence a uma classe de botão. As classes incluem botões de aparência de chamada, botões de recurso, botões de teclado e botões locais.
Lâmpadas: uma matriz de lâmpadas (como LEDs) individualmente controláveis da API. As lâmpadas podem ser acesas em modos diferentes variando a frequência ativada e desligada. O identificador de lâmpada de botão identifica a lâmpada.
Áreas de dados: áreas de memória no dispositivo de telefone em que o código de instrução ou os dados podem ser baixados para e/ou carregados. As informações baixadas afetariam o comportamento (ou, em outras palavras, programa) do dispositivo de telefone.
O TAPI permite que um aplicativo monitore e controle elementos do dispositivo de telefone. Os elementos mais úteis para um aplicativo são os dispositivos hookswitch. O conjunto de telefones pode atuar como um dispositivo de E/S de áudio (para o computador) com controle de volume, obter controle e ativar mudo, um toque (para alertar o usuário), áreas de dados (para programar o telefone) e talvez uma exibição, embora a tela do computador seja mais capaz. O gravador de aplicativos é desencorajado de controlar diretamente ou usar lâmpadas de telefone ou botões de telefone, pois os recursos de lâmpada e botão podem variar amplamente entre os conjuntos de telefones, e os aplicativos podem rapidamente se tornar adaptados a conjuntos de telefones específicos.
Não há um conjunto de serviços básico garantido com suporte por todos os dispositivos de telefone, como há para dispositivos de linha (os serviços básicos de telefonia). Portanto, antes que um aplicativo possa usar um dispositivo de telefone, o aplicativo deve primeiro determinar os recursos exatos do dispositivo de telefone. A funcionalidade de telefonia varia de acordo com a configuração (cliente versus cliente/servidor), o hardware telefônico e o software do provedor de serviços. Os aplicativos não devem fazer suposições sobre quais recursos de telefonia estão disponíveis. Um aplicativo determina os recursos do dispositivo de um dispositivo telefônico chamando a função phoneGetDevCaps . Os recursos de dispositivo de um telefone indicam quais desses elementos existem para cada dispositivo de telefone presente no sistema e quais são seus recursos. Embora fortemente orientada para conjuntos telefônicos da vida real, essa abstração também pode fornecer uma implementação significativa (ou subconjunto dela) para outros dispositivos. Veja como exemplo um headset separado conectado diretamente e controlável do computador e operado como um dispositivo de telefone. As alterações hookswitch podem ser disparadas pela detecção de energia de voz (offhook) ou um período de silêncio (onhook); O toque pode ser emulado pela geração de um sinal audível no fone de ouvido; uma exibição pode ser emulada por meio da conversão de texto em fala.
Um dispositivo de telefone não precisa ser realizado em hardware, mas pode ser emulado em software usando uma interface de comando gráfico controlada por mouse ou teclado e o alto-falante ou sistema de som do computador. Esse "telefone flexível" pode ser um aplicativo que usa TAPI. Ele também pode ser um provedor de serviços, que pode ser listado como um dispositivo de telefone disponível para outros aplicativos por meio da API e, como tal, recebe um identificador de dispositivo de telefone.
Dependendo do ambiente e da configuração, os conjuntos de telefones podem ser dispositivos compartilhados entre o aplicativo e a opção . Algum provisionamento secundário é feito na API em que a opção pode suspender temporariamente o controle da API de um dispositivo de telefone.