Programowanie aplikacji telefonicznych z wykorzystaniem TAPI autorzy : Szymon Bakowski Marcin Szymkowiak
Wprowadzenie Architektura Budowa przykładowej aplikacji Zastosowanie
Telephony Application Programming Interface (TAPI) jest prostym zbiorem funkcji pozwalających programistom na zarządzanie i manipulowanie każdym typem komunikacji między PC i linią telefoniczną. - Wprowadzenie -
Model TAPI jest zaprojektowany tak, aby dostarczyć abstrakcyjną warstwę dostępu do serwisu telefonii na każdej platformie Windows. Innymi słowy TAPI jest prostym zbiorem funkcji, które mogą być użyte do dostępu wszystkich aspektów serwisu telefonii wewnątrz systemu operacyjnego Windows. - Wprowadzenie -
Aplikacje napisane przy użyciu TAPI Celem TAPI jest umożliwienie programistom pisania aplikacji, które pracują bez względu na fizyczne medium telefoniczne dostępne na PC. Aplikacje napisane przy użyciu TAPI zyskują bezpośredni dostęp do serwisu linii telefonicznej pracując tak samo na analogowych jak i cyfrowych liniach . - Wprowadzenie -
Aplikacja jest zdolna realizować zadania przez podzielenie jej na dwie oddzielne warstwy : TAPI i SPI. aplikacja 1 aplikacja 2 aplikacja 3 Telephony API Telephony DLL Telephony Service Provider Interface TSPI service provider - Architektura -
Każda warstwa (interfejs) jest zbiorem funkcji umożliwiających wykonanie podstawowych zadań telefonu. Klient API wysyła zapytania z aplikacji do SPI dla każdego zadania. Zadaniem SPI jest skompletowanie zadań i wysłanie rezultatów z powrotem do wywołującego programu przez klienta API. - Architektura -
TAPI udostępnia kompletną telefoniczną implementację dla systemu operacyjnego Windows bez obciążania programistów nauką. Inżynierowie aplikacji mogą skupić uwagę na dostarczaniu cech potrzebnych wielu użytkownikom i pozostawić detale implementacji programistom (hardware driver - SPI). W tym samym czasie programiści hardwar’u mogą spędzić więcej czasu implementując proste wywołania SPI , które mogą mogły zapewnić pracę na platformie Windows. - Architektura -
Model TAPI jest podzielony na dwie części, każda z własnymi zbiorami wywołań API : Line device jest modelem fizycznej linii telefonicznej używanej do wysyłania i przyjmowania głosu i danych między różnymi punktami. Phone device jest to model używany do wybierania i odbierania połączeń. - Architektura -
W TAPI the line device nie jest prawdziwą fizyczną linią lecz modelem lub obiektem reprezentującym fizyczną linię.W Aplikacjach TAPI,program może śledzić kilka takich obiektów, z których każdy jest podłączona do fizycznej linii.Ich liczba może być większa niż całkowita liczba fizycznych linii dostępnych w PC. Line 1 Modem Line 2 Fax Board Telephony Application Line 3 Switch - Architektura -
Za każdym razem kiedy aplikacja uruchamia (line device), informuje pierwszą dostępną linię , że potrzebuje zasobów (głos, fax, dane, itd.). Jeśli żadna linia nie jest dostępna , wiadomość o tym jest zwracana do programu. W takim przypadku jak np. transmisja fax aplikacja może żądanie umieścić w kolejce . - Architektura -
Jeśli dostępne są dwie linie, aplikacja TAPI używa ich wedle potrzeby. Jeśli zostanie aktywowana trzecia linia, program wie że nie ma więcej dostępnych otwartych linii i powiadomi o tym użytkownika (lub umieści wywołanie w kolejce). - Architektura -
Drugi typ urządzenia modelowanego przez TAPI to (phone device) Drugi typ urządzenia modelowanego przez TAPI to (phone device). Ten model pozwala programiście TAPI na stworzenie wirtualnego telefonu do pracy na PC. Na przykład standardowy PC z kartą muzyczną, mikrofonem może emulować wszystkie funkcje telefonu. - Architektura -
- Budowa przykładowej aplikacji - Inicjalizacja TAPI Uzyskanie dostępu do linii telefonicznej Wykonanie telefonu Wysłanie danych Zakończenie połączenia - Budowa przykładowej aplikacji -
- Budowa przykładowej aplikacji - Inicjalizacja TAPI Dzięki funkcji lineInitialize uzyskujemy uchwyt do naszej aplikacji oraz liczbę dostępnych linii (line device) - Budowa przykładowej aplikacji -
- Budowa przykładowej aplikacji - Uzyskanie dostępu do linii telefonicznej Wybranie numeru Pobranie struktury LINEDEVCAPS Wykonanie funkcji lineNegotiateAPIVersion Wykonanie funkcji lineOpen - Budowa przykładowej aplikacji -
- Budowa przykładowej aplikacji - Wykonanie telefonu Wykonanie funkcji lineMakeCall Struktura LPCALLPARAMS Struktura LINE_CALLSTATE - Budowa przykładowej aplikacji -
- Budowa przykładowej aplikacji - Wysłanie danych XXX Ewaryst Jolanda - Budowa przykładowej aplikacji -
Zakończenie połączenia Wykonanie funkcji lineClose Struktura HANGUPCALL Struktura LINESHUTDOWN - Budowa przykładowej aplikacji -
- Budowa przykładowej aplikacji - Line NewCall Service-provider originated call... ...CloseCall MakeCall... Line Open... ...Close Line Initialization... ...Shutdown Time - Budowa przykładowej aplikacji -
Programy napisane przy pomocy TAPI umożliwiają : bezpośredni dostęp do sieci telefonicznej automatyczne wybieranie abonenta transmisja danych(pliki, faksy, poczta elektroniczna) usługa konferencji listy dźwiękowe (phone mail) identyfikacja dzwoniącego kontrolę zdalnego komputera - Zastosowanie -
TAPI 3.0 wspiera standard H.323 i oferuje narzędzia do jego obsługi. Standard ten jest standardem ITU który określa wytyczne dotyczące przesyłania głosu, danych i obrazu. - Zastosowanie -
TAPI 3. 0 jest narzędziem, które wspiera protokół H TAPI 3.0 jest narzędziem, które wspiera protokół H.323, tak samo jak NetMeeting 2.0 SDK. - Zastosowanie -
Traditional Telephony Video distribution UHF/FHF broadcast Cabel, microwave Traditional Telephony PBX Public switch PBX or PSTN FAX Data Communication IP Router Corporate MAN, LAN, internet Serwer - Zastosowanie -
Media Convergence - Zastosowanie -
IP Router Corporate LAN, WAN, or internet - Zastosowanie -
Koniec