• No results found

Eindhoven University of Technology MASTER De PC-based switch ontwerp en realisatie Wouters, A.M.A. (Anton)

N/A
N/A
Protected

Academic year: 2022

Share "Eindhoven University of Technology MASTER De PC-based switch ontwerp en realisatie Wouters, A.M.A. (Anton)"

Copied!
87
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

MASTER

De PC-based switch ontwerp en realisatie

Wouters, A.M.A. (Anton)

Award date:

1997

Link to publication

Disclaimer

This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required

(2)

Technische Universiteit tG) Eindhoven

Faculteit Elektrotechniek Vakgroep Informatie- en Communicatiesystemen

Afstudeerverslag:

De PC-based switch

Ontwerp en Realisatie

A.M.A. Wouters

Begeleiders:

Afstudeerhoog leraar:

Datum:

dr.ir. J.H.G. van Pol (KPN Research Leidschendam) ir. M.J.M. van Weert

Prof.ir. M.P.J. Stevens mei 1997

De Faculeit Elektrotechniek van de Technische Universiteit Eindhoven aanvaardt geen verantwoordelijkheid voor de inhoud van stage- en afstudeerverslagen

(3)

De PC-based switch

Ontwerp en Realisatie

Uitsluitend voor gebruik binnen KPN en R&D-RA-97-290 de Technische Universiteit Eindhoven

(4)

©KPN Koninklijke PTT Nederland NV,KPN Research 1996.

Aile rechten voorbehouden.

Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt, in enige vorm of op enige wijze, hetzij eleklron/sch, mechanisch door fotokopieen, opnamen of enige andere manier, zonder voorafgaande schrifteliike toestemming van de rechthebbende. Het vorenstaende is eveneens van toepassing op gehele of gedeeltelijke bewerking.

De rechthebbende is met uitsluiting van jeder ander gerechtigd de door derden verschuldigde vergoedingen voor kopieren als bedoeld in artikel 17, tweede lid, Auteurswet 1912 en het K.B. van 20 juni 1974 (Stb.351) zoals gewijzigd bij het K.B. van 23 augustus 1985 (Stb.471) ex artikel16b Auteurswet 1912, te innen en/of daartoe in en buiten rechte op Ie treden.

Voor het ovememen van delen van deze uitgave ex artikel 16 Auteurswet 1912 dient men zich tot de rechthebbende te wenden.

©KPN Royal PTT Nederland NV, KPN Research 1996.

All rights reserved.

No part of this book may be reproduced in any form, by print, photoprint, microlilm or any other means without the prior written permission from the publisher.

(5)

/nformatieb/ad bij Rapport R&D-RA-97-290

Tite/:

Excerpt:

Auteur(s):

Reviewers:

Afde/ing:

Project:

Bege/eiders:

Datum:

De PC-based switch Ontwerp en Realisatie

Indit rapport wordt de ontwikkeling en realisatie van een PCBX, een PBX in een PC, beschreven. Achtereenvolgens wordt de geschiedenis, de hard- en software keuze en het systeemontwerp van de PCBX behandeld.

A.M.A. Wouters irE. van Zegveld NSC

PCBX

