Rozhraní pro programování telefonních aplikací - Telephony Application Programming Interface
Telephony Application Programming Interface ( TAPI ) je Microsoft Windows API , která poskytuje integraci počítačové telefonie a umožňuje počítačů se systémem Microsoft Windows používat telefonní služby. Pro různé verze systému Windows jsou k dispozici různé verze TAPI. TAPI umožňuje aplikacím ovládat telefonní funkce mezi počítačem a telefonní sítí pro datová, faxová a hlasová volání. Obsahuje základní funkce, jako je vytáčení, přijímání hovorů a zavěšení hovoru. Podporuje také doplňkové funkce, jako je přidržení, přenos, konference a park volání, který najdete v pobočkových ústřednách , ISDN a dalších telefonních systémech.
TAPI se používá především k ovládání buď modemů, nebo v poslední době k ovládání telefonů podnikového telefonního systému (PBX). Při ovládání sluchátka PBX je ovladač poskytován výrobcem telefonního systému. Někteří výrobci poskytují ovladače, které umožňují ovládání více sluchátek. Tomu se tradičně říká „kontrola třetích stran“. Jiní výrobci poskytují ovladače, které umožňují ovládání jednoho sluchátka. Říká se tomu „kontrola první strany“. Ovladače jiných výrobců jsou navrženy tak, aby umožňovaly aplikacím zobrazit a/nebo ovládat více rozšíření současně. Některé telefonní systémy současně umožňují pouze jedno připojení třetí strany. Ovladače první strany jsou navrženy tak, aby umožňovaly aplikacím sledovat a/nebo ovládat jedno rozšíření najednou. Telefonní systémy přirozeně umožňují mnoho z těchto připojení současně. Připojení modemu je od přírody první stranou.
TAPI lze také použít k ovládání hlasových telefonních zařízení, včetně hlasových modemů a vyhrazeného hardwaru, jako jsou karty Dialogic .
Dějiny
TAPI byl představen v roce 1993 jako výsledek společného vývoje společností Microsoft a Intel . První veřejně dostupná verze TAPI byla verze 1.3, která byla vydána jako oprava nad Microsoft Windows 3.1. Ovladače verze 1.3 byly pouze 16bitové. Verze 1.3 již není podporována, přestože některé CD vývojové knihovny MSDN stále obsahují soubory a opravy.
V systému Microsoft Windows 95 bylo TAPI integrováno do operačního systému. První verze v systému Windows 95 byla TAPI 1.4. TAPI 1.4 měl podporu pro 32bitové aplikace.
Standard TAPI podporuje jak připojení z jednotlivých počítačů, tak připojení LAN obsluhující libovolný počet počítačů.
TAPI 2.0 byl představen s Windows NT 4.0. Verze 2.0 byla první verzí na platformě Windows NT. Díky podpoře funkcí specifických pro ACD a PBX to byl významný krok vpřed .
V roce 1997 společnost Microsoft vydala TAPI verze 2.1. Tato verze TAPI byla k dispozici jako aktualizace ke stažení a byla první verzí podporovanou na platformách Microsoft Windows 95 i Windows NT/2000.
TAPI 3.0 byl vydán v roce 1999 společně s Windows 2000 . Tato verze umožňuje IP telefonii ( VoIP ) poskytováním jednoduchých a obecných metod pro vytváření spojení mezi dvěma (pomocí H.323 ) nebo více (pomocí IP Multicast ) počítačů a nyní také nabízí možnost přístupu k jakémukoli proudu médií (ovladač MSP) zapojenému do spojení.
Systém Windows XP obsahoval jak TAPI 3.1, tak TAPI 2.2. TAPI 3.1 podporuje Microsoft Component Object Model a poskytuje sadu objektů COM aplikačním programátorům. Tato verze používá terminály souborů, které umožňují aplikacím zaznamenávat streamovaná data do souboru a přehrávat tato zaznamenaná data zpět do streamu. Součástí byl také USB Phone TSP ( poskytovatel telefonních služeb ), který umožňuje aplikaci ovládat telefon USB a používat jej jako koncový bod streamování. TAPI 3.0 nebo TAPI 3.1 nejsou k dispozici v operačních systémech starších než Windows 2000 a Windows XP.
Server Application Programming Interface Telephony ( TSAPI ) je podobný standard vyvinutý společností Novell pro NetWare servery.
Formát telefonní adresy
TAPI používá k telefonování telefonní formát společnosti Microsoft pro telefonní čísla. Jedná se o derivát mezinárodního zápisu E.123 .
Kanonická adresa je textový řetězec v následujícím formátu: +Country␣(AreaCode)␣ SubscriberNumber | Subaddress ^ Name CRLF. Předvolba, podadresa a jméno jsou volitelné; druhý z nich může nést číslo pobočky pro přímé vytáčení dovnitř a jméno volajícího , jak ho používají telekomunikační protokoly ISDN / E1 / T1 .
Pravidla vytáčení se používají k přeměně kanonického telefonního čísla na vytáčecí sekvenci volání modemu v závislosti na umístění uživatele. Pravidla vytáčení zahrnují vytáčení s proměnnou délkou pro předčíslí, přístup na hlavní linku a mezinárodní přístupové předvolby, jakož i přístup do ústředí a telefonní čísla / kreditní karty .
Sekvence volání může obsahovat vytáčitelná čísla, jako jsou číslice 0-9a tóny DTMFABCD*# , formátovací znaky ␣ . -a řídicí znaky, ! P T , W @ $ ? ;které odpovídají příkazu Dial sady příkazů Hayes AT . Jsou definovány následující řídicí znaky:
- ! -hookflash, tj. půl sekundy na zavěšení a následně půl sekundy na vyvěšení ;
- P - režim pulzní volby ;
- T - tónové volby režimu;
- , - pozastavení volby (doba určená zařízením);
- W - počkejte na oznamovací tón ;
- @ - počkejte na „tichou odpověď“, tj. vyzváněcí tón, po kterém bude následovat několik sekund ticha;
- $ - počkejte na fakturační signál, například vyzváněcí tón kreditní karty;
- ? - označuje, že uživatel má být před pokračováním vyzván (výsledkem je chyba aplikace, protože API nemá prostředky k implementaci výzvy uživatele);
- ; - číslo není úplné a bude dokončeno později (platí pouze pro vytáčitelné číslo).
TAPI 2.x vs TAPI 3.x
To je obyčejný misconception že TAPI 3.0 (nebo TAPI 3.1 ) nahradí TAPI 2.x .
TAPI 2.xa dřívější verze byly napsány v jazyce C ; API používá odkazy na struktury. V důsledku toho je TAPI 2.x snadno přístupný z aplikací C nebo C ++ , ale jeho použití v mnoha jiných programovacích jazycích může být nepříjemné .
TAPI 3.x byl navržen s rozhraním COM ( Component Object Model ). To bylo provedeno se záměrem zpřístupnit ho aplikacím vyšší úrovně, jako jsou vyvíjené ve VB nebo v jiných prostředích, která poskytují snadný přístup k COM, ale nezabývají se ukazateli ve stylu C.
TAPI 3.x má mírně odlišnou sadu funkcí než TAPI 2.x. Nejvýznamnějším přírůstkem bylo přidání integrovaného ovládání médií. Ale TAPI 3.x neobsahuje všechny funkce, které TAPI 2.x dělá, jako podpora třídy Phone.
Jeden velmi pozoruhodný problém s TAPI 3.x je nedostatek podpory pro spravovaný kód ( prostředí .NET ). Jak je uvedeno v článku 841712 článku Microsoft KB , společnost Microsoft aktuálně neplánuje podporovat TAPI 3.x přímo z programovacích jazyků .NET. Mark Smith však poskytl spravovanou knihovnu C ++ s názvem ITAPI3 a obálku 2.x pro .NET. Jiní vývojáři poskytují knihovny pro nepřímou spolupráci s pobočkovými ústřednami s podporou TAPI.
Jedním z často přehlížených důvodů, proč by si vývojář aplikace mohl vybrat mezi TAPI 2.xa TAPI 3.x, by mělo být doporučení výrobců hardwaru. Přestože TAPI poskytuje abstraktní model telefonních linek, telefonní aplikace jsou stále silně ovlivněny specifickým chováním základního hardwaru. Odstraňování problémů s chováním obvykle vyžaduje ke spolupráci dodavatele softwaru i hardwaru. Protože mezi rozhraním TAPI Service Provider (TSP) a rozhraním TAPI 2.x existuje téměř vztah 1: 1, je spolupráce často snazší, pokud je aplikace navržena pomocí TAPI 2.x. Zkušenosti s TAPI 3.x se mezi dodavateli hardwaru výrazně liší.
Hardware kompatibilní s TAPI
V systému Windows byla podpora TAPI téměř univerzální v telefonním hardwaru, jako jsou hlasové modemy (interní i externí), a v počítačových rozšiřujících deskách, jako jsou telefonní karty Dialogic . Jedinou výraznou výjimkou, která nikdy nativně nepodporovala TAPI, byl Avaya Communication Manager, který se pro připojení spoléhal pouze na rozhraní TSAPI .
Mnoho systémů pobočkových ústředen poskytuje modemová rozhraní kompatibilní s TAPI. Mezi řešení PBX kompatibilní s TAPI patří 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 a ZyXEL (X6004/X2002).
Ovladače třetích stran jsou často k dispozici pro telefonní systémy, které nemají ovladače od výrobců.
Viz také
- TSAPI
- JTAPI (Java Telephony API)
- Microsoft NetMeeting
- Formát telefonního čísla Microsoft
- Poskytovatel telefonních služeb
- H.323