Modelo de Programação de Telefonia da Microsoft
O modelo de programação de telefonia da Microsoft abstrai o controle de comunicações do controle de dispositivo, liberando aplicativos de usuário final e fabricantes de dispositivos da necessidade de marchar em lockstep. Usando esse modelo, um aplicativo de usuário final ou servidor não requer informações detalhadas sobre o controle de dispositivo e o dispositivo não precisa ser adaptado ao aplicativo. Aplicativos e dispositivos podem passar por inovação e mudanças sem tornar uns aos outros inúteis para os clientes.
O diagrama a seguir ilustra como essa abstração é realizada.
Esses componentes podem ser exibidos como repositórios de conhecimento especializado. O aplicativo TAPI (Interface de Programação de Aplicativo de Telefonia) conhece as necessidades do usuário, a DLL tapi e o TAPISRV entendem a telefonia geral e os provedores de serviços (TSP e MSP) conhecem o controle detalhado do dispositivo. Gravadores de aplicativos e fabricantes de dispositivos exigem apenas conhecimento geral dos requisitos uns dos outros.
- Um aplicativo carrega a DLL tapi em seu espaço de processo e usa TAPI para comunicar as necessidades.
- O TAPI estabelece uma comunicação de link RPC com o servidor TAPI.
- Além disso, o TAPI 3.x cria um objeto MSP e se comunica com ele usando um conjunto definido de comandos, a MSPI (Interface do Provedor de Serviços de Mídia).
- Quando um aplicativo chama uma operação TAPI, a biblioteca de vínculo dinâmico TAPI valida e realiza marshaling dos parâmetros e encaminha as informações para TAPISRV.
- O TAPISRV rastreia os recursos de comunicação disponíveis para o computador local e as interfaces com os provedores de serviços de telefonia (TSPs) usando a TSPI (Interface do Provedor de Serviços de Telefonia).
- As comunicações entre um TSP e um MSP ocorrem usando uma conexão virtual que passa pela DLL tapi e TAPISRV.
- O par TSP/MSP fornece informações sobre o estado e as funcionalidades do dispositivo e implementa os comandos específicos necessários para uma resposta desejada.
O resultado do uso desse modelo de programação é que os aplicativos podem ignorar ou ajustar-se a alterações de dispositivo e novos dispositivos podem ser instantaneamente úteis em vez de aguardar alterações na base de código. A participação de mercado potencial é expandida para gravadores de aplicativos e fabricantes de dispositivos.
Os tópicos a seguir descrevem os componentes do Microsoft Telephony mais detalhadamente:
- Aplicativos TAPI
- TAPI DLL
- Servidor TAPI
- Provedores de Serviços
- Modelo síncrono/assíncrono
- Estruturas de dados TAPI
- Níveis de serviço tapi