Interfață de programare a aplicațiilor de telefonie - Telephony Application Programming Interface
Aplicațiilor de telefonie interfață de programare ( TAPI ) este un Microsoft Windows API , care oferă integrarea telefoniei calculator și permite PC - urile care rulează Microsoft Windows pentru a utiliza telefon servicii. Diferite versiuni de TAPI sunt disponibile pe diferite versiuni de Windows. TAPI permite aplicațiilor să controleze funcțiile de telefonie între un computer și o rețea telefonică pentru date, fax și apeluri vocale. Include funcții de bază, cum ar fi apelarea, răspunsul și închiderea unui apel. De asemenea, acceptă funcții suplimentare, cum ar fi reținerea, transferul, conferința și parcarea de apeluri găsite în PBX , ISDN și alte sisteme de telefonie.
TAPI este utilizat în principal pentru a controla fie modemurile, fie, mai recent, pentru a controla telefoane cu sistem de telefonie de afaceri (PBX). Când controlați un receptor PBX , șoferul este furnizat de producătorul sistemului telefonic. Unii producători oferă drivere care permit controlul mai multor telefoane. Acest lucru se numește în mod tradițional „control terț”. Alți producători oferă drivere care permit controlul unui singur receptor. Aceasta se numește „controlul primei părți”. Driverele terță parte sunt proiectate pentru a permite aplicațiilor să vadă și / sau să controleze mai multe extensii în același timp. Unele sisteme telefonice permit doar o conexiune terță parte la un moment dat. Driverele primare sunt concepute pentru a permite aplicațiilor să monitorizeze și / sau să controleze o extensie la un moment dat. Sistemele telefonice permit în mod natural multe dintre aceste conexiuni simultan. Conexiunile modemului sunt, prin natura lor, primare.
TAPI poate fi, de asemenea, utilizat pentru a controla dispozitive de telefonie cu voce, inclusiv modemuri vocale și hardware dedicat, cum ar fi cardurile Dialogic .
Istorie
TAPI a fost introdus în 1993 ca rezultat al dezvoltării comune de către Microsoft și Intel . Prima versiune publică a TAPI a fost versiunea 1.3, care a fost lansată ca un patch pe partea de sus a Microsoft Windows 3.1. Driverele versiunii 1.3 erau doar pe 16 biți. Versiunea 1.3 nu mai este acceptată, deși unele CD-uri ale bibliotecii de dezvoltare MSDN conțin în continuare fișierele și patch-urile.
Cu Microsoft Windows 95 , TAPI a fost integrat în sistemul de operare. Prima versiune pentru Windows 95 a fost TAPI 1.4. TAPI 1.4 avea suport pentru aplicații pe 32 de biți.
Standardul TAPI acceptă atât conexiuni de la calculatoare individuale, cât și conexiuni LAN care deservesc orice număr de computere.
TAPI 2.0 a fost introdus cu Windows NT 4.0. Versiunea 2.0 a fost prima versiune de pe platforma Windows NT. A făcut un pas semnificativ înainte prin susținerea funcționalității specifice ACD și PBX .
În 1997, Microsoft a lansat TAPI versiunea 2.1. Această versiune a TAPI a fost disponibilă ca o actualizare descărcabilă și a fost prima versiune care a fost acceptată atât pe platformele Microsoft Windows 95, cât și pe Windows NT / 2000.
TAPI 3.0 a fost lansat în 1999 împreună cu Windows 2000 . Această versiune permite telefonia IP ( VoIP ) oferind metode simple și generice pentru realizarea conexiunilor între două computere (folosind H.323 ) sau mai multe (folosind IP Multicast ) și oferă acum și posibilitatea de a accesa orice flux media (driver MSP) implicat în conexiunea.
Windows XP a inclus atât TAPI 3.1, cât și TAPI 2.2. TAPI 3.1 acceptă Microsoft Component Object Model și oferă un set de obiecte COM programatorilor de aplicații. Această versiune folosește Terminale de fișiere care permit aplicațiilor să înregistreze datele de streaming într-un fișier și să redea aceste date înregistrate înapoi într-un flux. A fost inclus și un telefon USB TSP ( furnizor de servicii de telefonie ) care permite unei aplicații să controleze un telefon USB și să-l folosească ca punct final de streaming. TAPI 3.0 sau TAPI 3.1 nu sunt disponibile pe sistemele de operare anterioare Windows 2000 și respectiv Windows XP.
Server Application Programming Interface Telefonie ( TSAPI ) este un standard similar dezvoltat de Novell pentru NetWare servere.
Format adresă telefonică
TAPI utilizează formatul de adresă canonică Microsoft pentru numerele de telefon pentru a efectua apeluri telefonice. Este un derivat al notației internaționale E.123 .
Adresa canonică este un șir de text cu următorul format: +Country␣(AreaCode)␣ SubscriberNumber | Subaddress ^ Name CRLF. Prefixul, subadresa și numele sunt opționale; acesta din urmă poate purta numărul de extensie pentru apelarea directă către interior și numele apelantului , așa cum este utilizat de protocoalele de telecomunicații ISDN / E1 / T1 .
Regulile de apelare sunt folosite pentru a transforma numărul de telefon canonic într-o secvență de apelare apelabilă pentru modem , în funcție de locația utilizatorului. Regulile de apelare includ apelarea cu lungime variabilă pentru prefixul, accesul portbagaj și prefixele de acces internațional, precum și accesul la biroul central și numerele cardului de apel / cardului de credit .
Secvența de apelare poate conține numere dialabile, cum ar fi cifre 0-9și tonuri DTMFABCD*# , caractere de formatare ␣ . -și caractere de control ! P T , W @ $ ? ;care corespund comenzii Dial din setul de comenzi Hayes AT . Sunt definite următoarele caractere de control:
- ! - hookflash, adică jumătate de secundă on-hook, urmată de jumătate de secundă off-hook ;
- P - modul de apelare prin puls ;
- Mod de apelare T - ton ;
- , - pauză apelare (durata specificată de dispozitiv);
- W - așteptați tonul de apelare ;
- @ - așteptați „răspunsul liniștit”, adică tonul de apel urmat de câteva secunde de tăcere;
- $ - așteptați un semnal de facturare, cum ar fi tonul prompt al cardului de credit;
- ? - indică faptul că utilizatorul trebuie solicitat înainte de a continua (rezultă o eroare a aplicației, deoarece API nu are mijloace pentru a implementa un prompt de utilizator);
- ; - numărul nu este complet și va fi terminat mai târziu (valabil numai într-un număr care poate fi apelat).
TAPI 2.x vs TAPI 3.x
Este o concepție greșită comună că TAPI 3.0 (sau TAPI 3.1 ) înlocuiește TAPI 2.x .
TAPI 2.x și versiunile anterioare au fost scrise în C ; API folosește indicatori pentru structuri. În consecință, TAPI 2.x este ușor de accesat din aplicațiile C sau C ++ , dar poate fi dificil de utilizat din multe alte limbaje de programare .
TAPI 3.x a fost proiectat cu o interfață Component Object Model (COM). Acest lucru a fost făcut cu intenția de a-l face accesibil aplicațiilor de nivel superior, cum ar fi cele dezvoltate în VB sau în alte medii care oferă acces ușor la COM, dar nu se ocupă de indicii în stil C.
TAPI 3.x are un set de funcționalitate ușor diferit de TAPI 2.x. Adăugarea controlului media integrat a fost cea mai semnificativă adăugire. Dar TAPI 3.x nu include toate funcționalitățile pe care le face TAPI 2.x, cum ar fi suportul pentru clasa Phone.
O problemă foarte notabilă cu TAPI 3.x este lipsa suportului pentru codul gestionat ( mediul .NET ). După cum este documentat în articolul 841712 al Microsoft KB , Microsoft nu are în prezent planuri să accepte TAPI 3.x direct din limbaje de programare .NET. Cu toate acestea, Mark Smith a furnizat o bibliotecă gestionată C ++ numită ITAPI3 și un wrapper 2.x pentru .NET. Alți dezvoltatori oferă biblioteci pentru a lucra indirect cu centralele PBX activate TAPI.
Un motiv adesea trecut cu vederea un dezvoltator de aplicații ar putea alege între TAPI 2.x și TAPI 3.x ar trebui să fie recomandarea furnizorilor de hardware. Chiar dacă TAPI oferă un model abstract de linii telefonice, aplicațiile de telefonie sunt încă puternic afectate de comportamentul specific al hardware-ului de bază. Depanarea problemelor de comportament necesită, de obicei, colaborarea atât a furnizorilor de software, cât și de hardware. Deoarece există aproape o relație 1: 1 între interfața TAPI Service Provider (TSP) și interfața TAPI 2.x, colaborarea este adesea mai ușoară dacă aplicația este proiectată utilizând TAPI 2.x. Experiența cu TAPI 3.x variază semnificativ între furnizorii de hardware.
Hardware compatibil TAPI
Pe Windows , suportul TAPI a fost aproape universal în hardware-ul de telefonie, cum ar fi modemurile vocale (atât interne, cât și externe) și plăcile de expansiune pentru computer, cum ar fi cardurile de telefonie Dialogic . Singura excepție notabilă care nu a sprijinit TAPI în mod nativ a fost Avaya Communication Manager, care s-a bazat exclusiv pe interfața TSAPI pentru conectivitate.
Multe sisteme PBX oferă interfețe de modem compatibile TAPI. Soluțiile PBX compatibile TAPI includ 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 și ZyXEL (X6004 / X2002).
Driverele terțe sunt deseori disponibile pentru sistemele telefonice care nu au driverele fabricate de producători.
Vezi si
- TSAPI
- JTAPI (Java Telephony API)
- Microsoft NetMeeting
- Formatul numărului de telefon Microsoft
- Furnizor de servicii de telefonie
- H.323