dr ir~I.H.G.van Pol (KPN Research) , ir M.J.M. van Weert (TU[=) mei 1997

Uitsluitend voor gebruik binnen KPN en de Technische Universiteit Eindhoven

Uitgegeven onder verantwoorde/ijkheid van: hfd NSC

Trefwoorden:

Verzend/ijst:

PC-based switch, SCSA, Computer Telephony, CTI

Research

MT NSC, werkveld Bedrijfscommunicatie (NSC), UDP

B. Kastelein, H. Nordkamp, J.M. Kloosterman, R.J.N. Kalberg, D. Los, M.P. Miessen, W.G. Levelt, A. Suurmond,

J.H.G. van Pol (10x), A.M.A. Wouters (ax) TUE

M.J.M. van Weert (2x), M.P.J. Stevens (2x)

(6)

Voorwoord

Dit document is het resultaat van mijn afstudeerproject verricht bij KPN Research te Leidschendam. In de periode van 2 septemberVm 31 mei heb ik, bij de afdeling Network and Service Control, gewerkt aan de ontwikkeling van een PC-based switch. Dit verslag vormt de afronding van mijn studie Informatietechniek aan de Technische Universiteit Eindhoven.

Er zijn een aantal mensen die ik graag wil bedanken voor de steun tijdens mijn afstudeerperiode bij KPN Research. Ten eerste mijn begeleider bij KPN Research John van Pol. Ondanks zijn drukke agenda, was er altjjd wei de mogelijkheid om advies en hulp te vragen. Deze hulp en kritiek hebben er mede toe bijgedragen dat mijn afstudeerproject een succes is geworden. Ook wil ik ir M.J.M. van Weert bedanken voor zijn begeleiding vanuit de TUE.

Een groep die ik zeker niet wil vergeten, zijn aile studenten van L E135x. Zij zijn de personen die voor de perfecte sfeer hebben gezol'gd waarin ik mijn afstudeerproject heb voltooid.

Maar natuurlijk wil ik vooral mijn ouders (en mijn zusje natuurlijk) bedanken, die mij gedurende mijn studie altijd gesteund hebben en er voor gezorgd hebben dat ik optimaal van mijn studententijd heb kunnen genieten.

Mei 1997, Anton Wouters

(7)

Inhoud

Voorwoord i

Inhoud iii

Management Samenvatting v

Lijst van afkortingen vii

1 Inleiding 1

1.1 De project doelen 1

1.2 Leeswijzer 1

2 De PC-based switch ...•...•.•..., 3

2.1 Inleiding 3

2.2 Historie 3

2.3 Waarom een PC-based switch? 5

2.4 Eisen aan een PCBX systeem 7

2.4.1 Standaard schakel-functies 7

2.4.2Feature1:Call Forwarding 8

2.4.3Feature2:CCBS 8

2.4.4Feature3: Transfer Call 8

2.4.5Feature4:Driegesprek 8

2.4.6 Flexibiliteit 8

2.4.7Betrouwbaarheid 9

3 Het systeemontwerp •...•...•...•.•... 11 3.1 Inleiding ...• 11

3.2 De Hardware 11

3.2.1 De standaard protocollen 11

3.2.2De hardware producenten 12

3.2.3De hardware keuze 12

3.3 De Software ...•... 13

3.3.1 Het eisenpakket 13

(8)

4Het object georienteerd systeemmodel voor de PC-based switch 15

4.1 Inleiding 15

4.2 Object georienteerd programmeren 15

4.3 Het Connection State Model 17

4.4 De systeemmodellering 18

4.5 De Default Services 21

4.5.1 De Default Service voor de lokale terminals 22

4.5.2 De Default Service voor de externe lijnen 23

4.6De POTS Service 23

4.7 De Call Forwarding Service 25

4.8Completion of Call to Busy Subscriber (CCBS) 27

4.9Transfer Call 28

4.10 Conference Call 29

4.11 Het Connection Management 30

5Resultaten 31

5.1 Gerealiseerde features 31

5.1.1 POTS 31

5.1.2 Call Forwarding 31

5.1.3 Transfer Call 32

5.1.4 Conference CalL 33

5.1.5 Voice tv1ail 33

5.1.6 DeskPhone 34

5.2Grafische Interlaces 34

5.2.1 PCBX 34

5.2.2 Nummerplan 35

5.2.3 DeskPhone 36

6 Conclusies&Aanbevelingen 37

7 Referenties 39

Bijlagen 41

(9)

Management Samenvatting

De telefoon is tegenwoordig niet meer weg te denken als communicatiemiddel. Ook binnen bedrijven is dit het geval, waarbij in de bedrijfsomgeving ook een aantal speciale functies, zoals verkort bellen, gemeen goed zjjn geworden. Deze functies zijn mogelijk doordat bedrijven hun eigen telefooncentrale (PBX) hebben waarbij deze functies onafhankelijk van het publieke net, gerealiseerd kunnen worden.

Met de opkomst van de informatietechnologie, wordt ook de hiervan met de telecommunicatie interessant. Denk bijvoorbeeld aan bellen vanuit een telefoonlijst.

Een nieuwe ontwikkeling op het gebied van Computer Telephony is de PC-based switch (PCBX). Bij een PCBX is de PBX volledig ge"integreerd in de PC. De ontwikkeling van PCBX'en is in een dusdanig stadium dat de PCBX gezien kan worden als een alternatief voor de PBX.

Probleemstelling

Binnen KPN is er welnlg kennis met betrekking tot PCBX'en. De technische ontwikkelingen en marktontwikkelingen rond PBX'en duiden er echter op dat in de nabije toekomst de PCBX als alternatief voor de PBX gezien kan worden. Het is voor KPN dan ook van belang kennis, inzicht en ervaring te krijgen in de ontwikkeling en mogelijkheden van PCBX'en.

Doel

Binnen dit project zijn de volgende doelen vastgesteld:

• Het ontwerpen en realiseren van een PCBX om zo de mogelijkheden en onmogelijkheden van een PCBX te verkennen.

• Het realiseren van een PCBX voor demonstratie doeleinden.

• Het opleveren van een rapport waarin de ontwikkeling en de gebruikte concepten van de PCBX gedocumenteerd worden.

Conclusies

De PCBX bevat een grote flexibiliteit. Dit komt enerzijds door het gebruik van de SCSA standaard, die een open systeem garandeert. Anderzijds door gebruik te maken van object georienteerde software. Deze eigenschappen maken het mogeljjk om op relatief eenvoudige wijze, en dus binnen korte tijd, de capaciteit van het systeem aan te passen en applicaties en features aan het systeem toe te voegen.

Aanbevelingen

Om de voordelen en mogelijkheden van PCBX'en duidelijker naar voren te laten komen, verdient het aanbeveling om nieuwe features voor de PCBX te ontwikkelen. Hierin kunnen persoons-specifieke voorkeuren en eigenschappen gebruikt worden. Tevens is het interessant om bestaande CTI applicaties te koppelen aan de PCBX.

(10)

Lijst van afkortingen

ACTAS API CA CCBS CM CMA CORBA CTI DECT OPE DSP DTMF EML ISDN LIM MA MNA MVIP NA ODP OS PBX PC PCBX POTS PSTN RA SA SCSA SF SML SSM TA TOM TINA USM

Alliance of Computer Based Telephony Application Suppliers Application Programming Interlace

Computing Architecture

Completion of Call to Busy Subscriber Connection Management

Connection Management Architecture Common Object Request Broker Architecture Computer Telephony Integration

Digital Enhanced Cordless Telecommunications Distributed Processing Environment

Digital Signal Processor Dual Tone Multi Frequency Element Management Layer Integrated Services Digital Network Line Interface Module

Management Architecture Multi Node Architecture

Multi Vendor Integration Protocol Networking Architecture

Open Distributed Processing Operating System

Private Branch eXchange Personal Computer PC-based switch

Plain Ordinary Telephone Service Public Switched Telephone Network Resource Architecture

Service Architecture

Signal Computing System Architecture Service Factory

Service Management Layer Service Session Manager Terminal Agent

Time Devision Multiplexing

Telecommunications Information Networking Architecture User Session Manager

(11)

1 Inleiding

De telefoon is tegenwoordig niet meer weg te denken als communicatiemiddel. Ook binnen bedrijven is dit het geval, waarbij in de bedrijfsomgeving ook een aantal speciale functies, zoals verkort bellen, gemeenschappelijk goed zijn geworden. Deze functies zijn mogelijk doordat bedrijven hun eigen telefooncentrale hebben (PBX) waarbij deze eigenschappen, onafhankelijk van het publieke net, gerealiseerd kunnen worden. Met de opkomst van de computer technologie, wordt ook de integratie van deze technologie met de telecommunicatie interessant (CTI), denk bijvoorbeeld aan bellen vanuit een telefoonlijst.

Een nieuwe ontwikkeling op het gebied van CTI is de PC-based switch (PCBX). Bij een PCBX is de PBX volledig ge"integreerd in de PC. De ontwikkeling van PCBX'en is in een dusdanig stadium dat de PCBX gezien kan worden als een aanvulling of vervanging op PBX'en.

1.1 De project doelen

De projecttitelluidt: "Het ontwerpen en bouwen van een PC-based switch". Het doeI is het onderzoeken of PCBX'en een aanvulling kunnen vormen op de huidige PBX'en. De volgende vragen spelen hierbij een rol:

1. Heeft een PCBX dezelfde functionaliteit als de huidige PBX systemen?

2. Heeft een PCBX dezelfde betrouwbaarheid als de huidige PBX systemen?

3. Is het systeem flexibel?

4. Is het systeem voor een redelijke prijs te leveren?

Vooral de eerste drie vragen staan centraal in dit project. De eventuele prijs van het systeem is een marketing issue en valt buiten de scope van dit project.

Op dit moment is er zeer weinig bekend over de mogelijkheden van PCBX systemen. Er zijn op dit moment wei PCBX systemen leverbaar, maar deze zijn voornamelijk gebaseerd op verouderde technologieen en proprietary apparatuur, waardoor ze net zo gesloten en inflexibel zijn als een PBX.

Een manier om de gestelde vragen te beantwoorden is het realiseren van een PCBX met de nieuwste technologieen. Zo is het mogelijk zowel de voor- als nadelen van een PCBX aan het licht te brengen. Het ontwikkelen van een PCBX geeft een indicatie over de mogelijkheden en onmogelijkheden van PCBX'en.

1.2 Leeswijzer

Het ontwikkelen van de PCBX verloopt in een aantal fasen die in dit verslag beschreven zullen worden. Deze fasen zijn:

1. Het opstellen van een eisenpakket voor een PCBX systeem 2. Het kiezen van de te gebruiken hard- en software

3. Het opstellen van een systeemontwerp en een object model 4. Het ontwikkelen van software voor de PCBX

5. Het testen van de PCBX

6. Het integreren van de PCBX in het SC-Iab

(12)

van de software besproken. De uiteindelijke werking van het systeem wordt besproken in hoofdstuk 5. Hier zal worden ingegaan op de manier waarop de verschillende features werken. Tenslotte worden in hoofdstuk 6 conclusies en aanbevelingen geformuleerd.

(13)

2 De PC-based switch

2.1 Inleiding

Sinds de ontwikkeling van de PBX staat deze centraal in de bedrijfscommunicatie. Met de opkomst van de computer technologie blijkt dat er steeds meer behoefte is om een gedeelte van de besturing van de PBX vanuit de computer te regelen. Deze ontwikkeling, Computer Telephony Integration (CTI), kan gezien worden als een voorloper van PC- based switching, waarbij de telecommunicatie en computer omgeving volledig gei"ntegreerd zijn.

In dit hoofdstuk wordt de historie van CTI beschreven en hoe de PCBX daaruit voortvloeit, daarna worden de eisen geformuleerd die aan de te ontwikkelen PCBX zijn gesteld.

2.2 Historie

De ontwikkeling van de PCBX is in een aantal fasen verlopen, waarbij de PC een steeds belangrijkere rol ging spelen in de besturing van de PBX. Deze fasen zijn:

1. De PBX

2. Computer Telephony Integration 3. De PC-based switch

Door invloed van CTI is de PBX voor een deel geopend, en werd het mogelijk om een deel van de besturing buiten de PBX te laten plaatsvinden. In een later stadium zijn de informatietechnologie en de telecommunicatie volledig met elkaar gei"ntegreerd en is de PCBX een feit geworden.

etwer pu Ie n

"

schakeleenheid

,

... ...

,

"

y ~

besturingseenheid De PBX

De eerste PBX'en bezaten geen koppeling met een PC (zie figuur2.1). De PBX was een compleet gesloten systeem. De enige interactie met de PBX vond plaats via de aangesloten telefoontoestellen en bestond er geen mogelijkheid om op een andere manier invloed uit te oefenen op de PBX.

... lokaal n k bI" k etwer\.

Flguur2.1Schematlsche weergave van een PBX

Een PBX was een switch die in staat was twee telefoontoestellen met elkaar te verbinden.

Tevens verzorgde de PBX de verbinding van het lokale telefoonnet met het publieke netwerk (via de trunk). De opkomst van computer technologie maakte het mogelijk om een deel van de besturing vanuit een PC te laten plaatsvinden.

Computer Telefoon Integratie (CTI)

(14)

Computer Telephony Integration provides for the exchange of information between telephones and computers. More specifically, CTI links telephone switches with computers to co-ordinate computer information and intelligence with telephone call handling to automatically add relevant data, fax, graphics and/or video to voice communications.

Er bestaan twee verschillende vormen van CTI, First Party control en Third Party control.

First Party control. De computer functioneert als verlengstuk van de telefoon (zie figuur 2.2). De gebruiker heeft aileen controle over zijn eigen telefoonfuncties, en kan daarbij ondersteund worden door een computer.

- - CTI verbinding

- - telefoon verbinding PBX

publiek netwerk

..

~:iin':' 4.·:~

Figuur2.2.FirstPartycontrol

cn

Bij First Party Control bestaat de koppeling tussen de PC en de PBX uit een normale telefoonverbinding en "ziet" de PBX dus niets van de PC. Er is wei een specifieke C'-' verbinding aanwezig tussen de PC en het telefoontoestel. Deze wordt gevormd door een zogenaamde TAPI kaart in de PC.

Bij First Party control kan de PC gezien worden als een intelligente telefoon. Een voorbeeld van een toepassing met behulp van First Party control is het selecteren van een naam uit een lijst, waarna de PC het bijbehorende nummer kiest.

Third Party control. Een CTI server is via een CTI verbinding verbonden met de PBX en krijgt langs die verbinding informatie van de PBX. De CTI server is in staat verbindingen in de PBX tot stand te brengen en te verbreken. De PBX heeft nog steeds een zelfstandig opererend besturingsgedeelte, waar de derde partij (de CTI Server) beperkte invloed op kan uitoefenen.

publiek netwer\.

-

CTI verbinding

-

PBX

LAN Server

Figuur2.3ThirdPartycontrol

cn

In 1991 opgerichte organisatie ter stimulatie van CTI ontwikkelingen

(15)

Bij Third Party control zijn de telefoontoestellen direct aan de PBX gekoppeld. Er is een CTI verbinding aanwezig tussen een, al dan niet aan een LAN gekoppelde, CTI server en de PBX. Bij Third Party control vormt de PC een intelligente uitbreiding van de PBX. Een voorbeeld van een Third Party control toepassing is Automatic Call Distribution (ACD), waar bij een inkomend gesprek de CTI server bepaalt naar welk toestel het gesprek wordt doergegeven.

Voer zowel First als Third Party control zijn er Application Programming Interfaces (API) entwikkeld, waarmee CTI applicaties ontwikkeld kunnen worden. Een API bedoeld voor First Party control is door Microsoft ge·implementeerd in de vorm van TAPI2. Latere versies van TAPI zijn tevens geschikt voor Third Party control. Door Novell en AT&T is TSAPI3 voor Third Party control gei'mplementeerd.

De PCBX

Door de ontwikkeling van de PCBX zijn de werelden van de telecommunicatie en de Informatie Technologie volledig met elkaar gei'ntegreerd, en is de scheiding tussen PC en PBX verdwenen. Door middel van PC insteekkaarten worden interne toestellen en het publieke net aangesloten op de PC. De software op de PC bestuurt de hardware.

Een algemene definitie voor een PC-based switch is:

De PC-based switch is een bedrijfstelefooncentrale, geheel ge"integreerd in een PC. Zowel de software, die 20rgt voor de intelligentie, als de hardware bevinden zich in een zelfstandig systeem.

In deze definitie worden geen uitspraken gedaan over de soort hard- en software, waarmee een PCBX is opgebouwd.

.. I

LAN

publieknetwer~

Figuur2.4 Een PCBX

De binnen dit project ontwikkelde PC-based switch maakt gebruik van software en hardware die voldoet aan een standaard die open systemen garandeert. Wanneer in het vervolg over een PC-based switch wordt gesproken, wordt er uitgegaan van een open systeem.

2.3 Waarom een PC-based switch?

Een PC-based switch verschilt op een aantal punten van de PBX. Deze verschillen vormen tezamen het argument om gebruik te maken van een PCBX in plaats van een PBX.

(16)

Een open systeem

Door gebruik te maken van een standaard voor open systemen is de PCBX een open systeem. Een standaard voor open systemen voldoet aan twee eisen [Dialogic6]:

1. Een open, software onafhankelijke hardware architectuur.

2. Een open, hardware onafhankelijke software architectuur

Dit betekent dat men niet afhankelijk is van producent specifieke hardware en software.

Zo lang producten voldoen aan dezelfde standaard, zijn ze uitwisselbaar. Een standaard voor open systemen vormt de basis van de voordelen van PCBX'en. Een gesloten PCBX (wat ook mogelijk is) is geen optie.

Een flexibel systeem

Een PCBX is, door het gebruik van een standaard voor open systemen, een flexibel systeem. Deze flexibiliteit komt naar voren in zowel de hardware als software (zie figuur 2.5). De capaciteit van PCBX'en is eenvoudig te vergroten door interlace kaarten in de PC toe te voegen. Systemen met een capaciteit van 8 tot 450 interne toestellen zijn op een PC haalbaar.

Object georienteerde (00) software maakt het mogelijk om het systeem geheel uit vaste bouwblokken samen te stellen. Hierdoor worden oplossingen op maat mogelijk gemaakt.

PC

ISDN2

'

.

interface X

.

,

Figuur 2,5 Bouwblokken structuur van de PCBX State of theArtsoftware

De software voor de PCBX wordt geheel opnieuw, en op een object georienteerde wijze, geschreven. Deze programmeertechniek vereist een opdeling van het systeem in logische bouwblokken. Dit heeft als voordeel dat de software voor een PCBX vele malen overzichtelijker is opgesteld dan voor vele conventionele systemen (zie figuur 2.6).

Hierdoor is het toevoegen en/of wijzigen van features van het systeem vele malen sneller te realiseren.

(17)

PB X Software PCBX Software

Figuur2.6Verschil in software PBX en PCBX systemen

Natuurlijke integratie IT& T

Een PCBX is gebaseerd op de integratie van informatietechnologie en telecommunicatie (zie figuur 2.7). Waar bij PBX systemen deze gebieden nog geheel gescheiden zijn en verbonden worden door een CTI link, is er· bij een PCBX sprake van een overlap van deze gebieden.

CTilink

PBX

Figuur2. 7Integratie van IT&T bij de PCBX

PCBX

Door deze voordelen is een PCBX een sterk alternatief voor de geleverde PBX'en.

2.4 Eisen aan een PCBX systeem

De eisen aan het PCBX systeem zijn afgeleid van de functionaliteit van PBX systemen.

Moderne PBX systemen bezitten vaak 200 of meer features. Uit onderzoek is gebleken dat het grootste deeI daarvan zelden of nooit gebruikt wordt. Het implementeren van aile PBX functies is daarom niet zinvol. Het PCBX systeem moet de meest gebruikte features wei bezitten. Het eisenpakket is als voigt:

Heteisenpakket

1. De PCBX moet de standaard schakel functies van een PBX bezitten.

2. Features:

a) Call Forwarding

