Articulo de referencia

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 a los PC con Mic...

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 a los PC con Microsoft Windows utilizar servicios telefónicos . Existen diferentes versiones de TAPI disponibles para distintas versiones de Windows. TAPI permite a las aplicaciones controlar las funciones de telefonía entre un ordenador y una red telefónica para llamadas de datos, fax y voz. Incluye funciones básicas como marcar, contestar y colgar llamadas. También admite funciones complementarias como retención, transferencia, conferencia y estacionamiento de llamadas, presentes en PBX , ISDN y otros sistemas telefónicos.

TAPI se utiliza principalmente para controlar módems o, más recientemente, teléfonos de sistemas telefónicos empresariales (PBX). Al controlar un teléfono PBX , el controlador lo proporciona el fabricante del sistema telefónico. Algunos fabricantes proporcionan controladores que permiten controlar varios teléfonos. Esto se conoce tradicionalmente como "control de terceros". Otros fabricantes proporcionan controladores que permiten controlar un solo teléfono. Esto se conoce como "control de primera parte". Los controladores de terceros están diseñados para permitir que las aplicaciones vean y/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 y/o controlen una extensión a la vez. Los sistemas telefónicos permiten naturalmente 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 con capacidad de voz, incluidos módems de voz y hardware específico como las tarjetas Dialogic .

Historia

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

Con Microsoft Windows 95 , TAPI se integró en el sistema operativo. La primera versión en Windows 95 fue TAPI 1.4. TAPI 1.4 era compatible con aplicaciones de 32 bits.

El estándar TAPI admite tanto conexiones desde ordenadores individuales como conexiones LAN que dan servicio a cualquier número de ordenadores.

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

En 1997, Microsoft lanzó TAPI versión 2.1. Esta versión de TAPI estaba disponible como una 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 habilita la telefonía IP ( VoIP ) al proporcionar métodos simples y genéricos para establecer conexiones entre dos (mediante H.323 ) o más (mediante multidifusión IP ) computadoras y ahora también ofrece la posibilidad de acceder a cualquier flujo multimedia (controlador MSP) involucrado en la conexión.

Windows XP incluía TAPI 3.1 y TAPI 2.2. TAPI 3.1 es compatible con el Modelo de Objetos Componentes de Microsoft ( COM) y proporciona un conjunto de objetos COM a los programadores de aplicaciones. Esta versión utiliza terminales de archivo que permiten a las aplicaciones grabar datos de transmisión en un archivo y reproducirlos posteriormente. También incluía un proveedor de servicios de telefonía USB (TSP ) que permite a una aplicación controlar un teléfono USB y utilizarlo como punto final de transmisión. TAPI 3.0 y 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 para servidores 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: . El código de área, la subdirección y el nombre son opcionales; este último puede contener el número de extensión para la marcación directa entrante y el nombre de la persona que llama , como se utiliza en los protocolos de telecomunicaciones ISDN / E1 / T1 .+Country(AreaCode) SubscriberNumber | Subaddress ^ Name CRLF

Las reglas de marcación se utilizan para transformar el número de teléfono canónico en una secuencia de llamada marcable para el módem , según la ubicación del usuario. Estas reglas incluyen marcación de longitud variable para prefijos de código de área, acceso a troncales y acceso internacional, así como acceso a centrales telefónicas y números de tarjetas de crédito / débito . [ 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 que corresponden al comando Dial del conjunto de comandos AT de Hayes . Se definen los siguientes caracteres de control: [ 1 ]! P T , W @ $ ? ;

! - hookflash, es decir, medio segundo enganchado seguido de medio segundo desenganchado ;
P - modo de marcación por pulsos ;
Modo de marcación por tonos T ;
, - pausar la marcación (duración especificada por el dispositivo);
W - esperar tono de marcado ;
@ - esperar una "respuesta silenciosa", es decir, el tono de llamada seguido de varios segundos de silencio;
$ - esperar una señal de facturación, como el tono de aviso de la tarjeta de crédito;
? - indica que se le debe solicitar al usuario que ingrese información antes de continuar (esto resulta en un error de la aplicación ya que la API no tiene medios para implementar una solicitud al usuario);
; - el número no está completo y se completará más tarde (solo válido en un número al que se pueda marcar).

TAPI 2.x frente a 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. Por consiguiente, TAPI 2.x es fácil de acceder desde aplicaciones C o C++ , pero puede resultar complicado de usar desde muchos otros lenguajes de programación . [ 3 ]

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 a aplicaciones de nivel superior, como las desarrolladas en VB u otros entornos que proporcionan un acceso sencillo a COM, pero que no manejan punteros al estilo de C.

TAPI 3.x presenta funcionalidades ligeramente diferentes a las de TAPI 2.x. La incorporación del control multimedia integrado fue la novedad más significativa. Sin embargo, TAPI 3.x no incluye todas las funcionalidades de TAPI 2.x, como la compatibilidad con la clase Phone.

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

Una razón que a menudo se pasa por alto para que un desarrollador de aplicaciones elija entre TAPI 2.x y TAPI 3.x es la recomendación del fabricante del hardware. Si bien TAPI proporciona un modelo abstracto de líneas telefónicas, las aplicaciones de telefonía siguen viéndose muy afectadas por el comportamiento específico del hardware subyacente. La resolución de problemas de comportamiento generalmente requiere la colaboración tanto del fabricante del software como del fabricante del hardware. Debido a la relación casi uno a uno 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 se diseña con TAPI 2.x. La experiencia con TAPI 3.x varía significativamente entre los fabricantes de hardware.

Hardware compatible con TAPI

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

Muchos sistemas PBX proporcionan interfaces de módem compatibles con TAPI. Las soluciones PBX compatibles con TAPI 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, existen controladores de terceros disponibles para los sistemas telefónicos que no cuentan con controladores fabricados por los propios fabricantes.

Véase también

Referencias

  1. 1 2 3 "MSDN: Aplicaciones TAPI - Control de dispositivos - Dirección canónica" . 7 de enero de 2021.
  2. 1 2 "Microsoft Technet: Reglas de marcación y formato de dirección canónica" . 2 de julio de 2012.
  3. Smith, Mark (24 de marzo de 2025), markjulmar/atapi.net , consultado el 24 de marzo de 2025
  4. "ITAPI3 - Envoltorio .NET para TAPI 3.0 administrado" . GitHub . 15 de marzo de 2021.
  5. "ATAPI.NET - Biblioteca administrada para el desarrollo de TAPI con .NET" . GitHub . 12 de noviembre de 2021.
  6. «Siptapi» . 14 de agosto de 2014.
  7. "Referencia del programador" .