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.
Com a função lineSetTerminal, o aplicativo pode controlar ou suprimir o roteamento de eventos de baixo nível especificados (trocados entre o switch e a estação) para um dispositivo. Com lineSetTerminal, o aplicativo especifica o dispositivo terminal para o qual esses eventos (como eventos de fluxo de mídia de linha, endereço ou 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, display, campainha, 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 fazê-lo. Em geral, um transdutor significa o mesmo que o que é referido como um dispositivo de de gancho em TAPI, algo que tem um microfone e um alto-falante. Os eventos de toque do interruptor para o telefone podem ser mapeados em 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 de telefone (que parece se comportar como um conjunto de telefone normal). Finalmente, pressionamentos de botão em um dispositivo de telefone podem ou não ser passados para a linha. Em qualquer caso, esse roteamento de sinais de baixo nível da linha não afeta a operação da parte da 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ível (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 fone de ouvido como o dispositivo de E/S atual. Uma chamada recebida envia uma mensagem LINE_CALLSTATE e uma mensagem LINE_LINEDEVSTATE com o toque indicação. 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 sinal sonoro do sistema no fone de ouvido.
O usuário decide atender a chamada. Como o dispositivo de E/S atual do usuário é o fone de ouvido, o aplicativo de telefonia invoca lineSetTerminal na chamada recebida para rotear a mídia da chamada para o fone de ouvido e atender a chamada. O aplicativo também pode invocar lineSetTerminal para rotear a lâmpada e exibir eventos de informações para o conjunto de telefone para que ele se comporte como de costume.
Como 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 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 aparelho telefônico para conduzir a conversa. Em seguida, o aplicativo invoca lineSetTerminal para rotear os dados de voz na chamada para o conjunto telefônico.