b) CCBS (Completion of Call to Busy Subscriber) c) Transfer Call

d) Driegesprek (Conference Call) 3. Flexibiliteit

4. Betrouwbaarheid

In de volgende paragrafen worden de eisen afzonderlijk besproken.

2.4.1 Standaard schakel-functies

De belangrijkste functie van een PBX systeem is het leggen van verbindingen tussen verschillende telefoonaansluitingen. Deze verbindingen kunnen zowel binnen het lokale telefoonnet gelegd worden, als naar het publieke telefoonnetwerk. Deze functie staat ook

(18)

2.4.2 Feature 1: Call Forwarding

Met behulp van Call Forwarding wordt een telefoonnummer doorgeschakeld naar een ander toestel (met een ander nummer). Deze functie kent drie verschillende toestanden.

1. Initialisatie 2. Actief 3. Deactivatie

Ad 1. Bij de initialisatie geeft een gebruiker aan dat aanvragen voor gesprekken op een bepaalde terminal (toestel 1) doorgeschakeld worden naar een andere terminal (toestel 2). Na deze initialisatie blijft het wei mogelijk om toestel 2 direct te bereiken.

Ad 2. De feature wordt actief wanneer iemand de doorgeschakelde terminal probeert te bereiken. Het systeem grijpt dan in en verbindt de beller door naar de terminal waarnaar doorgeschakeld is (toestel 2). Dit toestel is ook rechtstreeks bereikbaar.

