• No results found

4 Het object georienteerd systeemmodel voor de PC-based switch

4.3 Het Connection State Model

Om de functionaliteit van computer telecommunicatie applicaties te beschrijven wordt vaak gebruik gemaakt van een connection state model. Een verbinding tussen verschillende terminals verloopt in een aantal fasen, waarbij iedere fase een state genoemd wordt. Oe verschillende states worden door de ECMA gedefinieerd in de CSTA6 standaard [ECMA,94]. Het ECMA Connection State Model is afgebeeld in figuur 4.3. Oit model wordt gebruikt om enkele services van de PCBX te beschrijven.

Figuur4.3Connection State model van de ECMA

6 CSTA Computer Supported Telecommunications Applications, standaard ontwikkeld door de ECMA

In dit model worden de volgende states gedefinieerd:

• Null: De state waarin er geen relatie is tussen eencall en een terminal

• Initiated: De state waarin een terminal vraagt om de service. Hierin wordt de terminal om een nummer gevraagd.

• Alerting: De state waarin een terminal gewaarschuwd wordt (ringing). Dit geett aan dat er een poging wordt gedaan een connectie te maken

• Connected: De state waarin een terminal actiet betrokken is bij een call. De terminal heeft een verbinding.

• Hold: De state waarin een terminal een logische verbinding heeft met eencall, hij heett echter geen tysieke verbinding.

• Queued: De state waarin een poging tot een verbinding opgehouden wordt (doordat bijvoorbeeld terminals nog in andere processen lopen) en tijdelijkgequeuedwordt.

• Failed: De state waarin het maken van de verbinding mislukt is.

Om het verloop van services te beschrijven worden de volgende symbolen gebruikt:

DeviceI

{Tenninal \

~ @-.x-§]

