Sdílet prostřednictvím


Životní cyklus poskytovatele telefonních služeb

Toto téma obsahuje základní kontrolu operací TSP.

Relace je doba, během které konkrétní konfigurace zůstává platná a provádí se telefonní operace. Poskytovatel služeb může podporovat mnoho relací mezi prvním načtením a uvolněním. Pro každou relaci rozhraní rozhraní vyjedná rozhraní tapI, spustí relaci, provede operace a nakonec relaci vypne. Poskytovatel služeb nesmí uchovávat informace z jedné relace do další.

Jakmile je verze rozhraní známá, rozhraní TAPI zavolá funkci TSPI_providerInit k nastavení všech provozních parametrů. Poskytovatel služeb je zajištěno, že všechny informace o konfiguraci v registru jsou stabilní při zavolání funkce TSPI_providerInit. Většina poskytovatelů služeb v tu chvíli čte všechny informace o konfiguraci.

Normální operace můžou pokračovat v libovolném pořadí po inicializaci poskytovatele služeb.

Rozhraní TAPI vyjednává informace specifické pro jednotlivá zařízení. ROZHRANÍ TAPI a poskytovatel služeb potvrdí při otevření zařízení verzi.

Poskytovatel služeb může přijímat žádosti o výběr a zrušení verzí rozšíření. I když je vybraná verze rozšíření, zařízení funguje striktně podle verze rozšíření specifické pro dané zařízení.

Vyjednávání verze rozšíření specifické pro zařízení může probíhat několikrát, a to jak před otevřením zařízení, tak i po jeho otevření. Rozhraní TAPI předává rozsah verzí a poskytovatel služeb zvolí a vrátí hodnotu z tohoto rozsahu. Poskytovatel služeb má obvykle zakázaná rozšíření specifická pro zařízení.

Tím se potvrdí, že rozhraní TAPI i poskytovatel služeb budou fungovat na této úrovni verze rozšíření, dokud se výběr nezruší. Během doby, kdy se rozšíření specifické pro zařízení projeví, by pokus o vyjednání úrovně verze rozšíření měl umožňovat pouze úroveň verze, která je aktuálně platná. Po zrušení rozšíření specifického pro zařízení je možné vyjednat a vybrat jinou verzi.

Telefonní operace v páru Open/Close jsou znázorněny na následujícím obrázku. Některé z těchto operací jsou synchronní, jiné jsou asynchronní. Pokud se operace dokončí asynchronně, může být před prvním dokončením sestav požadována jiná operace. Operace se tak můžou libovolně překrývat. Poskytovatel služeb musí nakonec hlásit dokončení jakékoli požadované asynchronní operace. Zavření telefonu vynutí dokončení nevyřízených asynchronních operací (pravděpodobně s indikací selhání).

Životní cyklus pro zařízení linky se podobá životnímu cyklu pro telefony s tím rozdílem, že linky mají vlastní vyjednávání, inicializaci, otevření a uzavření postupů. Operace na otevřených řádcích jsou závorky pomocí vlastní dvojice Open/Close. Tento pár je zase závorka mezi stejnou dvojicí Inicializace/Vypnutí jako telefon Otevřít/Zavřít .

Životní cykly volání jsou závorky přesně mezi Open/Close řádku, který je obsahuje. Životnost volání může začínat několika způsoby:

  • Požadováno rozhraní TAPI prostřednictvím funkcí, jako jsou lineMakeCall, lineSetupTransfernebo lineSetupConference.
  • Spontánně vznikl v poskytovateli služeb jako nová příchozí volání, volání iniciovaná uživatelem na připojeném telefonním sluchátku nebo volání vygenerovaná jako vedlejší účinek jiných operací, jako je umístění existujícího hovoru do blokování.

Životnosti jedinečných volání na stejném řádku se můžou vzájemně překrývat jakýmkoli způsobem. Všechna volání končí jejich životnost v době, kdy je vyvolána funkce TSPI TSPI_lineCloseCall. Životní cyklus několika volání je znázorněn na následujícím obrázku.

životní cykly volání překrývajících se