Ad 3. Een gebruiker geeft aan dat de doorschakelservice beeindigd moet worden.

Gesprekken zullen vanaf dit moment met de oorspronkelijke terminal (toestel 1) worden verbonden.

2.4.3 Feature 2: CCSS

CCBS staat voor Completion of Call to Busy Subscriber. Deze functie zorgt ervoor dat wanneer een toestel in gesprek is, de verbinding later, wanneer beide toestellen vrij zijn, alsnog gemaakt wordt. De beller die het gesprek tot stand probeert te brengen geeft aan de centrale aan dat hij de verbinding later door de centrale tot stand wi! laten brengen.

Zodra beide toestellen vrij zijn, wordt eerste de beller gewaarschuwd en daarna het eerder gebelde toeste!.

2.4.4 Feature 3: Transfer Call

Deze functie geeft de gebruiker de mogelijkheid tijdens een gesprek de andere beller door te verbinden naar een derde toeste!. Hij zet de door te schakelen partij in de wachtstand en maakt dan een verbinding met het top-stel waar naartoe moet worden doorverbonden.

Door dan de verbinding te verbreken worden de twee andere toestellen met elkaar verbonden.

2.4.5 Feature 4: Driegesprek

Het driegesprek is een uitbreiding van de Transfer Call functie. Bij een Call Transfer bestaat er een verbinding tussen drie toestellen, ge'initieerd door een toeste!. Bij een Call Transfer kunnen echter maar twee toestellen met elkaar communiceren. Bij een driegesprek kunnen aile drie de toestellen met elkaar communiceren. De manier waarop een driegesprek tot stand komt lijkt op die van de TC functie. Nadat de verbinding met de derde partij is gemaakt verbreekt de beller niet de verbinding maar geeft aan dat hij een driegesprek wi!. Hierna zijn de drie partijen met elkaar verbonden.

Deze implementatie wijkt af van de wijze waarop deze functie op veel PBX'en ge'implementeerd is. Daar wordt, voordat de derde partij gebeld wordt, aangegeven dat er een driegesprek moet worden opgezet.

2.4.6 Flexibiliteit

De flexibiliteit van de PCBX is een zeer belangrijk punt. Dit is het punt waar de PCBX voordelen biedt boven de huidige PBX systemen. De flexibiliteit geldt zowel voor de software als de hardware. Een PCBX systeem is volledig open. Dit heeft als gevolg dat applicatie ontwikkelaars geheel vrij zijn de hardware te gebruiken zoals zij willen. Hierdoor is er meer vrijheid bij het ontwikkelen van applicaties. Op deze vrijheid wordt later teruggekomen.

De opbouw van een PCBX biedt de mogelijkheid om systemen met verschillende capaciteiten aan te bieden. Normaal gesproken hoeft de software niet te worden aangepast. Zo kan er een programma worden ontwikkeld, waar systemen mee kunnen worden bestuurd van verschillende omvang. Dit is voor middelgrote bedrijven een groot

(19)

voordeel. Een PCBX hoeft niet op de groei te worden gekocht. Het systeem kan (binnen bepaalde grenzen) worden uitgebreid..

2.4.7 Betrouwbaarheid

PBX systemen staan bekend om hun betrouwbaarheid. Het uitvallen van een telefooncentrale is voor bedrijven ongewenst. De telefoon vormt de verbinding met de buitenwereld. De betrouwbaarheid is hierom een belangrijke eis aan het PCBX systeem.

