stringtranslate.com

Interfaz de programación de aplicaciones de telefonía

La Interfaz de programación de aplicaciones de telefonía ( TAPI ) es una API de Microsoft Windows que proporciona integración de telefonía informática y permite que las PC que ejecutan Microsoft Windows utilicen servicios telefónicos . Hay diferentes versiones de TAPI disponibles en diferentes versiones de Windows. TAPI permite que las aplicaciones controlen las funciones de telefonía entre una computadora y una red telefónica para llamadas de datos, fax y voz. Incluye funciones básicas, como marcar, responder y colgar una llamada. También admite funciones complementarias, como retención, transferencia, conferencia y estacionamiento de llamadas que se encuentran en PBX , ISDN y otros sistemas telefónicos.

TAPI se utiliza principalmente para controlar módems o, más recientemente, para controlar los teléfonos de los sistemas telefónicos empresariales (PBX). Al controlar un teléfono de PBX , el controlador lo proporciona el fabricante del sistema telefónico. Algunos fabricantes proporcionan controladores que permiten el control de varios teléfonos. Esto se denomina tradicionalmente "control de terceros". Otros fabricantes proporcionan controladores que permiten el control de un solo teléfono. Esto se denomina "control de primera parte". Los controladores de terceros están diseñados para permitir que las aplicaciones vean o controlen varias extensiones al mismo tiempo. Algunos sistemas telefónicos solo permiten una conexión de terceros a la vez. Los controladores de primera parte están diseñados para permitir que las aplicaciones supervisen o controlen una extensión a la vez. Los sistemas telefónicos naturalmente permiten muchas de estas conexiones simultáneamente. Las conexiones de módem son por naturaleza de primera parte.

TAPI también se puede utilizar para controlar dispositivos de telefonía habilitados para voz, incluidos módems de voz y hardware dedicado como tarjetas Dialogic .

Historia

TAPI se introdujo en 1993 como resultado del desarrollo conjunto de Microsoft e Intel . La primera versión de TAPI disponible públicamente fue la versión 1.3, que se publicó como un parche sobre Microsoft Windows 3.1. Los controladores de la versión 1.3 eran solo de 16 bits. La versión 1.3 ya no recibe soporte, aunque algunos CD de la biblioteca de desarrollo de MSDN aún contienen los archivos y los parches.

Con Microsoft Windows 95 , TAPI se integró en el sistema operativo. La primera versión de Windows 95 fue TAPI 1.4. TAPI 1.4 tenía soporte para aplicaciones de 32 bits.

El estándar TAPI admite conexiones desde computadoras individuales y conexiones LAN que atienden a cualquier número de computadoras.

TAPI 2.0 se introdujo con Windows NT 4.0. La versión 2.0 fue la primera versión para la plataforma Windows NT. Supuso un avance significativo al admitir funciones específicas de ACD y PBX .

En 1997, Microsoft lanzó la versión 2.1 de TAPI. Esta versión de TAPI estaba disponible como actualización descargable y fue la primera versión compatible con las plataformas Microsoft Windows 95 y Windows NT/2000.

TAPI 3.0 se lanzó en 1999 junto con Windows 2000. Esta versión permite la telefonía IP ( VoIP ) al proporcionar métodos simples y genéricos para realizar conexiones entre dos (usando H.323 ) o más (usando multidifusión IP ) computadoras y ahora también ofrece la capacidad de acceder a cualquier flujo de medios (controlador MSP) involucrado en la conexión.

Windows XP incluía tanto TAPI 3.1 como TAPI 2.2. TAPI 3.1 es compatible con el modelo de objetos componentes de Microsoft y proporciona un conjunto de objetos COM a los programadores de aplicaciones. Esta versión utiliza terminales de archivos que permiten a las aplicaciones grabar datos de transmisión en un archivo y reproducir estos datos grabados en una transmisión. También se incluyó un TSP ( proveedor de servicios de telefonía ) de teléfono USB que permite a una aplicación controlar un teléfono USB y usarlo como punto final de transmisión. TAPI 3.0 o TAPI 3.1 no están disponibles en sistemas operativos anteriores a Windows 2000 y Windows XP respectivamente.

La interfaz de programación de aplicaciones de servidor de telefonía ( TSAPI ) es un estándar similar desarrollado por Novell para servidores NetWare .

Formato de dirección telefónica

TAPI utiliza el formato de dirección canónica de Microsoft para números de teléfono [1] [2] para realizar llamadas telefónicas. Es un derivado de la notación internacional E.123 .

La dirección canónica es una cadena de texto con el siguiente formato: +Country␣(AreaCode)␣ SubscriberNumber | Subaddress ^ Name CRLF. El código de área, la subdirección y el nombre son opcionales; este último puede incluir el número de extensión para marcación directa entrante y el nombre de la persona que llama , tal como se utiliza en los protocolos de telecomunicaciones ISDN / E1 / T1 .

Las reglas de marcación se utilizan para transformar el número de teléfono canónico en una secuencia de llamada que se pueda marcar para el módem , según la ubicación del usuario. Las reglas de marcación incluyen la marcación de longitud variable para el código de área, el acceso a troncales y los prefijos de acceso internacional, así como el acceso a la oficina central y los números de tarjetas de llamada o de tarjeta de crédito . [1] [2]

