Telefonprogramapplikationsgrænseflade - Telephony Application Programming Interface

Den Telephony Application Programming Interface ( TAPI ) er en Microsoft Windows- API , som giver computer telefoni integration og gør det muligt for pc'er , der kører Microsoft Windows til at bruge telefon -tjenester. Der findes forskellige versioner af TAPI på forskellige versioner af Windows. TAPI giver applikationer mulighed for at styre telefonifunktioner mellem en computer og et telefonnetværk til data, fax og taleopkald. Det indeholder grundlæggende funktioner, såsom opkald, besvarelse og afbrydelse af et opkald. Det understøtter også supplerende funktioner, såsom tilbageholdelse, overførsel, konference og opkaldspark, der findes i PBX , ISDN og andre telefonsystemer.

TAPI bruges primært til at styre enten modemer eller, for nylig, til at styre telefonsystemer til forretningstelefoner (PBX). Ved styring af et PBX -håndsæt leveres driveren af ​​producenten af ​​telefonsystemet. Nogle producenter leverer drivere, der tillader styring af flere håndsæt. Dette kaldes traditionelt "tredjepartskontrol". Andre producenter leverer drivere, der tillader styring af et enkelt håndsæt. Dette kaldes "førsteparts kontrol". Tredjepartsdrivere er designet til at give applikationer mulighed for at se og/eller styre flere udvidelser på samme tid. Nogle telefonsystemer tillader kun en tredjepartsforbindelse ad gangen. Førstepartsdrivere er designet til at give applikationer mulighed for at overvåge og/eller styre en udvidelse ad gangen. Telefonsystemer tillader naturligvis mange af disse forbindelser samtidigt. Modemforbindelser er af natur førstepart.

TAPI kan også bruges til at styre stemmeaktiverede telefonienheder, herunder stemmemodemer og dedikeret hardware såsom Dialogic- kort.

Historie

TAPI blev introduceret i 1993 som et resultat af fælles udvikling af Microsoft og Intel . Den første offentligt tilgængelige version af TAPI var version 1.3, som blev udgivet som en patch oven på Microsoft Windows 3.1. Drivere til version 1.3 var kun 16-bit. Version 1.3 understøttes ikke længere, selvom nogle MSDN -udviklingsbibliotek -cd'er stadig indeholder filerne og patches.

Med Microsoft Windows 95 blev TAPI integreret i operativsystemet. Den første version på Windows 95 var TAPI 1.4. TAPI 1.4 havde understøttelse af 32-bit applikationer.

TAPI -standarden understøtter både forbindelser fra individuelle computere og LAN -forbindelser, der betjener et vilkårligt antal computere.

TAPI 2.0 blev introduceret med Windows NT 4.0. Version 2.0 var den første version på Windows NT -platformen. Det gjorde et betydeligt skridt fremad ved at understøtte ACD- og PBX -specifik funktionalitet.

I 1997 udgav Microsoft TAPI version 2.1. Denne version af TAPI var tilgængelig som en downloadbar opdatering og var den første version, der blev understøttet på både Microsoft Windows 95 og Windows NT/2000 platforme.

TAPI 3.0 blev udgivet i 1999 sammen med Windows 2000 . Denne version muliggør IP -telefoni ( VoIP ) ved at tilvejebringe enkle og generiske metoder til at oprette forbindelser mellem to (ved hjælp af H.323 ) eller flere (ved hjælp af IP Multicast ) computere og tilbyder nu også mulighed for at få adgang til enhver mediestream (MSP -driver), der er involveret i forbindelsen.

Windows XP inkluderede både TAPI 3.1 og TAPI 2.2. TAPI 3.1 understøtter Microsoft Component Object Model og leverer et sæt COM -objekter til programprogrammerere. Denne version bruger filterminaler, som giver applikationer mulighed for at optage streamingdata til en fil og afspille disse indspillede data tilbage til en stream. En USB -telefon -TSP ( telefonitjenesteudbyder ) var også inkluderet, hvilket gør det muligt for en applikation at styre en USB -telefon og bruge den som et streaming -endepunkt. TAPI 3.0 eller TAPI 3.1 er ikke tilgængelige på operativsystemer tidligere end henholdsvis Windows 2000 og Windows XP.

Den Telephony Server Application Programming Interface ( TSAPI ) er en lignende standard udviklet af Novell for NetWare servere.

Telefonadresseformat

TAPI bruger Microsofts kanoniske adresseformat til telefonnumre til at foretage telefonopkald. Det er et derivat af E.123 international notation.

Den kanoniske adresse er en tekststreng med følgende format: +Country␣(AreaCode)␣ SubscriberNumber | Subaddress ^ Name CRLF. Områdekode, underadresse og navn er valgfrit; sidstnævnte kan bære lokalnummer til direkte indgående opkald og opkaldsnavn , som det bruges af ISDN / E1 / T1 telekommunikationsprotokoller.