Deze betrouwbaarheid vormt ook de grootste onzekerheid bij de PCBX. Een PCBX is een PC. al dan niet verbonden met andere PC's op een netwerk. De uitval van PC's is groot in vergelijking met de uitval van PBX systemen. Een PCBX met een hoge storingskans is niet acceptabel.

De betrouwbaarheid wordt vooral bepaald door het te gebruiken Operating System en het ontwerp van de gebruikte software. Bij de keuze voor het

as

en de software zal hiermee rekening moeten worden gehouden.

(20)

3 Het systeemontwerp

3.1 Inleiding

De keuzes die gemaakt moeten worden, voor zowel de software als de hardware, zijn bepalend voor het systeem. In dit hoofdstuk wordt beschreven welke keuzes er gemaakt zijn en waarom.

3.2 De Hardware

3.2.1 De standaard protocollen

Op dit moment zijn er twee CTI bus standaarden beschikbaar, SCSA4 en MVlp5. Beide zijn ontwikkeld om het voor hardware producenten duidelijk te maken aan welke regels ze zich moeten houden om zo compatibiliteit, voor zowel de soft- als hardware, te kunnen garanderen. Zo kan het ene SCSA product van fabrikant A gebruikt worden met een ander SCSA product van fabrikant B. Hetzelfde geldt voor producenten van MVIP producten. SCSA en MVIP beschrijven een zogenaamde standaard voor open systemen, waarmee bedoeld wordt [Dialogic6]:

1. Een open, softwareonafhankel;~ke, hardware architectuur.

2. Een open, hardware onafhankelijke, software architectuur

Deze twee eisen zorgen samen voor een standaard voor open computer telefonie systemen. Dit in tegenstelling tot PBX'en waarbij de systemen gesloten zijn en men gebonden is aan de mogelijkheden die de producent aan zijn product meegeeft. SCSA en MVIP producten zijn onderling niet compatibel, al zijn er wei steeds meer producenten die hun producten door beide systemen laten ondersteunen.

3.2.1.1 SCSA

Dialogic presenteerde in 1993 SCSA, een standaard die voldoet aan de eisen die gesteld worden aan een volledig open systeem. De SCSA standaard is gebaseerd op de SCbus

die de SCSA producten karakteriseert. Deze bus verbindt tot maximaal 16 SCSA kaarten met elkaar. De verschillende kaarten communiceren niet via de PC-bus (bijvoorbeeld PCI) en belasten zo de PC zo min mogelijk. Intensief dataverkeer tussen de verschillende kaarten heeft hierdoor geen invloed op de belasting van de PC.

De SCbus heeft een capaciteit van 1024 bi-directionele, 64 Kbps kanalen en maakt gebruik van Time Division Multiplexing (TDM). Zo geeft de bus informatie door van de ene kaart aan de andere. Deze verbinding tussen de kaarten is essentieel voor het systeem.

Wanneer men grotere systemen wil ontwikkelen is men genoodzaakt meerdere kaarten te gebruiken, waarbij iedere kaart zijn eigen specifieke functie heeft. Hierbij kan men denken aan ISDN-30, FAX en Voice Processing kaarten, die onderling communiceren via de SCbus. De hoge capaciteit van de SCbus biedt de mogelijkheid grotere systemen te bouwen. ledere verbinding tussen twee kaarten geschiedt via een times/ot van de SCbus, maar door de toepassing van TDM wordt deze niet volledig gebruikt. Hierdoor kunnen

4 SCSA™ Signal Computing System Architecture 5 MVlp™ Multi-Vendor Integration Protocol

(21)

meerdere verbindingen worden gemaakt via een times/ot. De capaciteit van de SCbus levert voorlopig geen beperkingen.

3.2.1.2 MVIP

Natural Microsystems presenteerde in 1990, samen met zes andere bedrijven, de MVIP standaard. Sindsdien zijn er verschiliende verbeteringen van MVIP op de markt gebracht.

De laatste versie, MVIP-90, ondersteunt 256 bi-directionele kanalen. Op dit moment wordt H-MVIP getest, deze gaat 1536 bi-directionele kanalen ondersteunen, maar is nog niet leverbaar.

Met MVIP kunnen maximaal 1536 poorten (aansluitingen) ongeblokkeerd over de bus worden ondersteunt. De MVIP bus verzorgt, net zoals de SCbus, de verbindingen tussen de verschiliende computerkaarten.

3.2.1.3 Vergelijking tussen MVIP en SCSA

In de praktijk zijn de verschilien tussen MVIP en SCSA klein. SCSA biedt op dit moment een grotere capaciteit dan MVIP. Zo ondersteunt MVIP 256 bi-directionele verbindingen op zijn bus en SCSA 1024. Tevens is MVIP beperkt tot 1536 aansluitingen. Het aantal aansluitingen op een SCSA systeem is onbeperkt. Wei moet gezegd worden dat MVIP op dit moment door meer producten ondersteund wordt dan SCSA. Dit lijkt echter niet lang meer te duren, omdat steeds meer producenten zich voliedig richten op de SCSA standaard. SCSA krijgt de steun van bijna alie producenten en is op weg de standaard te worden.

Op grond van bovenstaande overwegingen is besloten gebruik te maken van SCSA producten.

3.2.2 De hardware producenten

Er zijn verschillende producenten van SCSA producten. De bekendste zijn Dialogic (de ontwerper van de SCSA standaard), Dianatel en Rhetorex. Dialogic heeft het grootste assortiment aan SCSA producten en gel:iet als ontwerper van de SCSA standaard duidelijk de voorkeur.

3.2.3 De hardware keuze

Bij het maken van een keuze voor de hardware is als uitgangspunt een zo klein mogelijk systeem genomen, waarmee toch nog de functionaliteit en flexibiliteit goed getest kunnen worden. De uiteindelijke keuze is afgebeeld in figuur 3.1. Er is gekozen voor 2 maal 24 analoge binnenlijnen om ook de interactie tussen twee kaarten te kunnen testen. De verbinding met het publieke telefoon netwerk wordt gerealiseerd met een ISDN 30 kaart.

SCbus

ISDN-3D

Figuur3. 1Het systeem in de PC

(22)

De buitenlijnen

De ISDN-30 kaart die Dialogic levert is de D/300SC-E1TM kaart. Deze kaart bezit onder andere de volgende mogelijkheden:

• Verbindt de PC met 30 digitale telefoon kanalen.

• Beantwoordt automatisch inkomende gesprekken (maakt contact).

• Detecteert kiestonen van bellers.

• Kan gesproken berichten aan de beller laten horen.

• Kan analoge signalen digitaliseren en opslaan.

• Kan naar buiten bellen en het resultaat van de bel actie doorgeven.

AI deze mogelijkheden worden in real time verwerkt. Voor meer informatie over de D/300SC-E1 zie bijlage A1

De binnenlijnen

Ais verbinding met de analoge toestellen biedt Dialogic de MSIISC™ serie, waarbij MSI/SC staat voor Modular Station Interface for the SCbU5. Deze interface heeft onder andere de volgende mogelijkheden:

• Verbindt tot maximaal 24 analoge telefoontoestellen direct met de computer.

