Sdílet prostřednictvím


Předání

Pokud má aplikace oprávnění vlastníka pro komunikační relaci, může se aplikace rozhodnout předat vlastnictví jiné aplikaci. Operace předání se obvykle používá k tomu, aby bylo možné změnit typ média volání. Aplikace s nejvyšší prioritou pro nový typ média by měla přijmout a zpracovat hovor. Ke změně typu média obvykle dochází z jednoho z následujících důvodů.

Příkaz Uživatel: Prostřednictvím uživatelského rozhraní nebo zpráv oken aplikace zjistí, že místní uživatel chce změnit typ média. Uživatel například řekl nové cílové aplikaci (která ještě není vlastníkem), aby získal stávající hlasový hovor pro přenos dat. Cílová aplikace teď musí převzít kontrolu nad voláním. V tomto případě si aktuální vlastník všimne, že počet vlastníků se zvýší, a poté znovu přijme kontrolu nad voláním. Případně může uživatel instruovat aktuálního vlastníka volání, aby ho předal aplikaci, která dokáže zpracovat nový typ média.

Změna typu média: Poskytovatel služeb může zjistit změnu typu média. Například místní aplikace přehrává zaznamenanou hlasovou zprávu volajícímu. Během této zprávy se volající spontánně rozhodne přenést tón faxového volání a místní aplikace může odpovídajícím způsobem reagovat změnou typu média na fax a v případě potřeby předat hovor faxové aplikaci. Dalším způsobem, jak to může fungovat, je pro monitorovací aplikaci, která umožňuje monitorování typů médií, a když se v hovoru zjistí typ média, o který se zajímá, může požádat o vlastnictví volání. Díky tomuto mechanismu nemusí každá aplikace monitorovat každé volání každého typu média.

příkaz vzdálené strany: Vzdálená strana může interaktivně indikovat změnu typů médií během existujícího volání, například pokud místní aplikace monitoruje vstup DTMF vzdáleným volajícím. Prostřednictvím tohoto monitorování volající například indikuje, že se má odeslat fax. Další způsoby, jak může volající řídit místní aplikace, jsou příkazy přijaté v jiných datových připojeních a prostřednictvím informačních zpráv uživatele ISDN.

Předání hovoru bude mít jeden z těchto výsledků:

  • Volání se přidělí jiné aplikaci (SUCCESS).
  • Předávací aplikace je sama o sobě cílem (TARGETSELF).
  • Předání selže (TARGETNOTFOUND).

Pokud aplikace, která přijímá předávací hovor, již má popisovač volání volání, použije se tento starý popisovač volání. V opačném případě se vytvoří nový popisovač volání. V obou případech aplikace skončí s oprávněními vlastníka volání. Pokaždé, když předání aplikace není stejné jako cílová aplikace, je cíl informován o předání zprávy o stavu relace, jako by přijímala nové volání.

Pokud je aktuální aplikace vlastníka řečeno, aby změnila typy médií, provede to předáním volání do aplikace používané pro cílový typ média. Dva typy předání hovorů jsou popsány v řízené handoffs a Media typ Handoffs.

Tuto operaci nepodporují všichni poskytovatelé služeb.

TAPI 2.x: Viz lineHandoff, s lpszFileName nastavený na název aplikace pro přímé předání nebo dwMediaMode nastavit jeden typ média pro nepřímé předání.

TAPI 3.x: Viz ITBasicCallControl::HandoffDirect, ITBasicCallControl::HandoffIndirect.

Řízené handoffy

směrované předání proběhne, když je cílová aplikace známá názvem původní aplikace. K této situaci může dojít například mezi sadou aplikací napsaných stejným dodavatelem. Uživatel může obvykle nakonfigurovat řízení směrovaných předání. Při takovém předání se volání předá zadané aplikaci, pokud otevřel řádek, na kterém volání existuje. Typ média zadaný v okamžiku, kdy aplikace otevřela řádek, bude ignorován. Jedním z běžných příkladů je hlasový hovor následovaný přenosem faxu ve stejném hovoru. Řízené předání by nejčastěji používaly aplikace od stejného vývojáře, které jsou propojené i jinými způsoby.

Směrované předání může být také použito v budoucích verzích v rámci procesu rozhodování více aplikací čekajících na příchozí volání stejného typu média s výběrem aplikace, která bude zpracovávat volání na základě datového propojení nebo detekce protokolu vyšší úrovně, a ne na typu média. Příkladem jejího použití by byla linka příchozího datového modemu s aplikacemi, jako je vzdálené převzetí, nástěnka, vzdálený přístup k síti a vzdálený přístup k e-mailu, všechny čekající na volání současně.

Handoffs typu média

Předání typu média probíhá v případě, že existuje nový cílový typ média, obvykle když vlastnící aplikace zjistí, že typ média potřebný pro volání není k dispozici nebo se chystá změnit.

Proces předání závislého na médiu může být proces sondování, pokud je zapnutý bit NEZNÁMÝ typ média. Je zodpovědností vlastnící aplikace cyklicky procházet typy médií a najít aplikaci s nejvyšší prioritou. TAPI tuto cyklistiku provede pouze při počátečním příchozím hovoru a najde prvního vlastníka. Nedělá to pro operaci předání. V opačném případě je předání prakticky stejné jako při počátečním přiřazení volání aplikace. Rozdíl je v tom, že pro předání nepřímého média (typu média) lze nastavit pouze jeden typ média.

Vzhledem k tomu, že lze zadat pouze jeden bit typu média, volání se přidělí aplikaci s nejvyšší prioritou pro daný typ média. Je však možné, že pro předání se považuje více než jeden typ média. V tomto případě by aplikace pro předání měla jako parametr určit nejvyšší prioritu možných typů médií.

Pokud aplikace určuje bit UNKNOWN při provádění předání typu média a předání selže, znamená to, že neznámá aplikace schopná určit typ média není aktuálně spuštěna. Aplikace, která se předá, by se měla pokusit předat volání aplikaci s nejvyšší prioritou zaregistrovanou pro další vyšší typ média.

Přijímající aplikace je teď zodpovědná za volání. Teď se sonduje pro skutečný typ média volání. Pokud aplikace dokáže zpracovat typ média volání, musí se ujistit, že se jedná o aplikaci s nejvyšší prioritou zaregistrovanou pro daný typ média. Pokud ano, hovor udržuje a zpracovává ho normálně. Pokud tomu tak není, hovor předá jiné aplikaci zaregistrované pro tento typ média.

Pokud ale sonda pro tento typ média selže, aplikace se znovu pokusí o zbývající možnosti režimu médií. Nejdřív musí vypnout aktuální bit typu média a pak zkuste jinou ruku s jiným typem.

Tento proces probírání a předání pokračuje a zbývající typy médií jsou eliminovány jeden po druhém. Mimochodem, jedna z aplikací může vidět, že typ média, který zpracovává, je na volání a předání je úspěšné.

Aplikace by pak měla nastavit správný typ média a vymazat všechny ostatní bity typu média. To informuje ostatní zúčastněné aplikace o správném typu média. Tyto další aplikace obdrží zprávu s oznámením o události s oznámením, že se změnil typ média volání.