Volání může pocházet z rozhraní TAPI, jak ukazuje dvojice MakeCall/CloseCall. Volání může také pocházet z poskytovatele služeb. Poskytovatel služeb to oznámí se zprávou LINE_NEWCALL pro proceduru zpětného volání zadaného rozhraním TAPI. V takovém případě rozhraní TAPI vrátí jeho identifikátor pro volání, který je součástí následných zpětných volání hlásících události, ke kterým dochází ve volání. V případě volání, jejichž životnost pochází z rozhraní TAPI, je tento identifikátor součástí operace TSPI, která vytvoří volání.

Všechny operace, které začínají životností volání, způsobí výměnu identifikátorů rozhraní TAPI a poskytovatele služeb pro nové volání. V případě volání pocházejících z rozhraní TAPI rozhraní TAPI předá identifikátor a přijme identifikátor poskytovatele služeb jako návratový parametr. V případě, že volání pochází z poskytovatele služeb, předá jeho identifikátor rozhraní TAPI a přijme identifikátor TAPI jako návratový parametr.

Následující obrázek nabízí velmi vysoký pohled na instalaci, konfiguraci a odebrání poskytovatele služeb; sekvence životního cyklu, které pokrývají mnoho relací. Typický životní cyklus těchto operací lze zobrazit pomocí následujícího časového řádku.

instalace, konfigurace a odebrání poskytovatele služeb

Zobrazuje se typický životní cyklus instalace a odebrání, který se nachází v několika relacích. Volání procedur Install a Remove jsou přísně spárované a nepřekrývají se. Volání konfigurace procedura může probíhat vícekrát v rámci tohoto páru. Jeden se obvykle provádí poskytovatelem služeb jako interní vedlejší účinek Instalace postup vytvoření položky řádku a telefonu. Procedura konfigurace konfigurace může být volána jindy, aby se změnila existující instalace. Před povolením jakékoli jiné funkce TSPI je nutné provést proceduru Install. V ideálním scénáři jsou všechny relace výhradně vnořené do dvojice procedur Install/Remove.

Funkce TSPI_providerInstall, TSPI_providerConfiga TSPI_providerRemove interagují se samotným poskytovatelem služeb, a ne s žádným konkrétním zařízením. Ovlivňují statické informace o konfiguraci, které přežijí napříč několika relacemi, a musí být přítomny, aby mohly pokračovat jakékoli jiné operace. Proto jsou všechny ostatní operace vnořené mezi vyvoláním TSPI_providerInstall a dokončením odpovídajících TSPI_providerRemove. K těmto dvěma operacím obvykle dochází velmi daleko, s největší pravděpodobností v jiném zatížení poskytovatele služeb nebo v jiném spuštění počítače. Volání funkce Config externě je volitelné, protože Postup instalace vyžaduje, aby kromě vlastního chování konfigurace. Obvyklým důvodem jeho externího volání je úprava existující konfigurace.

Do konceptu dokončení operace TSPI_providerRemove je vložená malá část. Je žádoucí, aby uživatel mohl spustit nástroj Telefonní ovládací panely dodané s telefonní službou ke změně konfigurace poskytovatele služeb, i když probíhá telefonní operace (relace). V důsledku toho jak specifikace TSPI_providerConfig, tak TSPI_providerRemove umožňují vyvolání v době, kdy existuje nevyřízených relací. Všechny změny konfigurace však musí být zpožděné, dokud se telefonní operace nevypnou a restartují. Proto se dokončení jakékoli operace TSPI_providerConfig nebo TSPI_providerRemove děje mimo jakoukoli relaci. Vnoření akcí je znázorněno na obrázku, i když se volání procedur mohou objevit v trochu jiném pořadí. Poskytovatel služeb může jednoduše zakázat konfigurace nebo Odebrat v průběhu operací, i když by měl být uživatel upozorněn dialogovým oknem. Preferuje se uživatelsky přívětivější implementace, která umožňuje alespoň podmnožinu operací.

Tyto operace Install, Configa Remove operations mají vedlejší vliv na signalizaci všech spuštěných telefonních aplikací, což nakonec způsobí vypnutí jejich používání telefonní služby. Společně to končí všechny nevyřízených relací pro poskytovatele služeb. To znamená, že poskytovatelé služeb musí při zahájení nových relací přečíst novou konfiguraci registru. Všechny změny čekající na vyřízení z důvodu konfigurace nebo Odebrat během probíhajících operací se projeví.