• Controleert en beheert aile gemaakte verbindingen.

Maakt Audio conferencing (groepsgesprekken) van twee tot acht deelnemers mogelijk.

De MSI/SC kaart wordt met een SAl240 interface verbonden met de analoge telefoontoestellen. Deze interface is niets me~r dan een verloopstekker. Voor uitgebreidere informatie over de MSI/SC serie van Dialogic, zie bijlage A2.

De koppeling

Via de SCbus wordt de MSI kaart gekoppeld worden aan de D/300SC-E1 kaart. Het is ook mogelijk meerdere kaarten samen te koppelen. De opbouw waarvoor gekozen is, een D/300SC-E1 kaart en twee MSI/SC-240 kaarten, resulteert in een systeem met 30 externe en 48 interne lijnen. Dit systeem kan uitgebreid worden tot maximaal 210 externe en 216 interne lijnen (andere configuraties zijn ook mogelijk, zolang het totale aantal van 16 kaarten per PC maar niet overschreden wordt). Grotere systemen zijn ook te realiseren door gebruik te maken van meerdere servers. Zo kunnen twee NT servers via een speciale verbinding samengevoegd worden tot t:en groot systeem.

Het grote voordeel van het Dialogic systeem is dat het uitbreidbaar is met verschillende andere opties, zoals fax, video en IVR kaarten. Tevens kan een systeem op maat gemaakt worden en later in omvang worden aangepast.

3.3 De Software

De software bepaalt welke functies de PCBX heeft en de manier waarop ze worden uitgevoerd. In deze paragraaf zal eerst het eisenpakket voor de software worden opgesteld waarna een vergelijking zal worden gemaakt tussen de verschillende alternatieven.

3.3.1 Het eisenpakket

Voordat de eisen genoemd worden moet er een onderscheid gemaakt worden tussen eisen en wensen. Zo is de grootste wens dat er een ontwikkelomgeving gevonden wordt waarin op een snelle wijze een goed besturingssysteem ontwikkeld kan worden. Dit zijn omgevingen waar de basis voor CTI applicaties al voorbereid is.

De eisen aan de software ontwikkelorngeving zijn:

1. De software moet het mogelijk maken in real time aile calls af te handelen. De software mag niet verantwoordelijk zijn voor vertragingen bij het opzetten van een gesprek.

2. De software moet in staat zijn door middel van multithreading grote systemen te besturen. De software moet geen beperking zijn voor het aantal aansluitingen dat kan worden ondersteund.

3. De software moet de mogelijkheid bieden de systeemeisen te implementeren (zoals een bijvoorbeeld conference call).

(23)

4. In de toekomst zal de software voor de PCBX aangepast moeten kunnen worden door anderen. Het is niet wenselijk dat zij geconfronteerd worden met een onoverzichtelijke en onbekende programmeertaal

Vooral eis twee blijkt nogal een probleem te zijn bij verschillende ontwikkelomgevingen.

Toch is deze eis noodzakelijk om aan gebruikers eenvoudige uitbreiding te kunnen garanderen.

3.3.2 Beschikbare software pakketten

Om tot een geschikte keuze te komen voor de omgeving waarin de software ontwikkeld zal worden zijn verschillende producten met elkaar vergeleken. Enkele bekende softwarepakketten zijn:

1. Visual Voice Pro for Windows NT (van Stylus Inc.) 2. Show N Tel (van Brooktrout Inc.)

3. Voice Operating System (VOS, van Parity) 4. Rekoll (van N-Soft)

5. Visual C++ (van MicroSoft) of Borland C++

Elk van deze pakketten heeft zijn voor- en nadelen. In tabel 3.1 staan de bepalende eigenschappen van iedere optie vermeld.

h ft

T.b/31Ea e Igen5c appen50 ware

Software Pakket Ontwikkel Netwerk Maximum Ondersteuning

omQevinQ support? Capaciteit

Visual Voice Pro IDE script Ja 48 C++

Show N Tel IDE script Onbekend 96 TSL script

GUI C++

VOS command line Nee 72 Voice Channels C++

>240 for switching

Rekoll command line Ja 120 C

C++ IDE script Ja Bepaald door

command line hardware

Uit de tabel blijkt dat de ontwikkelomgeving en de capaciteiten van de verschillende systemen sterk verschillen.

Vanwege de beperkte capaciteit van zowel Visual Voic: Pro, Show N Tel en Rekoll zijn zij niet geschikt als ontwikkelomgeving voor de PCBX. Bij VOS ontbreekt de ondersteuning voor netwerkprotocollen, deze zijn voor CTI applicaties echter belangrijk (zie ook hoofdstuk 5).

Programmeertalen (en niet speciale CTI talen), zoals CH , vormen een betere optie. Deze omgevingen bieden aile vrijheid. Er moet wei rekening gehouden worden met een langere ontwikkeltijd, omdat er geen gebruik kan worden gemaakt van standaard bouwblokken zoals deze bij andere omgevingen wei meegeleverd worden.

3.3.3 De software keuze

De beschikbare software pakketten hebben allemaal verschillende nadelen en bieden daarom niet de geschikte omgeving om het systeem in te ontwikkelen. Er is daarom gekozen voor een ontwikkeling in C++. Het systeem wordt geheel object georienteerd (00) opgebouwd. Het object model wordt in hoofdstuk 4 besproken.

(24)

4 Het object georienteerd systeemmodel voor de PC-based switch

4.1 Inleiding

Object-orientatie (00) is eind jaren zestig ontstaan als programmeertechniek. De taal Simula-67, gericht op simulaties, was de eerste programmeertaal die ondersteuning bood voor het definieren van klassen en het creeren van objecten, de basis van 00 (zie paragraaf 4.2). In de jaren zeventig gingen de ontwikkelingen op beperkte schaal verder, o.a. bij Xerox PARC waar de taal Smalltalk werd gedefinieerd. Pas in de jaren tachtig sloeg00 echt aan. Met de introductie van Smalltalk-80 en andere talen als C++ en Eiffel, begonnen steeds meer mensen ge"interesseerd te raken in het idee van objecten. Tevens werden de relaties met andere ontwikkelingen uit de jaren 70 zoals modularisatie en abstracte data types duidelijker. Naast de introductie van programmeertalen en omgevingen werd ook een begin gemaakt met onderzoek naar ontwikkelmethoden voor object-georienteerd systeem ontwikkeling. Ook werden (en worden) bepaalde ideeen uit de 00 wereld toegepast in nieuwe (soorten) tools, varierend van databases tot grafische user-interface pakketten en 4 GL's, zoals Borland Delphi.

Omdat is gebleken dat deze techniek voordelen biedt boven andere programmeertechnieken, is de software voor de PCBX op deze object georienteerde manier ge"implementeerd. In het vervolg van dit hoofdstuk wordt beschreven wat de00 programmeertechniek inhoudt, en hoe de 00 structuur van de software voor de PCBX eruit ziet.

4.2 Object georienteerd programmeren

Het centrale idee bij 00 is dat een systeem bestaat uit samenwerkende objecten [Rumbaugh]. Objecten verenigen toestand (data) en gedrag (operaties) in een concept.