( \ \..

~tatus

van verbinding Calli Gesprek

~onnection

IVerbinding

Figuur 4.4 Service diagram

Een connectie kan in zich in de verschillende states uit het connection state model bevinden. Deze worden als voigt weergegeven (op de plaats van de x in figuur 4.4)

a

Elke service heeft betrekking op een aantal aansluitingen (terminals) en Calls (gesprekken). Een Call heeft een aantal verbindingen, waarbij ook nul verbindingen een mogelijkheid is. De soort verbinding wordt aangegeven op de hierboven beschreven wijze.

4.4 De systeemmodellering

De objecten in een object model representeren delen van het systeem. Een vereenvoudigde weergave van het systeem staat afgebeeld in figuur 4.5. We kunnen hier een aantal delen in onderscheiden:

• De toestellen die zijn aangesloten (analoge of ISDN toestellen)

• De gebruikers van de toestellen

• De interfaces in de PC

• De software die de signalering naar de toestellen verzorgt

• De services die de functionaliteit bepalen van het systeem

• De software die de verbindingen tussen de verschillende toestellen maakt en verbreekt Het systeem is opgedeeld in drie delen met ieder een ander verantwoordelijkheid. Ten eerste wordt de intelligentie gescheiden van het systeem. De intelligentie van de PCBX bevindt zich geheel in de services. Ten bestaat er een verschil tussen het uitvoeren van

Figuur4.5Het model van het systeem

De verschillende onderdelen van de PCBX worden architecturen genoemd. Deze architecturen zijn gerelateerd aan de verdeling in figuur 4.5.

De signalering van het systeem wordt beschreven in de Terminal Management Architectuur en bepaalt op welke manier de verschillende aansluitingen op de interfaces bestuurd worden. Deze besturing is afhankelijk van de soort hardware (interfaces) die op het systeem is aangesloten.

De Connection Management Architectuur bepaalt de manier waarom de fysieke connecties tussen aansluitingen worden gemaakt. Hierin worden de verbindingen gemaakt, beheerd en verbroken. Binnen deze architectuur wordt niet bepaald wanneer verbindingen worden gemaakt en verbroken, aileen de manier waarop dit gebeurt.

Aile services van het systeem worden bepaalt in Service Architectuur. Deze bepaalt de functionaliteit van het systeem. Services in de Service Architectuur kunnen gebruik maken van de Terminal Management Architectuur om toestellen te besturen, en verbindingen tussen toestellen maken en verbreken met de Connection Management Architectuur. De services bepal('n wanneer er wat gebeurt.

De volgende software architecturen zijn nu afgeleid (zie figuur ...0)

• De Terminal Management Architectuur (TMA)

• De Service Architectuur (SA)

• De Connection Management Architectuur (CMA)

Service Architectuur

I I

Tenninal Management Connection Management

Architectuur Architectuur

I I

PC Hardware

Figuur4.6De verschillende delen van het systeem

In de TMA worden objecten gedefinieerd die de signalering verzorgen voor de aangesloten toestellen (afvangen van digits, het laten horen van tonen, het rinkelen van de telefoon etc.). Voor elke toestelsoort wordt er een nieuwe klasse gedefinieerd, omdat de signalering op ieder soort toestel anders zou kunnen verlopen. Bij de PCBX onderscheiden we de analoge telefoontoestellen en de aansluitingen op de ISDN-3D interface. De klasse die de signalering voor de analoge toestellen verzorgt wordt deParty klasse genoemd. Voor de digitale aansluitingen wordt deDigPartygedefinieerd.

In de SA is er behoefte aan een representatie van de aangesloten toestellen. Deze representatie is transparant over aile verschillende toestellen. Via deze klasse (de

Terminal Agent (TA» kan de toestand (state) van een toestel worden beheerd en bijgehouden worden bij welke processen (services) een toestel betrokken is. Tevens kan in de TA aangegeven worden wat er met een toestel moet gebeuren als er zich bepaalde events voordoen. leder TA object heeft een 1 op 1 relatie met een Party object.

In de SA bevinden zich ook de klassen van de verschillende services. Voor het opstarten en afsluiten is voor iedere service een service factory (SF) nodig. Deze beheert de levensduur van een service. Bij een SF kunnen aanvragen worden gedaan voor het starten van een specifieke service. ledere service heeft zijn eigen SF.

Een essentieel onderdeel van de SA is het nummerplan. In het nummerplan wordt de koppeling gemaakt tussen telefoonnummers en Terminal Agents.

Wanneer er in bepaalde features persoons-specifieke kenmerken een rol gaan spelen kan de invoering van een representant van de gebruiker gewenst zijn (een zogenaamde User Agent (UA». In de UA kunnen persoonlijke gegevens en voorkeuren worden beheerd. Wanneer er gebruik gemaakt wordt van een UA is het noodzakelijk dat gebruikers zich kunnen registreren op bepaalde toestellen. De UA zal in het vervolg buiten beschouwing worden gelaten, omdat het PCBX systeem op dit moment geen persoons-specifieke diensten biedt.

In de CMA bevindt zich maar sen object, de Connection Manager (CM). Deze CM is in staat fysieke verbindingen te maken en te verbreken tussen verschillende toestellen.

De volgende klassen worden nu gedefinieerd (tussen haakjes staat de architectuur vermeld waarbinnen de klasse zich bevindt) (zie figuur 4.7)

• Party Agent (TMA)

• DigParty Agent(TMA)

• Terminal Agent (SA)

• Numbering Plan (SA)

• Verschillende Services (SA)

• Service Factories (SA)

• Connection Manager (CMA)

.., ....

Service Architectuur

I

Number Plan

I

PC Software

~ 0 I

Services

I

I I

Tenninal Management Connection Management

Architectuur Architectuur

B I

DigParty

I I

Connection Manager

I

...+...\.

... ....

PC Hardware

I

Figuur4.7De Architecturen met hun klassen

De onderscheiding van de verschillende architecturen maakt het mogelijk om in de toekomst wijzigingen in het systeem aan te brengen, zonder dat daarvoor de gehele software herzien moet worden. Het toevoegen van nieuwe hardware (nieuwe interfaces) zal aileen invloed hebben op de TMA en de CMA. Het toevoegen of wijzigen van services kan onafhankelijk van de TMA en de CMA plaatsvinden in de SA.

De SCSA API7 maakt het gebruik van een extra object noodzakelijk, de event handler (EH). Aile events die door het systeem meetbaar zijn, worden door een handler afgevangen, en daarna doorgegeven aan eenevent handlingroutine. Binnen deze routine wordt bepaald welke acties het systeem onderneemt in geval van bepaalde events.

Binnen de SA zijn de features die de PCBX bezit gedefinieerd. In paragraaf 2.4 is beschreven welke features dit zijn. De verschillende features worden in het vervolg van dit hoofdstuk services genoemd.

De volgende services zijn binnen de SA gedefinieerd:

• Local Analog Default Service

• Digital Default Service

• POTS Service

• Call Forwarding Service

• Transfer Call Service

• CCBS Service

• Conference Call Service

De Local Analog Default Service (LADS) en Digital Default Service (DDS) zijn toegevoegde services die bepalen welke service de gebruiker van het systeem wil gebruiken. Het systeem moet bepalen welke service opgestart moet worden (bijvoorbeeld POTS of Call Forwarding), dit gebeurt in een default service. Deze service wordt in paragraaf 4.5 vercer behandeld.

Party Relaties:

Terminal Agent

AIle Services Taken:

Verzorgt interface met de hardware

Geeft feedback aan degebruil(l~r

Geeft informatie aan de services

Ontvangt informatie van de gebruiker (digits) en bewaart deze

Number Plan Relaties:

AIle Services Taken:

Verbindt telefoonnummers met Terminal IDs of

Verbindt User IDs met User Agent IDs (als er gebruik wordt gemaakt van rel!istratie)

Terminal Aeent

Representeert een Terminal (Party)

Kent de toestand van een Terminal

Kent een Default Service

Start een Default service

Kent het Party ID en de eigenschappen van zijn terminal

Weet naar welke sessies hii events moet sturen Connection ManalZer

Relaties:

POTS Service

CCBS Service Taken:

Maakt een fysieke verbinding tussen een aantal Parties

Figuur4.8Object diagrammen PCBX systeem

4.5

De Defau It Services

ledere service (sessie) heeft zijn specifieke kenmerken en wordt op een andere manier gestart. De werking van het systeem wordt in eerste instantie bepaald door de default

7 SCSA API SCSA Application Programming Interface. De softwarelaag die gebruikt wordt om de SCSA hardware aan te kunnen sturen. De API wordt door Dialogic geleverd.

service. Deze service levert de eerste feedback aan de gebruiker en laat deze kiezen tussen verschillende services van het systeem. In het PCSX systeem bestaan er twee verschillende soorten terminals, de lokale en de externe terminals. De lokale terminals zijn de analoge aansluitingen, de externe terminals zijn terminals waarmee via de ISDN-30 kaart een verbinding wordt gemaakt. Seide soorten terminals vragen om een andere default service. Dit betekent dat er binnen het systeem dus twee default services bestaan.

De Terminal Agent weet welke service hij moet starten. Wanneer er bijvoorbeeld op bepaalde poorten standaard een fax apparaat wordt aangesloten, dan zal hiervoor een andere default service voor kunnen worden ontworpen. Er is geen beperking aan het aantal default services.

4.5.1 De Default Service voor de lokale terminals

De default service voor de lokale terminals (LADS) wordt opgestart zodra bij een lokaal toestel de hoorn opgenomen wordt (Off Hook gaat). Dit event komt bij de event handler binnen die daarna de betreffende TA waarschuwt. Deze vraagt aan de SF van de LADS (de LADSSF) om de service. De SF zal deze opstarten. De LADS begint altijd met een signaal aan de gebruiker (via de Party). Normaal gesproken is dit een kiestoon, waardoor de gebruiker weet dat hij in verbinding staat met de centrale, en zijn keuze kan aangeven.

Dit kan bijvoorbeeld gebeuren door middel van een menu. De implementatie van deze service bepaalt de manier waarop de gebruiker zijn keuze kan maken. Nadat er een keuze gemaakt is, geeft de LADS aan de TA door dat hjj klaar is en kan worden afgesloten. Hij vermelt daartJij ook welke service na hem moet worden opgestart.

De verbanden tussen de verschillende objecten bij deze service en het object diagram zijn weergegeven in figuur 4.9.

Party

Local Analog Default Service Relaties:

Party

Terminal Agent

LA Default Service Service Factory Taken:

Geeft feedback aan de Party

Geeft de Party een keuze uit een aantal sessies en geeft de gekozen sessie aan de Terminal Agent

Kent de IDs van de Party en Terminal Agent

Figuur4.9Object diagram en beschrijving van de Default Service

Uit figuur 4.9 blijkt dat er een event handler is die aile Terminal Agents bedient. Men zou er in de toekomst voor kunnen kiezen om voor verschillende soorten terminals verschillende event handlers te gebruiken, maar aangezien hier gekozen is voor een transparante TA, wordt er ook maar een event handler gebruikt.

Er bestaat een een op een relatie tussen de TA en de Party. Deze relatie wordt bij de initialisatie van het systeem bepaald, en verder niet meer veranderd. De TA heeft ook een relatie met de Local Analog Default Service Service Factory (LADSSF). ledere TA voor een analoge terminal heeft een relatie met dezelfde LADSSF. Deze heeft dus net zoveel relaties met TA's als er analoge aansluitingen zijn. De LADSSF kan nieuwe Local Analog Default Services (LADS) creeren en starten, en geeft tijdens het creeren de LADS een relatie met een TA.

Het verloop van de default service (en wat daaraan vooraf gaat) is afgebeeld in het state model in figuur 4.10.