Routing zdarzeń
Dzięki funkcji lineSetTerminal aplikacja może kontrolować lub pomijać routing określonych zdarzeń niskiego poziomu (wymienianych między przełącznikiem a stacją) do urządzenia. W przypadku lineSetTerminalaplikacja określa urządzenie terminalowe, do którego są kierowane te zdarzenia (np. wiersz, adres lub zdarzenia strumienia multimediów).
Routing różnych klas zdarzeń może być indywidualnie kontrolowany, co umożliwia określenie oddzielnych terminali dla każdej klasy zdarzeń. Klasy zdarzeń obejmują lampy, przyciski, wyświetlacz, dzwonek, przełącznik zaczepienia i strumień multimediów.
Na przykład strumień multimediów połączenia (na przykład głos) może być wysyłany do dowolnego urządzenia przetwornika, jeśli dostawca usług i sprzęt mogą to zrobić. Ogólnie rzecz biorąc, przetwornik oznacza to samo, co to, co jest określane jako przełącznik przełącznik w interfejsie TAPI, coś, co ma mikrofon i głośnik. Zdarzenia dzwonienia z przełącznika do telefonu można mapować na alert wizualny na ekranie komputera lub mogą być kierowane do urządzenia telefonicznego. Zdarzenia lamp i zdarzenia wyświetlania mogą być ignorowane lub kierowane do urządzenia telefonicznego (co wydaje się zachowywać jako normalny zestaw telefonów). Na koniec naciśnięcie przycisku na urządzeniu telefonicznym może lub nie może być przekazywane do wiersza. W każdym razie ten routing sygnałów niskiego poziomu z linii nie wpływa na działanie części liniowej interfejsu TAPI, która zawsze mapuje zdarzenia niskiego poziomu na ich odpowiednik funkcjonalny. Aby określić terminale, które urządzenie liniowe ma dostępne (i ich możliwości), zapoznaj się z możliwościami urządzenia liniowego za pomocą lineGetDevCaps.
Załóżmy początkowo, że aplikacja pominąła routing wszystkich zdarzeń (z lineSetTerminal), a użytkownik wybiera zestaw słuchawkowy jako bieżące urządzenie we/wy. Wywołanie przychodzące wysyła komunikat LINE_CALLSTATE i komunikat LINE_LINEDEVSTATE ze wskazaniem dzwonienia. Ponieważ routing wszystkich zdarzeń jest pomijany, zdarzenia pierścieniowe nie są kierowane do telefonu, więc dzwonienie jest pomijane. Zamiast tego aplikacja powiadamia użytkownika za pomocą wyskakującego okna dialogowego i sygnału dźwiękowego systemu w zestawie słuchawkowym.
Użytkownik decyduje się odpowiedzieć na połączenie. Ponieważ bieżące urządzenie we/wy użytkownika jest zestawem słuchawkowym, aplikacja telefonii wywołuje lineSetTerminal podczas połączenia przychodzącego w celu kierowania nośnika połączenia do zestawu nagłownego i odbierania połączenia. Aplikacja może również wywoływać lineSetTerminal do kierowania lampki i wyświetlania zdarzeń informacyjnych do zestawu telefonów, tak aby zachowywała się jak zwykle.
W drugim przykładzie przyjęto założenie, że wywołanie przychodzące wysyła alerty na komputerze użytkownika. Zamiast wybierać opcję odpowiedzi za pomocą myszy, użytkownik decyduje się po prostu odebrać słuchawkę telefonu, aby odpowiedzieć na połączenie. Stan elementu offhook na telefonie wysyła wiadomość do aplikacji. Aplikacja może interpretować ten stan jako żądanie od użytkownika, aby wybrać słuchawkę telefonu w celu przeprowadzenia konwersacji. Następnie aplikacja wywołuje lineSetTerminal w celu kierowania danych głosowych na połączenie z zestawem telefonów.