Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Com a função lineSetTerminal, o aplicativo pode controlar ou suprimir o roteamento de eventos de baixo nível especificados (trocados entre a opção e a estação) para um dispositivo. Com lineSetTerminal, o aplicativo especifica o dispositivo terminal para o qual esses eventos (como eventos de linha, endereço ou fluxo de mídia de chamada) são roteados.
O roteamento das diferentes classes de eventos pode ser controlado individualmente, permitindo que terminais separados sejam especificados para cada classe de evento. As classes de evento incluem lâmpadas, botões, exibição, ringer, hookswitch e fluxo de mídia.
Por exemplo, o fluxo de mídia de uma chamada (voz, por exemplo) pode ser enviado para qualquer dispositivo transdutor se o provedor de serviços e o hardware forem capazes de fazer isso. Em geral, um de transdutor significa o mesmo que é conhecido como um dispositivo hookswitch no TAPI, algo que tem um microfone e um alto-falante. Os eventos de toque do comutador para o telefone podem ser mapeados para um alerta visual na tela do computador ou podem ser roteados para um dispositivo telefônico. Eventos de lâmpada e eventos de exibição podem ser ignorados ou roteados para um dispositivo telefônico (que parece se comportar como um conjunto de telefone normal). Por fim, as teclas de botão em um dispositivo de telefone podem ou não ser passadas para a linha. De qualquer forma, esse roteamento de sinais de baixo nível da linha não afeta a operação da parte de linha do TAPI, que sempre mapeia eventos de baixo nível para seu equivalente funcional. Para determinar os terminais que um dispositivo de linha tem disponíveis (e seus recursos), consulte os recursos do dispositivo de linha com lineGetDevCaps.
Suponha inicialmente que o aplicativo suprimiu o roteamento de todos os eventos (com lineSetTerminal) e o usuário seleciona um headset como o dispositivo de E/S atual. Uma chamada de entrada envia uma mensagem de LINE_CALLSTATE e uma mensagem LINE_LINEDEVSTATE com a indicação de de toque. Como o roteamento de todos os eventos é suprimido, os eventos de toque não são roteados para o telefone, portanto, o toque é suprimido. Em vez disso, o aplicativo notifica o usuário com uma caixa de diálogo pop-up e um bipe do sistema no headset.
O usuário decide responder à chamada. Como o dispositivo de E/S atual do usuário é o headset, o aplicativo de telefonia invoca lineSetTerminal na chamada de entrada para rotear a mídia da chamada para o fone de ouvido e atender à chamada. O aplicativo também pode invocar lineSetTerminal para rotear eventos de lâmpada e informações de exibição para o conjunto de telefones para que ele se comporte como de costume.
Como um segundo exemplo, suponha que uma chamada de entrada esteja alertando no computador do usuário. Em vez de selecionar a opção de resposta com o mouse, o usuário decide apenas pegar o aparelho do telefone para atender a chamada. O status do offhook no telefone envia uma mensagem para o aplicativo. O aplicativo pode interpretar esse status como uma solicitação do usuário para selecionar o telefone para conduzir a conversa. Em seguida, o aplicativo invoca lineSetTerminal para rotear os dados de voz na chamada para o conjunto de telefones.