Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Gdy aplikacja ma uprawnienia właściciela sesji komunikacji, aplikacja może zdecydować się przekazać własność innej aplikacji. Operacja przekazywania jest zwykle używana do zezwalania na zmianę typu nośnika wywołania. Aplikacja o najwyższym priorytcie dla nowego typu nośnika powinna przyjmować wywołanie i obsługiwać je. Zmiana typu nośnika zwykle występuje z jednego z następujących powodów.
Polecenie użytkownika: Za pośrednictwem interfejsu użytkownika lub komunikatów okna aplikacja uczy się, że użytkownik lokalny chce zmienić typ nośnika. Na przykład użytkownik powiedział nowej aplikacji docelowej (która nie jest jeszcze właścicielem), aby uzyskać istniejące wywołanie głosowe do przesyłania danych. Aplikacja docelowa musi teraz przejąć kontrolę nad wywołaniem. W takim przypadku bieżący właściciel zauważy wzrost liczby właścicieli, a następnie rezygnuje z kontroli wywołania. Alternatywnie użytkownik może poinstruować bieżącego właściciela wywołania, aby przekazać go do aplikacji, która może obsłużyć nowy typ nośnika.
zmiana typu nośnika: Dostawca usług może wykryć zmianę typu nośnika. Na przykład aplikacja lokalna odtwarza nagraną wiadomość głosową do rozmówców. Podczas tej wiadomości dzwoniący spontanicznie decyduje się na przesłanie tonu połączenia faksu, a aplikacja lokalna może odpowiednio odpowiedzieć, zmieniając typ nośnika na faks i, w razie potrzeby, przekazując wezwanie do aplikacji faksu. Innym sposobem, w jaki może to zadziałać, jest włączenie monitorowania typu multimediów przez aplikację monitorowania, a gdy typ nośnika, w którym jest zainteresowany, zostanie wykryty podczas wywołania, może zażądać własności wywołania. Ten mechanizm sprawia, że dla każdej aplikacji niepotrzebne jest monitorowanie każdego wywołania dla każdego typu nośnika.
zdalne polecenie: Zdalna strona może interaktywnie wskazać zmianę typów multimediów podczas istniejącego wywołania, na przykład jeśli lokalna aplikacja monitoruje dane wejściowe DTMF przez zdalny obiekt wywołujący. Dzięki temu monitorowi obiekt wywołujący wskazuje na przykład, że faks ma zostać wysłany. Inne sposoby kontrolowania aplikacji lokalnych przez obiekt wywołujący to polecenia odbierane na innych połączeniach danych i za pośrednictwem komunikatów o informacjach o użytkowniku i nazwie ISDN.
Przekazanie wywołań będzie miało jeden z następujących wyników:
- Wywołanie jest przekazywane do innej aplikacji (SUCCESS).
- Aplikacja przekazująca jest samą aplikacją docelową (TARGETSELF).
- Przekazywanie kończy się niepowodzeniem (TARGETNOTFOUND).
Jeśli aplikacja, która odbiera przekazane wywołanie, ma już dojście wywołania do wywołania, jest używany ten stary uchwyt wywołania. W przeciwnym razie zostanie utworzony nowy uchwyt wywołania. W obu przypadkach aplikacja kończy się uprawnieniami właściciela do wywołania. Za każdym razem, gdy aplikacja przekazująca nie jest taka sama jak aplikacja docelowa, element docelowy jest informowany o przekazaniu w komunikacie o stanie sesji, jakby odbierał nowe wywołanie.
Jeśli bieżąca aplikacja właściciela ma zmienić typy multimediów, robi to, przekazując wywołanie aplikacji używanej dla typu nośnika docelowego. Dwa typy przekazywania wywołań opisano w Przekazywanie skierowane i typ nośnika Handoffs.
Nie wszyscy dostawcy usług obsługują korzystanie z tej operacji.
TAPI 2.x: Zobacz lineHandoff, z lpszFileName ustawioną na nazwę aplikacji dla przekazywania bezpośredniego lub dwMediaMode ustawiony na jeden typ nośnika dla pośredniego przekazywania.
TAPI 3.x: Zobacz ITBasicCallControl::HandoffDirect, ITBasicCallControl::HandoffIndirect.
Przekazywanie reżyserii
przekierowania odbywa się, gdy aplikacja docelowa jest znana według nazwy oryginalnej aplikacji. Taka sytuacja występuje na przykład wśród zestawu aplikacji napisanych przez tego samego dostawcę. Użytkownik może zwykle konfigurować kontrolę nad przekierowaniami. Przy takim przekazaniu wywołanie jest przekazywane do określonej aplikacji, jeśli otworzyło wiersz, w którym istnieje wywołanie. Typ nośnika określony w momencie otwarcia wiersza przez aplikację jest ignorowany. Jednym z typowych przykładów jest połączenie głosowe, po którym następuje transmisja faksu w tym samym wywołaniu. Przekazywanie skierowane jest najczęściej używane przez aplikacje od tego samego dewelopera, które są również połączone na inne sposoby.
Przekazywanie skierowane może być również używane w przyszłych wersjach w ramach procesu arbitrowania wielu aplikacji oczekujących na przychodzące wywołania tego samego typu nośnika, z wyborem aplikacji do obsługi wywołania opartego na połączeniu danych lub wykrywaniu protokołu wyższego poziomu, a nie typu nośnika. Przykładem jego użycia będzie linia modemu danych przychodzących z aplikacjami, takimi jak zdalne przejęcie, tablica biuletynów, dostęp do sieci zdalnej i zdalny dostęp do poczty e-mail oczekujących jednocześnie na połączenia.
Materiały odręczne typu multimediów
typ nośnika odbywa się, gdy istnieje nowy, docelowy typ nośnika, zwykle gdy aplikacja będąca właścicielem określa, że typ nośnika wymagany do wywołania nie jest obecny lub ma się zmienić.
Proces przekazywania zależnego od nośnika może być procesem sondowania, jeśli typ nośnika NIEZNANY bit jest włączony. Jest to odpowiedzialność za aplikację będącą właścicielem, aby przechodzić przez typy multimediów w celu znalezienia aplikacji o najwyższym priorytcie. Interfejs TAPI wykonuje tę operację tylko na początkowym wywołaniu przychodzącym, aby znaleźć pierwszego właściciela. Nie robi tego w przypadku operacji przekazywania. W przeciwnym razie przekazanie jest praktycznie takie samo jak w przypadku początkowego przypisania wywołania do aplikacji. Różnica polega na tym, że dla przekazywania pośredniego (typu nośnika) można ustawić tylko jeden typ nośnika.
Ponieważ można określić tylko jeden typ nośnika, wywołanie jest przekazywane do aplikacji o najwyższym priorytcie dla tego typu nośnika. Istnieje jednak możliwość, że do przekazania należy wziąć pod uwagę więcej niż jeden typ nośnika. W takim przypadku aplikacja przekazująca powinna określać najwyższy priorytet możliwych typów multimediów jako parametr.
Jeśli aplikacja określa nieznany bit podczas przekazywania typu nośnika, a przekazanie zakończy się niepowodzeniem, oznacza to, że nieznana aplikacja, która może wykonać ustalanie typu nośnika, nie jest obecnie uruchomiona. Aplikacja, która przekazuje, powinna następnie spróbować przekazać wywołanie aplikacji o najwyższym priorytcie zarejestrowanej dla następnego typu nośnika wyższego.
Aplikacja odbierający jest teraz odpowiedzialna za wywołanie. Teraz sonduje rzeczywisty typ nośnika wywołania. Jeśli aplikacja może obsłużyć typ nośnika wywołania, musi upewnić się, że jest to aplikacja o najwyższym priorytcie zarejestrowana dla tego typu nośnika. Jeśli tak, utrzymuje wywołanie i przetwarza je normalnie. Jeśli nie, przekazuje wywołanie do innej aplikacji zarejestrowanej dla tego typu nośnika.
Jeśli jednak sonda tego typu nośnika zakończy się niepowodzeniem, ponownie sonduje aplikację, próbując uzyskać pozostałe możliwości trybu multimediów. Najpierw należy wyłączyć bieżący typ nośnika, a następnie spróbować przekazać inny typ.
Ten proces sondowania i przekazywania jest kontynuowany, a pozostałe typy multimediów są wyeliminowane jeden po drugim. Po drodze jedna z aplikacji może zobaczyć, że typ nośnika, który obsługuje, jest na wywołaniu, a przekazanie zakończy się pomyślnie.
Następnie aplikacja powinna ustawić prawidłowy typ nośnika i wyczyścić wszystkie inne bity typu nośnika. Informuje to inne zainteresowane aplikacje o prawidłowym typie nośnika. Te inne aplikacje otrzymują komunikat powiadomienia o zdarzeniu z informacją, że typ nośnika wywołania został zmieniony.