La secuencia de llamada puede contener números marcables, como dígitos 0-9y tonos DTMFABCD*# , caracteres de formato ␣ . -y caracteres de control ! P T , W @ $ ? ;que corresponden al comando de marcación del conjunto de comandos AT de Hayes . Se definen los siguientes caracteres de control: [1]

! - hookflash, es decir medio segundo colgado seguido de medio segundo descolgado ;
P - modo de marcación por pulsos ;
T - modo de marcación por tonos ;
, - pausa de marcación (duración especificada por el dispositivo);
W - esperar el tono de marcado ;
@ - esperar la "respuesta silenciosa", es decir, el tono de devolución de llamada seguido de varios segundos de silencio;
$ - esperar una señal de facturación, como el tono de solicitud de tarjeta de crédito;
? - indica que se le debe preguntar al usuario antes de continuar (genera un error de aplicación ya que la API no tiene medios para implementar un mensaje al usuario);
; - el número no está completo y se finalizará más tarde (solo válido en un número marcable).

Comparación entre TAPI 2.x y TAPI 3.x

Es un error común pensar que TAPI 3.0 (o TAPI 3.1 ) reemplaza a TAPI 2.x.

TAPI 2.x y versiones anteriores se escribieron en C ; la API utiliza punteros a estructuras. En consecuencia, es fácil acceder a TAPI 2.x desde aplicaciones C o C++ , pero puede resultar complicado utilizarlo desde muchos otros lenguajes de programación .

TAPI 3.x se diseñó con una interfaz de modelo de objetos componentes (COM). Esto se hizo con la intención de que fuera accesible para aplicaciones de nivel superior, como las desarrolladas en VB u otros entornos que brindan un acceso fácil a COM pero no manejan punteros de estilo C.

TAPI 3.x tiene un conjunto de funciones ligeramente diferente al de TAPI 2.x. La incorporación del control de medios integrado fue la incorporación más significativa. Sin embargo, TAPI 3.x no incluye todas las funciones que sí incluye TAPI 2.x, como la compatibilidad con la clase Phone.

Un problema muy notable con TAPI 3.x es la falta de soporte para código administrado ( entorno .NET ). Como se documenta en el artículo 841712 de Microsoft KB, Microsoft actualmente no tiene planes de soportar TAPI 3.x directamente desde los lenguajes de programación .NET. Sin embargo, Mark Smith ha proporcionado una biblioteca C++ administrada llamada ITAPI3 [3] y un contenedor 2.x para .NET. [4] Otros desarrolladores proporcionan bibliotecas para trabajar indirectamente con PBX habilitados para TAPI. [5]

Una razón que a menudo se pasa por alto por la que un desarrollador de aplicaciones podría elegir entre TAPI 2.x y TAPI 3.x debería ser la recomendación de los proveedores de hardware. Aunque TAPI proporciona un modelo abstracto de líneas telefónicas, las aplicaciones de telefonía siguen estando muy afectadas por el comportamiento específico del hardware subyacente. La resolución de problemas de comportamiento suele requerir la colaboración de los proveedores de software y hardware. Debido a que existe una relación casi 1:1 entre la interfaz del proveedor de servicios TAPI (TSP) y la interfaz TAPI 2.x, la colaboración suele ser más sencilla si la aplicación está diseñada utilizando TAPI 2.x. La experiencia con TAPI 3.x varía significativamente entre los proveedores de hardware.

Hardware compatible con TAPI

En Windows , la compatibilidad con TAPI era casi universal en hardware de telefonía , como módems de voz (tanto internos como externos) y placas de expansión de computadoras, como tarjetas de telefonía Dialogic . La única excepción notable que nunca admitió TAPI de forma nativa fue Avaya Communication Manager, que dependía únicamente de la interfaz TSAPI para la conectividad. [6]

Muchos sistemas PBX proporcionan interfaces de módem compatibles con TAPI. Entre las soluciones PBX compatibles con TAPI se incluyen Aastra (400/800), Aastra (MX-ONE), Alcatel (OXO/OXE), Avaya (BCM, IP Office), Cisco (Call Manager), Ericsson-LG (eMG80, iPECS, ipLDK), NEC-Philips (iS3000, IPC100/500), NEC (SL1000, SV8100/9100), Nitsuko (DXE600/328), Panasonic (KX-TDA/TDE/NCP, KX-NS1000), Samsung (OfficeServ), Unify (3000/4000, Openscape Office), ShoreTel y ZyXEL (X6004/X2002).

A menudo hay controladores de terceros disponibles para los sistemas telefónicos que no tienen controladores creados por los fabricantes.

Véase también

Referencias

  1. ^ abc "MSDN: Aplicaciones TAPI - Control de dispositivos - Dirección canónica".
  2. ^ ab "Microsoft Technet: Reglas de marcado y formato de dirección canónica".
  3. ^ "ITAPI3 - Contenedor TAPI 3.0 .NET administrado". GitHub . 15 de marzo de 2021.
  4. ^ "ATAPI.NET - Biblioteca administrada para el desarrollo de TAPI con .NET". GitHub . 12 de noviembre de 2021.
  5. ^ "Siete pecadores".
  6. ^ "Referencia del programador".

Enlaces externos