leder object heeft bepaalde interne variabelen (attributen) waarin data is opgeslagen.

Verder is er een verzameling operaties (of methoden) die andere objecten kunnen aanroepen om iets met het object te doen. De methoden zijn een soort procedures die toegang hebben tot de interne variabelen van een object. Maar methoden kunnen ook weer methoden aanroepen van andere objecten. Het aanroepen van een methode van een object wordt ook wei het versturen van een bericht genoemd.

In de meeste talen en omgevingen worden objecten beschreven door klassen. Een klasse beschrijft zowel de structuur als de operaties voor een bepaald soort objecten. In de klasse wordt vastgelegd welke interne variabelen een object van die klasse kent, en welke methoden er zijn en hoe die ge"implementeerd zijn. Daadwerkelijke objecten zijn nu instanties van zo'n klasse. Ze bevatten waarden voor de verschillende variabelen die in de klasse zijn gedefinieerd. Op een instantie kunnen de operaties die in de klasse zijn gedefinieerd worden uitgevoerd. Bij de executie van zo'n methode is het object waarop de methode wordt aangeroepen een (impliciete) parameter. Ais voorbeeld kunnen we ons de klasse "button" voorstellen met de bijbehorende instantie-variabelen (positie, tekst, kleur, etc.) en operaties (maak zichtbaar, verplaats, etc.). Instanties van deze klasse (de objecten) zijn dan buttons die we daadwerkelijk op het scherm kunnen zien en manipuleren.

(25)

Object Modeling Technique (OMT)

Een veel gebruikte methode om object georienteerde systemen te modelleren is de Object Modeling Technique (OMT), ook wei Rumbaugh [referentie] methode genoemd.

Deze methode beschrijft een systeem vanuit drie verschillende invalshoeken:

1. Statisch model 2. Dynamisch model 3. Functioneel model

Het idee achter OMT is dat deze drie modellen samen een volledige beschrijving geven van een systeem. Het implementeren van de software voor een systeem voigt dan rechtstreeks uit de gemaakte modellen. Uit het statisch model volgen de verschillende klassen die ge"implementeerd moeten worden en welke functionaliteit ze bezitten. Uit het dynamisch model voigt hoe de objecten met elkaar communiceren en geeft dus impliciet de volgorde van opdrachten aan in de software.

Het statisch model

Het statisch model geeft de structuur van de objecten weer. Deze wordt bepaald door de attributen en methoden van het object en zijn relaties met andere objecten. Het statische model wordt weergegeven in een object model. De volgende notaties zijn daarin van toepassing (zie figuur 4.1)

Klassenaam 1

relatie

Attributen 4

Methoden

~

Klassenaam 2

Attributen

Methoden

Exact1(Iop I) - - - _ e Velen(lop(Oofmeer»

- - - - < 0 Optioneel(Iop (0 ofI) 1+

lofmeer 1-3

Gespecificeerd(Iop(Itim3))

Figuur4.1Notaties in een statisch model

In het statisch model wordt de multipliciteit van een relatie tussen twee klassen aangeduid met de notaties zoals afgebeeld in figuur 4.1. Ais voorbeeld kunnen we een klasse

"telefoon" nemen. Deze telefoon wordt geleverd in een aantal uitvoeringen, bijvoorbeeld met of zonder display. We hebben een klasse die zo'n display beschrijft. In het statisch model zou deze relatie 'optioneel' worden weergegeven. Het telefoontoestel heeft exact een hoorn, de klasse "telefoon" heeft dan een 'exact' relatie met de klasse "hoorn".

Binnen OMT worden meerdere relaties tussen objecten beschreven. Deze relaties worden in het model van de PCBX niet gebruikt en zijn daarom hier buiten beschouwing gelaten.

Het dynamische model

Het dynamische model beschrijft het gedrag van het object en wordt op twee manieren beschreven:

1. Een event diagram 2. Een state diagram

In een event diagram wordt de interactie tussen verschillende objecten als functie van de tijd weergegeven in het verloop van de tijd. Op deze manier wordt duidelijk hoe een systeem, bestaande uit die objecten, zich zal gedragen. In een state diagram wordt weergegeven hoe de

state

van een object veranderd onder invloed van bepaalde events.

Een state van een object beschrijft de toestanden waarin een object zich kan bevinden en welke akties het dan onderneemt (zie figuur 4.2).

(26)

\

Status van een ObjectIMethode

J

event

~.--,~~ State 1

do: Aktie

State 2

~--4-~ do: Aktie

.tate diagram

tijdl

Object I Object 2 Object 3 +-- Objecten

event x (geen Klassen!)

methode A methode B

Een event, gegenereerd door Object I • komt

binnen bij Object 2

methodeC

Aanroep van een methode in Object 3 methodeD

methodeE

event diagram

Figuur4.2Het event en state diagram Het functionele model

Het functioneel model beschrijft op welke manier data getransporteerd, gewijzigd en toegepast wordt in het systeem. Oit model is vooral van toepassing in systemen waarin veel data verwerkt wordt (zoals databases). In het PCBX systeem is hiervan echter geen sprake en heeft het functionele model geen toegevoegde waarde op de systeemmodellering. Bij de beschrijving van het model zal het functionele model dan ook niet gegeven worden.

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

(27)

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 c

f h i q

*

Alerting Connected Failed Hold Initiated Queued Undefined

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

(28)

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

(29)

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.

(30)

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 Relaties:

Party

Default Session

Aile Services Taken:

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.

(31)

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.

(32)

Event Handler

..

'

, . '

...

Terminal Agent

Local Analog Default Service

Local Analog Default Service SF

Figuur 4.10 State Diagrams start Default Service

De PCBX wacht voortdurend op een event. Wanneer dit event een analoge terminal is die Off Hook gaat, wordt de TA van de betreffende terminal gewaarschuwd. Deze vraagt aan de LADSSF om een LADS. De LADSSF start deze service en geeft dit door aan de TA.

De LADS wacht daarna op een digit van de terminal. Wanneer deze is ontvangen kijkt de LADS of er bij de betreffende digit een service hoort. Deze service wordt opgestart, waarna de LADS wordt afgesloten.

Een uitgebreid object model (inclusief methoden en attributen) en Event Trace zijn weergegeven in bijlage C7.

4.5.2 De Default Service voor de externe lijnen

De default service voor een externe lijn moet worden opgestart als er op de ISDN-30 aansluiting een request voor een verbinding met een analoge terminal binnenkomt. Een externe lijn zal dan doorverbonden moeten worden met een lokale terminal. De default service voor het PCBX systeem bestaat uit POTS. Een externe lijn zal meteen om digits gevraagd worden om te kunnen bepalen met welke terminal hij verbonden zal moeten worden. De default service doet dus niets anders dan het opstarten van de POTS Service.

4.6 De POTS Service

De POTS Service vormt de basis van het PCBX systeem. Er bestaan drie verschillende POTS sessies:

1. een gesprek tussen twee interne terminals op dezelfde interface kaart 2. een gesprek tussen twee interne terminals op verschillende interface kaarten 3. een gesprek tussen een externe lijn en een interne terminal

(33)

Het verbinden van twee analoge terminals geschiedt anders dan het verbinden van een analoge terminal met een externe lijn. Er zijn twee mogelijkheden om tussen deze drie gevallen onderscheid te maken.

1. De POTS service maakt het onderscheid tussen de verschillende soorten verbindingen en geeft aan de voor iedere specifieke connectie andere opdrachten naar het Connection Management.

2. De POTS service 'weet' niet wat voor terminals het bedient, en geeft de verschillendepartyIDs door aan het Connection Management, die daarna zelf uitzoekt hoe deze verbindingen gemaakt moeten worden

Om een generieke POTS functie te realiseren is gebruik gemaakt van de tweede optie.

Dit vereenvoudigt de POTS functie maar maakt vooral het Connection Management ingewikkelder. In figuur 4.11 staan de relaties en verantwoordelijkheden van de POTS sessie afgebeeld.

POTS Service Relaties:

Party

Terminal Agents

Number Plan

Connection Management

POTS Service Factory Taken:

Vraagt om digits van een Party en geeft feedback aan een Party

Maakt contact met andere Terminal via het

Numbering Plan

Maakt de verbinding tussen twee Parties met behulp van de Connection Manager

Figuur4.11Relaties en verantwoordelijkheden van de POTS Service

In het object model in figuur 4.11 staat de default service (zie paragraaf 4.5) niet meer weergegeven. Deze is nog wei steeds noodzakelijk om voor een POTS service te kunnen kiezen. Het verloop van de POTS service wordt als voigt gekarakteriseerd. (figuur 4.12).

I.

@TI @ §]

2.

f§-i-@ §]

3.

f§- c -@- *-§]