Opkaldsregler bruges til at omdanne det kanoniske telefonnummer til en opkaldssekvens for modemet afhængigt af brugerens placering. Opkaldsreglerne omfatter opkald i variabel længde til områdenummer, bagagerumsadgang og internationale adgangsprefixer samt adgang til centralkontoret og telefonkort- / kreditkortnumre .

Den kaldende sekvens kan indeholde dialable numre såsom cifre 0-9og DTMF -toner ABCD*#, formateringstegn ␣ . -og kontrol karakterer ! P T , W @ $ ? ;, som svarer til den Dial kommandoen over Hayes kommandosættet . Følgende kontroltegn er defineret:

! -hookflash, dvs. et halvt sekund på krogen efterfulgt af et halvt sekund af-hook ;
P - pulsopkaldstilstand ;
T - toneopkaldstilstand ;
, - pause opkald (varighed angivet af enheden);
W - vent på klartone ;
@ - vent på "stille svar", dvs. ringetonen efterfulgt af flere sekunders stilhed;
$ - vent på et faktureringssignal, f.eks. kreditkort prompt tone;
? - angiver, at brugeren skal blive bedt om det, før han fortsætter (resulterer i en applikationsfejl, da API'en ikke har mulighed for at implementere en brugerprompt);
; - nummeret er ikke komplet og afsluttes senere (kun gyldigt i et nummer, der kan ringes op).

TAPI 2.x vs TAPI 3.x

Det er en almindelig misforståelse, at TAPI 3.0 (eller TAPI 3.1 ) erstatter TAPI 2.x .

TAPI 2.x og tidligere versioner blev skrevet i C ; API'en bruger pointers til strukturer. Derfor er TAPI 2.x let tilgængelig fra C- eller C ++ - applikationer, men det kan være akavet at bruge fra mange andre programmeringssprog .

TAPI 3.x blev designet med en Component Object Model (COM) interface. Dette blev gjort med den hensigt at gøre det tilgængeligt for applikationer på højere niveau, f.eks. Udviklet i VB eller andre miljøer, der giver let adgang til COM, men ikke beskæftiger sig med tips i C-stil.

TAPI 3.x har et lidt andet sæt funktionalitet end TAPI 2.x. Tilføjelsen af ​​integreret mediekontrol var den mest betydningsfulde tilføjelse. Men TAPI 3.x inkluderer ikke al funktionalitet, som TAPI 2.x gør, ligesom support til telefonklassen.

Et meget bemærkelsesværdigt problem med TAPI 3.x er manglen på understøttelse af administreret kode ( .NET -miljø). Som dokumenteret i Microsoft KB -artikel 841712 har Microsoft i øjeblikket ingen planer om at understøtte TAPI 3.x direkte fra .NET -programmeringssprog. Mark Smith har dog leveret et administreret C ++ - bibliotek kaldet ITAPI3 og en 2.x indpakning til .NET. Andre udviklere giver biblioteker til at arbejde indirekte med TAPI -aktiverede PBX'er.

En ofte overset grund til, at en applikationsudvikler kan vælge mellem TAPI 2.x og TAPI 3.x, bør være hardware -leverandørernes anbefaling. Selvom TAPI leverer en abstrakt model af telefonlinjer, er telefoniprogrammer stadig stærkt påvirket af den underliggende hardwares specifikke adfærd. Fejlfinding af adfærdsproblemer kræver normalt, at både software- og hardwareleverandører samarbejder. Fordi der er næsten et 1: 1 forhold mellem TAPI Service Provider (TSP) interface og TAPI 2.x interface, er samarbejde ofte lettere, hvis applikationen er designet ved hjælp af TAPI 2.x. Erfaringerne med TAPI 3.x varierer betydeligt mellem hardwareleverandører.

TAPI -kompatibel hardware

I Windows var TAPI -understøttelse næsten universel inden for telefonihardware, f.eks. Stemmemodemer (både interne og eksterne) og computerudvidelseskort, f.eks. Dialogic -telefonkort . Den eneste bemærkelsesværdige undtagelse, der aldrig oprindeligt understøttede TAPI, var Avaya Communication Manager, der udelukkende stolede på TSAPI -grænsefladen til forbindelse.

Mange PBX- systemer leverer TAPI-kompatible modemgrænseflader. TAPI-kompatible PBX-løsninger omfatter 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 , Wildix og ZyXEL (X6004/X2002).

Tredjepartsdrivere er ofte tilgængelige til telefonsystemer, der ikke har drivere fremstillet af producenterne.

Se også

Referencer

eksterne links