4.

f§- c -@- a-§]

5.

f§- c -@- c-§]

Figuur4.12Verloop POTS Service

De POTS service bestaat uit vier fases. Ten eerste wordt het gesprek ge"initialiseerd. Er wordt door een terminal om een verbinding gevraagd. Daarna wordt een verbinding gemaakt tussen het gesprek en de terminal. Er wordt dan ook gevraagd welke terminal gebeld moet worden. Dat gebeurd in de volgende fase. Uiteindelijk wordt, nadat de gebelde terminal heeft opgenomen, ook de gebelde terminal met het gesprek verbonden.

Een meer gedetailleerde beschrijving van de POTS service staat afgebeeld in figuur 4.13.

Hierin staan ook de toestanden weergegeven waarin de verbinding tussen de beide

(34)

POTS finished do: Kill POTS

Invalid

Done do: Wait

Figuur4.13State diagram POTS Service

De POTS service wordt in een later stadium uitgebreid met een Transfer Call (paragraaf 4.9) en Conference Call (paragraaf 4.10) service.

De event trace van de POTS service en het uitgebreide object model staan weergegeven in bijlage CB.

4.7 De Call Forwarding Service

De Call Forwarding Service (ook wei *21 Service genoemd) kan aileen uitgevoerd worden door lokale terminals. In paragraaf 4.3 is gebleken dat in hetnumberplan gezocht wordt naar het bij een telefoonnummer behorende Terminal 10. Bij de Terminal wordt gekeken welke Party bij de Terminal hoort. Hieruit voigt dat niet de party_ID veranderd moet worden, maar de Terminal10.In principe zou het tevens mogelijk zijn een terminal door te verbinden naar een externe poort. Dit is echter niet gebruikelijk en wordt ook hier niet gedaan. De oorspronkelijke verwijzing moet wei bewaard blijven, wanneer de *21 service ongedaan gemaakt wordt. Hieruit voigt meteen het feit dat de *21 service uit twee delen bestaat. Het initieren en afbreken. Deze zullen beide door dezelfde service worden uitgevoerd.

Om de *21 service te kunnen uitvoeren wordt het nummerplan object uitgebreid met een extra functie, het opslaan van een tweede nummer. De data wordt als voigt opgeslagen:

I_T.;...e""Ie.;...t:.;...oo.;...n.;,;;.n;.;,;u.;,;;.m""m.:.,:e.;...r_---LI....;T:..,:e.:.:rm.:.,:i""n.:.:aI:..,:I.::;D \ *21Nummer

Het object model van de *21 service staat weergegeven in figuur 4.13. Het uitgebreide object model staat, evenals de event trace, weergegeven in bijlage C9.

(35)

*21 Service Relaties:

Party

Number Plan

Terminal Agent

*21 Service Factory Taken:

Vraagt om digits van een Party en geeft feedback aan een Party

Voegt in het nummerplan het doorschakelnummer toe

Verwijdert het doorschakelnummer uit het nummerplan

Figuur4.13Object model en diagram voor de ~21 Service

Het verloop van de~21 Service staat weergegeven in het state diagram (figuur 4.14).

Tenninal On Hook Terminal exists

Telephone Number Tenn.lD Number

1111 T_IDl

2222 T_ID2 3333

3333 T ID3

Telephone Number Tenn. ID Number

1111 LID I

2222 LID2

3333 T ID3

After initialisation Before

Figuur4.14State Diagram ~21Service

Een speciaal geval van de *21 service doet zich voor wanneer vanuit de terminal waar naartoe is doorgeschakeld gebeld wordt naar de terminal die doorgeschakeld is (in figuur 4.14: T_ID3 belt naar T_ID2). Normaal gesproken zou de bellende terminal een busy signaal krijgen, omdat hij naar zichzelf staat doorgeschakeld. Dit is niet het geval. In de

*21 service is het wei mogelijk om dan naar de doorgeschakelde terminal te bellen vanuit de terminal waarnaar is doorgeschakeld (in figuur 4.14 krijgt T_103 een verbinding met T_ID2).

Het beeindigen van het doorschakelen geschiedt met #21. Op dat moment wordt het veld '*21 Nummer' leeg gemaakt.

De *21 service heeft direct invloed op de werking van de POTS service. De POTS service moet controleren of de betreffende terminal doorgeschakeld is. Via het nummerplan kan

Referenties

GERELATEERDE DOCUMENTEN

The rotational temperature of the excited state can be determined from line ratios in the emission spectrum (e.g. with a Boltzmann plot).. For this purpose, diatomic molecules are

Furthermore, we developed an NTM model to quantify the amount of carbon emission due to Nike EMEA operations, and showed that remanufacturing of end-of-life products

The first important result is that if base stock levels and reorder points are kept as is and the actual return lead times differ from the return lead time as used in the model,

While the data in this project is that of a spectral nature, since it is composed of vibration amplitudes for corresponding frequencies, in the majority of cases the data used

These interfaces provide the third party with network specific information, which it needs to provide its services (e.g. a user's location, phone number).. In this approach

Applications (or services) on origin servers (e.g., CGI scripts) that produce standard content formats in response to requests from user agents in the mobile terminal. W AE

Consequently, this study aims to fill the gap by (i) understanding the suppliers’ sustainability learning behavior which means evolution of supplier’s sustainability levels

Compared to the phase behavior of P2 and P3 observed by POM, polymer P1 shows a more gradual transition between the mesogenic and isotropic phase (Figure 3.3).. While heating