ISDN-merkinannon testiohjelmien siirto uuteen testiympäristöön

Samankaltaiset tiedostot
1. ISDN: VERKKOKERROS

Ring-Data Oy Aethra NT1plus käyttöohje Aethra NT1plus. Käyttöohje. Ring-Data Oy. Sivu 1/13

Aethra NT1 Plus ISDN-VERKKOPÄÄTE

AETHRA NT1 Plus. Ring-Data Oy. ISDN - verkkopääte + 2ab. Käyttöohje

1. ISDN PALVELUT. 1.1 Palvelujen kastijako ja suhde OSI -malliin

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. UUDELLEENKUTSU VARATTUUN LIITTY- MÄÄN

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. KOPUTUS

ISDN User Part - ISUP

OSI ja Protokollapino

S Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

TCAP - Transaction Capabilities Sovellusosaa käyttävät

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

DownLink Shared Channel in the 3 rd Generation Base Station

1. ATM: SIGNALOINTI. 1.1 Protokollat

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. VÄLIKYSELY, KOLMEN NEUVOTTELU JA SIIRTO

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. TILAAJATOIMINTEISIIN LIITTYVIÄ YLEI- SIÄ PERIAATTEITA

tutustua erääseen digitaalisen puhelinverkon merkinantoon nähdä käytännössä sanomapohjaisen merkinannon merkitys

ISDN User Part - ISUP

JOVISION IP-KAMERA Käyttöohje

Toimilohkojen turvallisuus tulevaisuudessa

MixW ja Dx-vihjeet (ohje) oh3htu

Telecommunication Software

Tietoliikenne II (2 ov)

ISUP 3: Application Transport Mechanism (APM)

TCAP - Transaction Capabilities Sovellusosaa käyttävät

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

Tietoliikenne II (2 ov)

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

Visma Software Oy

Harjoitustyön testaus. Juha Taina

1. ISDN: SOVELLUKSIA JA TUOTTEITA SUOMESSA

BaseMidlet. KÄYTTÖOHJE v. 1.00

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. PUHELUN JÄLJITYS

S Laskuharjoitus 2: Ratkaisuhahmotelmia

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

PANKKILINJAN FTP - KUVAUS

Luennon sisältö. Protokolla eli yhteyskäytäntö (1) Verkon topologia

Integrated Services Digital Network

S Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio

Visma Nova Webservice Versio 1.1 /

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Kuva maailmasta Pakettiverkot (Luento 1)

Tehtävä 2: Tietoliikenneprotokolla

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Tekstiviestipalvelun rajapintakuvaus

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Tietueet. Tietueiden määrittely

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

1. ISDN KEHITYS JA STANDARDIT

Standardiliitännät. Tämä ja OSI 7LHWROLLNHQQHWHNQLLNDQSHUXVWHHW $(/&7 0DUNXV3HXKNXUL

Valppaan asennus- ja käyttöohje

Tietotekniikan valintakoe

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Ulkoiset mediakortit Käyttöopas

S11-09 Control System for an. Autonomous Household Robot Platform

2 Konekieli, aliohjelmat, keskeytykset

T Testiraportti - järjestelmätestaus

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Testiautomaatiota automaatiojärjestelmän sovellustestauksen automatisointiin. Metso Automation Mika Karaila

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Luento 4 Aliohjelmien toteutus

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Osoitin ja viittaus C++:ssa

T Testiraportti - integraatiotestaus

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Ulkoiset mediakortit. Käyttöohje

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

Salasanan vaihto uuteen / How to change password

5. HelloWorld-ohjelma 5.1

DOORSin Spreadsheet export/import

S Teletekniikan perusteet

Sisäänkirjaus Uloskirjaus. Yritystieto

GUIDELINES FOR IMPLEMENTATION KANSALLISET TILAAJATOIMINTEET. SULJETTU KÄYTTÄJÄRYHMÄ

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje

1. ISDN RAJAPINNAT JA TOIMINNOT

Automaattinen yksikkötestaus

Action Request System

Maventa Connector Käyttöohje

OSI malli. S Tietoliikenneverkot S Luento 2: L1, L2 ja L3 toiminteet

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Työsähköpostin sisällön siirto uuteen postijärjestelmään

PC-LAITTEEN TESTAAMINEN

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä.

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Ohje Inteno EG101 modeemin ohjelmistopäivitykseen

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Opiskelijoiden HOPSit

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Ohjelmoinnin perusteet Y Python

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

Transkriptio:

Teknillinen Korkeakoulu Teletekniikan laboratorio S-38.128 Teletekniikan erikoistyö ISDN-merkinannon testiohjelmien siirto uuteen testiympäristöön Tekijä: Ohjaaja: Jussi Laine 44238H Jussi.Laine@iki.fi Vesa Kosonen Jätetty: 22.09.1999

TEKNILLINEN KORKEAKOULU ERIKOISTYÖN TIIVISTELMÄ Tekijä: Työn nimi: Jussi Markus Laine ISDN-merkinannon testiohjelmien siirto uuteen testiympäristöön Päivämäärä: 22.09.1999 Sivumäärä: 34 Osasto: Professuuri: Työn ohjaaja: Sähkö- ja tietoliikennetekniikan osasto Teletekniikka Vesa Kosonen Tämän erikoistyön tavoitteena on tutkia ISDN-lisäpalvelujen testaukseen käytettävien testiohjelmien siirtoa uuteen testiympäristöön. Ratkaisuna esitetään ISDN-peruspalveluiden testamiseen käytetyn Ilmari-ohjelman kehittäminen siten, että siihen lisätään vanhassa lisäpalvelutestilaitteessa (Hewlett-Packard 37900D) käytetyt komennot, joita oli totuttu käyttämään lisäpalvelutestien teossa. Ongelmana olivat erilaiset laitteistoympäristöt sekä vanhojen, Pascal-kielisten proseduurien sovittaminen C-kielellä toteutettuun Ilmari-ohjelmaan. Työn tavoitteena on myös toteuttaa testejä uudella ohjelmalla CCBS-, CD- ja ECTlisäpalveluille. Tuloksena syntynyt ohjelma osoittautui käyttökelpoiseksi liittymämerkinannon testaukseen. Uusien testien tekeminen on melko helppoa, kunhan tottuu uuteen testauslogiikkaan. Ohjelman suurin puute on ISUP-testauksen automatisoinnin puute. AVAINSANAT: ISDN, ILM, lisäpalvelut, testaus i

Sisällysluettelo LYHENNELUETTELO...III 1 JOHDANTO...1 2 ISDN-LISÄPALVELUT...2 2.1 LISÄPALVELUIDEN OHJAUS...3 2.1.1 Keypad-ohjaus...3 2.1.2 Funktionaalinen ohjaus...4 2.2 PUHELUN ODOTUS...4 2.3 TARJOTUN PUHELUN SIIRTO...5 2.4 PUHELUN SIIRTO...6 3 NYKYISET TESTILAITTEET...7 3.1 HEWLETT-PACKARD 37900D SIGNALING TEST SET...7 3.1.1 APPascal...7 3.2 ILMARI...9 4 TESTIYMPÄRISTÖN VAIHTO...12 4.1 SUUNNITTELU...12 4.2 TOTEUTUS...14 4.3 VANHOJEN TESTIOHJELMIEN HYÖDYNTÄMINEN...14 5 UUDET TESTIOHJELMAT...15 5.1 CCBS...15 5.2 CD...17 5.3 ECT...17 6 JOHTOPÄÄTÖKSET...19 LÄHDELUETTELO...21 ii

LYHENNELUETTELO 2B+D 30B+D 3PTY AOC ISDN-perusliittymä, 2 B-kanavaa + D-kanava ISDN-järjestelmäliittymä, 30 B-kanavaa + D-kanava Three Party, kolmen neuvottelu Advice of Charge, maksunosoitus ASN.1 Abstract Syntax Notation No. 1 BER BRI CCBS CD CFB CFNR CFU CLIP CLIR COLP COLR CR CW DDI ECT ETSI HOLD ILM ISDN Basic Encoding Rules, peruskoodaussääntö Basic Rate Interface, ISDN-perusliittymä Completion of Calls to Busy Subscriber, puhelun odotus Call Deflection, tarjotun puhelun siirto Call Forwarding Busy, ennakkosiirto varattu-tapauksessa Call Forwarding No Reply, ennakkosiirto ei vastaa-tapauksessa Call Forwarding Unconditional, ennakkosiirto Calling Line Identification Presentation, kutsuvan tilaajan numeron ilmaisu Calling Line Identification Restriction, kutsuvan tilaajan numeron ilmaisun esto Connected Line Identification Presentation, kytketyn tilaajan numeron ilmaisu Connected Line Identification Restriction, kytketyn tilaajan numeron ilmaisun esto Call Reference, puhelutunnus Call Waiting, koputus Direct Dialling In, ohivalinta Explicit Call Transfer, puhelun siirto European Telecommunications Standards Institute Call Hold, puhelun pito ISDN-liittymämerkinanto Integrated Services Digital Network, digitaalinen monipalveluverkko iii

ISUP ITU-T IUT LAPD MSN NT OSI PC PRI SDL SUB TEI TP ISDN User Part, ISDN-käyttäjäosa International Telecommunication Union - Telecommunication standardization sector Implementation Under Test, testauksen kohde Link Access Protocol - D-channel Multiple Subscriber Number, moninumerointi Network Terminal, verkkopääte Open Systems Interconnection Personal Computer, henkilökohtainen tietokone Primary Rate Interface, ISDN-järjestelmäliittymä Specification and Description Language, spesifikaatio- ja kuvauskieli Subaddressing, aliosoitus Terminal Endpoint Identifier, päätelaitteen liitäntäpisteen tunniste Terminal Portability, puhelun tilapäinen keskeytys iv

1 JOHDANTO ISDN (Integrated Services Digital Network) -lisäpalveluiden muodostaman monimutkaisen järjestelmän toiminnan tunteminen on teleoperaattorille tärkeää, jotta voidaan varmistaa, että tilaajien kokema palveluntaso ei heikkene palveluja parantamaan tarkoitettujen lisäpalveluiden takia. Lisäpalvelut on siis tarkastettava huolellisesti. Tämä työ keskittyy lisäpalveluiden tarkastukseen ISDNliittymämerkinannon (ILM) osalta. Sonerassa pääasiallinen testilaite ISDN-lisäpalveluiden testaamiseen on ollut Hewlett- Packard 37900D Signaling Test Set, joka alkaa käydä jo vanhanaikaiseksi ja valmistajan tuki laitteelle on loppumassa. Mahdollisen uuden testilaitteen myötä joudutaan vanhat testiohjelmat päivittämään uudelle laitteelle sopivaksi eikä uusia ohjelmia kannata enää tehdä vanhaan ympäristöön. Siirtymäkauden ajaksi on etsittävä vaihtoehtoisia ratkaisuja lisäpalveluiden testaamiseksi. ISDN-peruspalveluiden testaukseen Sonerassa käytetään Ilmari-nimistä ohjelmaa, joka pyörii tavallisessa Windows-PC:ssä. Tämän työn tarkoituksena on selvittää mahdollisuuksia Ilmarin käyttämiseen ISDN-lisäpalveluiden testaamisessa ja myös toteuttaa uusia testejä eri tyyppisille ISDN-lisäpalveluille, joille ei vielä ole testiohjelmia vanhoillekaan laitteille. Tämä työ olettaa, että lukijalla on jo kohtuulliset tiedot ISDN-liittymämerkinannosta, ASN.1 (Abstract Syntax Notation No. 1) -kielestä ja BER (Basic Encoding Rules) - koodauksesta. ISDN-liittymämerkinannon selostaa ITU-T:n (International Telecommunication Union - Telecommunication standardization sector) standardi Q.931, mutta kansantajuisempiakin teoksia löytyy, esimerkiksi Kessler G., Southwick P.:ISDN: Concepts, Facilities and Services ja Stallings W.: ISDN and Broadband ISDN with Frame Relay and ATM. ASN.1:n ja BER:n opiskeluun oiva perusteos on Steedman D.:Abstract Syntax Notation One (ASN.1) The Tutorial and Reference. 1

2 ISDN-LISÄPALVELUT ISDN:n peruspalvelut voidaan jaotella verkko- ja telepalveluihin. Verkkopalvelut sisältävät OSI (Open Systems Interconnection)-mallin 3 alinta kerrosta ja ITU-T:n määrittelemiä verkkopalveluita ovat piirikytkentäisistä palveluista esim. 64kbit/s rajoittamaton verkkopalvelu läpinäkyvään tiedonsiirtoon, 3,1kHz:n ääni-informaation siirtopalvelu, 7kHz:n ääni-informaation siirtopalvelu sekä pakettikytkentäisistä palveluista esim. yhteydetön pakettikytkentäinen verkkopalvelu D-kanavalle. Telepalvelut ovat käyttäjän havaitsemia toiminnallisia kokonaisuuksia, jotka sisältävät OSI-mallin kaikki 7 kerrosta. Telepalvelut käyttävät hyväkseen verkkopalveluita ja niitä ovat esim. puhelu, telefax ja telex. Lisäpalveluilla tehostetaan ja monipuolistetaan verkko- ja telepalveluiden käyttöä. Lisäpalveluiden toiminta on määritelty ETSI:n (European Telecommunications Standards Institute) standardeissa. [1] Verkkopalvelut Sovelluskerros Sovelluskerros Esitystapakerros Esitystapakerros Istuntokerros Istuntokerros Kuljetuskerros Kuljetuskerros Verkkokerros Verkkokerros Siirtoyhteyskerros Siirtoyhteyskerros Fyysinen Fyysinen kerros kerros Telepalvelut Kuva 1 Verkko- ja telepalvelut OSI-mallissa Yleisiä, käytössä olevia ISDN-lisäpalveluita ovat esim.: Kutsuvan tilaajan numeron ilmaisu (Calling Line Identification Presentation, CLIP), Kutsuvan tilaajan numeron ilmaisun esto (Calling Line Identification Restriction, CLIR), Ohivalinta (Direct Dialling In, DDI), Moninumerointi (Multiple Subscriber Number, MSN), Puhelun tilapäinen keskeytys (Terminal Portability, TP), 2

Koputus (Call Waiting, CW), Aliosoitus (Subaddressing, SUB), Ennakkosiirto (Call Forwarding Unconditional, CFU), Ennakkosiirto varattu -tapauksessa (Call Forwarding Busy, CFB), Ennakkosiirto ei vastaa -tapauksessa (Call Forwarding No Reply, CFNR), Maksunosoitus (Advice of Charge, AOC), Puhelun pito (Call Hold, HOLD), Kolmen neuvottelu (Three Party, 3PTY), Kytketyn tilaajan numeron ilmaisu (Connected Line Identification Presentation, COLP) ja Kytketyn tilaajan numeron ilmaisun esto (Connected Line Identification Restriction, COLR). Tämän erikoistyön eräänä tavoitteena on saada aikaan testausohjelmia seuraaviin kolmeen ISDN-lisäpalveluun, jotka käsitellään tarkemmin kappaleissa 2.2-2.4: Puhelun odotus (Completion of Calls to Busy Subscriber, CCBS), Tarjotun puhelun siirto (Call Deflection, CD) ja Puhelunsiirto (Explicit Call Transfer, ECT). 2.1 Lisäpalveluiden ohjaus Lisäpalveluiden ohjaamiseen käytetään Suomessa joko keypad-ohjausta tai funktionaalista ohjausta. 2.1.1 Keypad-ohjaus Keypad-ohjaus suoritetaan päätelaitteen näppäimistöllä käyttäen numeroita sekä *- ja #- merkkejä. Keypad-ohjaus ei vaadi päätelaitteelta erikoisominaisuuksia, mutta on palveluiden mutkistuessa hankalasti käytettävä, kun ohjauskoodit pitkittyvät [1]. Esimerkkejä keypad-ohjauksista: Välittömän ennakkosiirron aktivointi: *21# Välittömän ennakkosiirron aktivointi numeroon 54321: *21*54321# 3

Välittömän ennakkosiirron passivointi: #21# Välittömän ennakkosiirron tilan kysely: *#21# 2.1.2 Funktionaalinen ohjaus Funktionaalinen ohjaus eroaa keypad-ohjauksesta siten, että käyttäjän ei tarvitse tietää miten lisäpalvelua ohjataan verkon kannalta, vaan riittää oman päätelaitteensa tunteminen. Funktionaalista ohjausta käyttävän päätelaitteen on ymmärrettävä lähettämiensä ja vastaanottamiensa sanomien tarkoitus. HOLD lisäpalvelua ohjataan erillisillä HOLD, HOLD ACKNOWLEDGE, HOLD REJECT, RETRIEVE, RETRIEVE ACKNOWLEDGE ja RETRIEVE REJECT - sanomilla. Muiden lisäpalveluiden funktionaaliset ohjaussanomat lähetetään Facility - informaatioelementissä. Ohjaussanomat on määritelty ASN.1:llä, joka koodataan BER:llä (Basic Encoding Rules) biteiksi, jotka voidaan siirtää käyttäjältä verkolle, joka osaa tulkita ne lisäpalvelun ohjauspyynnöksi. 2.2 Puhelun odotus Puhelun odotus (CCBS)-lisäpalvelun avulla A-tilaaja pyytää verkkoa valvomaan B- tilaajan vapautumista, mikäli tämä oli varattu. B-tilaajalla on vapauduttuaan hetki (max. 15s) aikaa muodostaa uusi puhelu, mutta B-tilaajalle tulevia puheluita ei verkko salli. Jos B-tilaaja pysyy vapaana, A-tilaajaa informoidaan tästä ja A-tilaajan hyväksyttyä uuden soiton, muodostaa verkko puhelun B-tilaajalle. CCBS-lisäpalvelun toiminta ILMmerkinannon osalta määritellään ASN.1-koodauksineen ETSI:n standardissa EN 300 359-1. [2, 3] 4

B varattu A CCBS A A :lle ilm oitus vapautumisesta B B vapautuu B Kuva 2 Puhelun odotus 2.3 Tarjotun puhelun siirto Tarjotun puhelun siirto (CD)-lisäpalvelu mahdollistaa käyttäjälle tulevan puhelun siirtämisen ennen siihen vastaamista. CD-lisäpalvelua voidaan käyttää sen jälkeen, kun ilmoitus tulevasta puhelusta on saapunut käyttäjälle, mutta kuitenkin ennen puheluun vastaamista. CD-lisäpalvelun toiminta ILM-merkinannon osalta määritellään ASN.1- koodauksineen ETSI:n standardissa EN 300 207-1. [4, 5] A A B CD B C Kuva 3 Tarjotun puhelun siirto (CD) 5

2.4 Puhelun siirto Puhelun siirto (ECT)-lisäpalvelun avulla käyttäjä A, jolla on kaksi puhelua (käyttäjille B ja C), voi yhdistää nämä puhelut käyttäjien B ja C väliseksi puheluksi. Käyttäjä A siis irrottautuu puheluistaan lisäpalvelun avulla. Puhelut voivat olla käyttäjän A kannalta joko tulevia tai lähteviä, mutta toiseen puheluista on oltava jo vastattu, kun taas toinen voi olla hälytys-vaiheessa. Toisen puhelun on oltava pidossa, mutta verkkokohtaisesti on myös mahdollista, että kummankaan puheluista ei tarvitse olla pidossa. ECTlisäpalvelun toiminta ILM-merkinannon osalta määritellään ASN.1-koodauksineen ETSI:n standardissa EN 300 369-1. [6, 7] B ECT A C A C Kuva 4 Puhelun siirto 6

3 NYKYISET TESTILAITTEET Tämä kappale käsittelee nykyisiä testilaitteita. Hewlett-Packard 37900D Signaling Test Set on ollut pääasiallinen ISDN-lisäpalveluiden testaamiseen käytetty laite ja Ilmaria on käytetty lähinnä ainoastaan ISDN-peruspalveluiden testaamisessa joitakin yksinkertaisia lisäpalvelutestitapauksia lukuun ottamatta. 3.1 Hewlett-Packard 37900D Signaling Test Set HP37900D-testilaitteeseen voidaan liittää 4 liityntärajapintakorttia. ISDNlisäpalvelutestaukseen käytetään konfiguraatiota, jossa on 2 kpl 2.048Mbit/s liityntärajapintakorttia ja 2 kpl S-rajapintaliityntäkorttia. Joka kortissa on 2 liityntää, jolloin käytössä on yhteensä 4 liityntää joko ISDN-järjestelmäliittymää (Primary Rate Interface, PRI) tai ISDN-käyttäjäosaa (ISDN User Part, ISUP) varten sekä 4 liityntää ISDN-perusliittymälle (Basic Rate Interface, BRI). HP37900D-laitteeseen voidaan ohjelmoida testejä käyttäen SDL (Specification and Description Language) -kieltä. HP37900D:n SDL-kieli ei sellaisenaan sovellu kovinkaan monimutkaisten testien toteuttamiseen, sillä esimerkiksi ehtolauseiden toteuttaminen on käytännössä mahdotonta. Tämä puute on korjattu Sonerassa kehitetyillä Pascal-proseduureilla, joihin SDL-kielisessä testiohjelmassa voi olla kutsuja CALL-komennolla. Pascal-kirjaston nimi on APPascal ja se esitellään tarkemmin seuraavassa kappaleessa. Ohessa on erittäin lyhyt katkelma SDL:llä kirjoitetusta testiohjelmasta, jossa odotetaan syötettä IAM, jonka saavuttua lähetetään vasteeksi ACM ja ANM sekä siirrytään tilaan WAIT: PROCESS TESTI; INPUT IAM; OUTPUT ACM; OUTPUT ANM; NEXTSTATE WAIT; Kuva 5 Esimerkki SDL:llä kirjoitetusta testiohjelmasta 3.1.1 APPascal APPascal-proseduurikirjastoon on toteutettu erilaisia HP37900D-testilaitteen ohjelmointia helpottavia ja monimutkaisten testien tekoa mahdollistavia proseduureja, 7

joista on tehty mahdollisimman protokollariippumattomia, jotta niitä voitaisiin käyttää useiden eri protokollien testeissä. Proseduurit on jaettu viiteen eri ryhmään toimintansa perusteella: hakuproseduurit, kopiointi/lähetysproseduurit, swap-proseduurit, asetus/laskentaproseduurit ja tulostusproseduurit. Eräs tärkeä APPascalin ominaisuus on IE:ksi (Internal Event) kutsuttu muuttuja, joka saa määrättyjä arvoja proseduurien tulosten perusteella. Näin voidaan päätellä IE:tä tutkimalla onnistuiko haku ja voidaan ehdollistaa proseduurien suorittamista. [8] APPascal sisältää lähes 60 erilaista proseduuria, joista suurinta osaa ei kuitenkaan tarvita ISDN-lisäpalveluiden testiohjelmissa, sillä laitetta ja proseduurikirjastoa käytetään myös muiden protokollien ja palveluiden testaamiseen. ISDNlisäpalvelutesteissä eniten käytetyt ja tärkeimmät proseduurit liittyvät ASN.1- rakenteisten sanomien käsittelyyn. Esimerkkinä käsitellään proseduuri AP_DSS1, jota käytetään ILM-informaatioelementin hakemiseen. Kutsuttaessa AP_DSS1-proseduuria SDL:n CALL-komennolla käytetään seuraavia parametrejä: AP_DSS1 str ind nn [IEnn] [C:RTV1] [V:RTV2] {[H AX] 11XX1100} 1. Proseduurin otsikko (AD_DSS1 + valinnaiset ehtoparametrit [ IFnn <>nn <=nn =>nn ], joilla voidaan ehdollistaa IE:n perusteella proseduurin suoritus) 2. Muuttuja (str), johon käsiteltävä sanoma on talletettu 3. Haettavan informaatioelementin tunnisteen arvo (ind) heksakoodattuna 4. Ensimmäisen haettavan oktetin järjestysnumero ko. informaatioelementissä (nn, 00 = pituusosoitin) 5. Valinnaiset parametrit [ IEnn C:RTV1 V:RTV2 ]. 5.1. IEnn asettaa IE:n arvoon nn onnistuneen haun yhteydessä 5.2. C:RTV1 kopioi löydetyn informaatioelementin muuttujaan RTV1 5.3. V:RTV2 vertailee löydettyä informaatioelementtiä muuttujaan RTV2 6. Haettava oktettijono joko heksakoodattuna, jolloin on käytettävä parametriä H ennen heksadesimaalisia oktetteja (H AX) tai binäärikoodattuna (11xx1100). Maskina voidaan käyttää merkkiä 'X', jonka tilalle hyväksytään mikä tahansa bitti tai puolioktetti. ESIMERKKI: CALL 'AP_DSS1 STR 04 00 IE01 H 80 90 a3'; Esimerkkikutsu etsii muuttujasta STR informaatioelementin, jonka tunnus on 04 hex ja tarkistaa, että pituusosoittimen jälkeen löytyy heksadesimaalinen oktettijono 80 90 a3 ja 8

onnistuneen haun yhteydessä IE saa arvon 01. Eli käytännössä tarkistetaan, onko verkkopalvelu puhe. 3.2 Ilmari Ilmari on Sonerassa kehitetty ISDN-liittymämerkinannon testausohjelma, joka toimii tavallisissa Windows-käyttöjärjestelmällä varustetuissa PC-tietokoneissa. Ilmari käyttää hyväkseen X-Net Oy:n NetHawk LAPD (Link Access Protocol - D-channel) - palvelimien tarjoamia rajapintoja. Tietokoneissa on myös X-Net Oy:n NetHawk-kortit, joiden tarjoamia fyysisen tason palveluita LAPD-palvelin käyttää hyväkseen. PC PC Ilm ari-testausohjelm a PRI LAPDpalvelin BRI LAPDpalvelin PRI -kortti BRI -kortti 30B+D NT 2B+D ISD N Kuva 6 Ilmari-testausjärjestelmän rakenne Ilmarille on kehitetty oma testauskielensä, jolla eri testitapaukset toteutetaan. Taulukko 1 sisältää Ilmarin komennot selityksineen. Komento Selitys H Testin otsikko. 9

Komento Selitys Unn, Nnn Aloitustila. Testin alkutilan määrittely. % Kommenttimerkki. R Vastaanota (receive) sanoma -komento. S Lähetä (send) sanoma -komento. (, ) Sulkuja voidaan käyttää R-lauseissa vastaanotetun sanoman huomiotta jättämiseen.? Analysointikomento. Tämä voi seurata R-komentoa, jolloin ohjelmisto vertaa vastaanotetun sanoman sisältöä?-komennon sisältöön. {, } Aaltosulkuja käytetään siirtämään ohjelmiston parseri eli testauskielen tulkki sisemmälle tasolle. CONNECT_CODEC O P Tämä komento yhdistää testerissä olevan kuulokkeen valittuun puhekanavaan. Tai (or) -komento. Tulostuskomento. T, W Ajastin (timer) -komento. QUIT Quit-komento. Lopettaa testin. Taulukko 1 Ilmarin testauskielen komennot Lähteville ja tuleville puheluille on määritelty omat porttinsa: portti A lähtevälle ja portti B tulevalle puhelulle siten, että molemmilla on sama TEI (Terminal Endpoint Identifier) -arvo (ts. verkon kannalta katsottuna puhelut muodostetaan yhdellä päätelaitteella). Lisäksi on mahdollista käyttää portteja C ja D vastaavasti lähtevälle ja tulevalle puhelulle siten, että TEI-arvo on eri. [9] Seuraavana esitellään yksinkertainen esimerkki Ilmarin testiohjelmasta. ITU-T:n standardit Q.931 ja Q.850 auttavat testin seuraamista, mikäli ISDNliittymämerkinannon heksadesimaalinen esitys ei ole tuttua. Puhelujen tilat on määritelty Q.931:n kappaleessa 2.1, testissä käytettyjen sanomien rakenne Q.931:n kappaleissa 3.1.1 (ALERTING) ja 3.3.11 (STATUS). Puhelun tila - informaatioelementti on määritelty Q.931:n kappaleessa 4.5.7 ja syyarvo - informaatioelementti Q.850:n kappaleessa 2. Testi on otsikoltaan Receipt of an inopportune message ja sen tarkoitus on varmistaa, että puhelinkeskus toimii standardin mukaisesti, jos aktiivitilassa lähetetään odottamaton sanoma (tässä tapauksessa ALERTING). Keskuksen pitäisi lähettää tällöin STATUS-sanoma syyarvolla 98 (message not compatible with call state or message type 10

non-existent or not implemented). Testin aloitustila on N10 eli testi alkaa vasta puhelun siirryttyä aktiivitilaan. Kun alkutila on saavutettu, liittymästä lähetetään ALERTINGsanoma (sanomatunnus 01 hex ) ISDN-porttiin B, jonka jälkeen odotetaan keskukselta vastineeksi STATUS-sanomaa. Vastaanotetusta sanomasta tarkastetaan sekä syyarvoettä puhelun tila -informaatioelementit. Syyarvo -informaatioelementti tarkastetaan etsimällä sanomasta heksadesimaalinen oktettijono 08 xx 02 80 e2 tai 08 xx 82 e2, jotka määrittelevät halutun syyarvon sekä sijainnin (public network serving the local user). Puhelun tila -informaatioelementistä tarkastetaan, että keskus ilmoittaa olevansa oikeassa tilassa eli tilassa N10 (0a hex ). HReceipt of an inopportune message N10 S B, 01 R B, STATUS? 08 xx 02 80 e2 08 xx 82 % callstate N10? 14 01 0a Kuva 7 Esimerkki Ilmarin testiohjelmasta Kun esimerkkiohjelma ajetaan Ilmarilla ja keskus toimii oikein, saadaan Ilmarilta seuraavanlainen tulostus sekä monitorille että testilokiin, josta sitä voidaan myöhemmin tarkkailla tarvittaessa. Receipt of an inopportune message (ALERTING) ---------- Entering state N10... ------------------- ---------- Network is now in state N10 ------------- -> ALERTING 400 ms 08 01 81 01 C SAPI=0 TEI=65 P/F=1 I 500 ms <- STATUS 08 01 01 7d 08 02 82 e2 14 01 0a Right message: B, STATUS I found element(s): 08 xx 02 80 e1 08 xx 02 80 e2 08 xx 02 80 e5 08 xx 82 e1 08 xx 82 e2 08 xx 82 e5 I found element(s): 14 01 0a TEST RESULT:OK Kuva 8 Esimerkki Ilmarin ajamasta testistä 11

4 TESTIYMPÄRISTÖN VAIHTO Testiympäristön vaihto koostui suunnittelusta ja toteutuksesta. Suunnittelun tarkoituksena oli kartoittaa mahdollisia ongelmatekijöitä jo etukäteen sekä päättää, mitä ominaisuuksia uudelta ohjelmalta vaaditaan. Toteutus on kuvattu yleisellä tasolla. 4.1 Suunnittelu Suurimmiksi ongelmatekijöiksi arvioitiin etukäteen laitteistojen erilaisuus sekä eri ohjelmointikielillä toteutettujen osuuksien yhteensovittaminen, sillä Ilmari on C- kielinen ohjelma toisin kuin Pascal-kielellä toteutettu APPascal. Turhan työn välttämiseksi arvioitiin ensin, mitkä APPascalin proseduurit ovat tarpeellisia ISDN-lisäpalvelujen testauksen kannalta. Tarpeelliset proseduurit päätettiin toteuttaa uusina komentoina Ilmariin, jonka nimeksi päätettiin myös muuttaa APIlmari. Uusien komentojen päätettiin alkavan merkeillä "AP_", jotta niiden tunnistamisen ja Ilmarin alkuperäisistä komennoista erottamisen toteuttaminen testauskielen tulkissa olisi mahdollisimman yksinkertaista. Taulukko 2 sisältää APIlmariin toteutettavat komennot. Komento Hakukomennot: AP_DSS1 AP_DSS1_ASN_COMP AP_DSS1_ASN_N AP_EXAM_RTV Kopiointikomennot: AP_COPY AP_COPY_PARTLY AP_COPY_LAST_PART AP_COPY_EXCEPT_LAST AP_APPEND Kuvaus Hakee ILM-informaatioelementin tunnisteen. Hakee ILM-informaatioelementin sisältämän ASN.1- rakenteisen komponentin. Hakee ILM-informaatioelementin sisältämän ASN.1- rakenteisen komponentin ohittaen Asn.1-rakenteen alussa olevat Component Type ja Invoke Identifier - määritykset sekä mahdollisen rakenteisuusmäärityksen ko. komponenttien jälkeen. Tutkii muuttujan sisältöä. Kopioi muuttujan toiseen muuttujaan. Kopioi muuttujan osan toiseen muuttujaan. Kopioi muuttujan loppuosan toiseen muuttujaan. Kopioi muuttujan alkuosan toiseen muuttujaan. Yhdistää muuttujat. 12

Komento AP_MODIFY Asetus/laskentakomennot: AP_INIT AP_SET_IE AP_SET_VAR Tulostuskomennot: AP_PRINT_IF_IE AP_PRINT_IF_IE_NOT Lopetuskomennot: AP_STOP_IF_IE AP_STOP_IF_NOT_IE Vianselvityskomennot: AP_SET_TRACE_MODE AP_SEND Kuvaus Muokkaa muuttujan sisältöä. Alustaa muuttujan. Asettaa IE:n haluttuun arvoon. Asettaa muuttujalle arvon. Tulostaa ruudulle tekstiä, jos IE on määrätyssä arvossa. Tulostaa ruudulle tekstiä, jos IE ei ole määrätyssä arvossa. Lopettaa testin merkiten sen epäonnistuneeksi, jos IE on määrätyssä arvossa. Lopettaa testin merkiten sen epäonnistuneeksi, jos IE ei ole määrätyssä arvossa. Asettaa trace-funktion aktiiviseksi/passiiviseksi. Tracefunktio tulostaa ruudulle tietoa komentojen etenemisestä. Lähettää sanoman siten, että se näkyy ruudulla ja on monitoroitavissa, mutta ei lähde liittymään. Taulukko 2 APIlmariin toteutettavat komennot Ilmarin perustoimintaan tarvittiin myös useita muutoksia. Testiohjelman käsittely piti muuttaa sellaiseksi, että AP_-alkuisen komennon kohdalla suoritetaan ko. komentoa vastaava funktio. Muuttujien käyttö oli myös aivan uusi asia Ilmari-ympäristössä. Muuttujien käytön selkeyttämiseksi päätettiin tehdä muuttujien alustustiedosto (var.ini), jossa olevat muuttuja-alustukset luetaan automaattisesti testiajon alussa. Tämä selkeyttää huomattavasti useiden samankaltaisten testien tekemistä, kun samoja muuttujia ei tarvitse määritellä jokaiseen testiin. Muuttujat aiheuttivat muutoksia myös Ilmarin lähetys- ja tulostuskomentoihin. Alkuperäisessä APPascalissa on käytetty jonkin verran HP37900D-spesifisiä muuttujia ja funktioita, jotka piti tunnistaa ja suunnitella niiden korvaaminen siirryttäessä APIlmariin. Siirron helpottamiseksi päätettiin, että APIlmariin riittää oktettitaso sanomien käsittelyssä, kun taas alkuperäinen APPascal mahdollisti käsittelyn yksittäisen bitin tarkkuudella. 13

Lisäpalvelutestien vaatimuksien takia päätettiin lisätä Ilmariin kaksi porttia, E lähtevälle ja F tulevalle puhelulle siten, että niiden käyttämä TEI-arvo on sama kuin portin A. Tämä mahdollistaa esim. ECT-lisäpalvelun vaatimat 2 samanaikaista puhelua eri puhelutunnuksilla samasta päätelaitteesta. Alkuperäisten A/B ja C/D -porttien avulla toteutettuna puhelut olisivat käytännössä tulleet samasta päätelaitteesta (Ilmari-PC), mutta TEI-arvojen erilaisuudesta johtuen puhelut olisivat verkon kannalta näyttäneet tulevan eri päätelaitteista. [10] 4.2 Toteutus Alkuperäiset Pascal-ohjelmat käännettiin C-kielelle PtoC-nimisellä ohjelmalla. Automaattinen käännös kahden ohjelmointikielen välillä ei aluksi tuntunut kovinkaan uskottavalta vaihtoehdolta, mutta ohjelma toimi yllättävän hyvin. Käytännössä ainoat ongelmat Pascal C -muunnoksessa aiheutuivat taulukoiden indeksien erilaisuudesta, sillä Pascal-taulukkojen indeksit alkavat 1:stä, kun taas C:ssä taulukon ensimmäisen alkion indeksi on 0. Laitteistojen erilaisuudesta johtuen jouduttiin jokainen Pascalista C:ksi sinänsä moitteettomasti käännetty funktio kuitenkin tarkastamaan järjestelmäriippuvaisten osien muokkaamiseksi uudelle alustalle sopiviksi ja testaamaan funktioiden toiminta. [11] 4.3 Vanhojen testiohjelmien hyödyntäminen Testiohjelmia on aikojen kuluessa tehty HP37900D:lle useita satoja. Näiden tekemiseen on käytetty valtava määrä työtunteja, joten niiden automaattinen siirtäminen uuteen ympäristöön olisi houkutteleva vaihtoehto. Valitettavasti kuitenkin HP:n SDL:ään perustuva testilogiikka on niin paljon erilainen kuin APIlmarin vastaava, että testien automaattinen siirto vaatisi todella paljon valmisteluja ja työkalujen rakentamista. Testejä HP:lle ei ole tehty minkään virallisten suositusten tai standardien mukaan, mikä helpottaisi yhteistoimintaa laitevalmistajien ja operaattorin välillä, kun mahdollisissa vikatilanteissa testistandardi ja testin numero kertoisi kaikille osapuolille, mistä on kyse. HP37900D-testilaitteita ei myöskään olla kokonaan romukoppaan heittämässä, vaan tarvittaessa sitä voidaan edelleen käyttää testauksiin. Edellä mainittujen syiden vuoksi ei ole järkevää ryhtyä siirtämään vanhoja HP:n testiohjelmia APIlmariin, vaan tarpeen mukaan tehdä ETSI:n testaussuositusten mukaisia testejä APIlmarille. 14

5 UUDET TESTIOHJELMAT Tämän työn tuloksena on syntynyt iso joukko uusia testejä ISDN-lisäpalveluille. Testit on tehty ETSI:n testausuositusten mukaan. Liitteessä 1 on lueteltu erikoistyön aikana valmiiksi saadut testikokonaisuudet. Seuraavissa kappaleissa käydään yksityiskohtaisesti läpi erilaisia testejä, yksi kustakin tämän työn tarkemmin käsittelemästä lisäpalvelusta. 5.1 CCBS Liitteenä 3 on APIlmarin testiohjelma, joka toteuttaa ETSI:n standardin EN 300 359-5 mukaisen CCBS-testin CCBS_N01_001, jonka kuvaus on liitteenä 2. Ohjelma tarkistaa, että keskus saadessaan tilassa N12 FACILITY-sanoman, jonka Facilityinformaatioelementti ilmaisee kyseessä olevan CCBSRequest Invoke -komponentin, vastaa tähän FACILITY-sanomalla, jonka Facility-informaatioelementissä on CCBSRequest Return result CCBSReference- ja recallmode-tietoineen. Testin alussa, otsikko- ja tilatietojen jälkeen alustetaan testissä käytettävät muuttujat AP_INIT-komennolla. Muuttujat CCBS_SETUP ja CCBS_REQ_FAC_IE ovat ns. kantamuuttujia, joita ei tarvitse muokata testiolosuhteiden mukaan. Muokattavat tiedot ovat omissa muuttujissaan, jotka päivitetään kantamuuttujiin. Esimerkiksi CCBS_SETUP-muuttujassa on verkkopalvelu (Bearer capability)-informaatioelementti ja kutsutun liittymän numero (Called party number)-informaatioelementtien tunnisteet, mutta sisältönä ainoastaan 01 hex ja pituusindikaattorin arvona näin ollen 1. Halutun verkkopalvelun ja B-numeron tiedot testaaja tallettaa muuttujiin CCBS_BC (verkkopalvelu) ja CCBS_BNR (kutsutun liittymän numero). Seuraavaksi ohjelmassa päivitetään CCBS_SETUP- ja CCBS_REQ_FAC_IEmuuttujiin Invoke identifier (muuttujassa INVOKE_ID), verkkopalvelu (CCBS_BC) ja B-numero (CCBS_BNR). Päivitys tehdään AP_DSS1_ASN_COMP-, AP_DSS1_ASN_N- ja AP_DSS1-komennoilla. Testaajan on ennen testin ajamista asetettava B-tilaaja varatuksi, josta ohjelma muistuttaa tulostamalla ruudulle tekstin "B-tilaajan oltava varattu jo". Muistutus tosin tulee liian myöhään ajossa olevan testin kannalta, mutta testaaja ymmärtänee, missä vika ja seuraavalla kerralla testin ajaminen onnistuu. Varsinainen testi suoritetaan tilassa N12, johon on tällä kertaa mentävä manuaalisesti, koska halutaan lähettää muuttuja (CCBS_SETUP). Tilaan N12 päästään lähettämällä porttiin A SETUP-sanoma, joka koostuu sanomatunnisteesta (05 hex ) ja CCBS_SETUP- 15

muuttujasta peräkkäin. Tämän jälkeen otetaan keskukselta vastaan CALL PROCEEDING- ja DISCONNECT-sanomat, joista jälkimmäisestä tarkistetaan syyarvo, jonka on oltava #17 (User busy, 91 hex ) tai #34 (no circuit/channel available, a2 hex ) tai muutoin testi lopetetaan epäonnistuneena. Samoin käy myös, mikäli B-tilaaja ei ollut varattu, sillä tällöin keskus todennäköisesti lähettää ALERTING-sanoman, joka lopettaa testin. Jos saatu sanoma ja syyarvo oli oikea, talletetaan vastaanotettu DISCONNECT-sanoma 5. oktetista alkaen muuttujaan VAR1 komennolla AP_COPY_PARTLY. Toisin sanoen VAR1-muuttujaan talletetaan DISCONNECTista kaikki sanomatunnisteen jälkeiset informaatioelementit. (Tämä pätee perusliittymätestauksessa; järjestelmäliittymän tapauksessa talletettaisiin 6. oktetista alkaen 2-oktettisen puhelutunnuksen takia). Mielenkiinto kohdistuu ainoastaan DISCONNECTin Facility-informaatioelementtiin, joten syy (cause)- ja mahdollinen etenemisosoitin (progress indicator) - informaatioelementti poistetaan AP_DSS1-komennolla ja R:ERASE-optiolla. Facilityinformaatioelementissä on calllinkageid-tunniste, jota tarvitaan CCBS-lisäpalvelun aktivoimiseen. Tunniste kopioidaan LINKAGE_ID-muuttujaan komennolla AP_DSS1_ASN_N ja C:-optiolla. LINKAGE_ID päivitetään vielä CCBS_REQ_FAC_IE-muuttujaan AP_DSS1_ASN_N-komennolla ja R:-optiolla. Tämän jälkeen lähetetään keskukselle dummy-puhelutunnuksella (puhelutunnuksen pituusindikaattorina 0) FACILITY-sanoma, joka sisältää CCBS_REQ_FAC_IEmuuttujan. Keskukselta odotetaan haluttua FACILITY-sanomaa, jonka sisältö tarkistetaan. Jos kyseessä on Return reject, tulostetaan näytölle "Return reject received" samalla, kun testi loppuu epäonnistuneena. Jos vastaanotettu sanoma oli Return error, tulostetaan tästä tieto ruudulle ja myös virheen syy todennäköisimmässä tapauksessa eli CCBSlisäpalvelua ei ole tilattu liittymään. Onnistuneessa tapauksessa vastaanotettu sanoma oli Return result, josta tarkistetaan Invoke identifier ja CCBSReference sekä recallmode. Mikäli ongelmia ei tarkistuksissa ilmene, testi menee läpi. Liitteessä 4 on APIlmarin tulostus, kun esimerkkitesti on ajettu erästä keskusta vasten. Testi paljastaa keskuksen virheellisen toiminnan, sillä keskus vastaa lisäpalvelupyyntöön väärällä Invoke identifier:llä, minkä testiohjelma havaitsee ja lopettaa testin epäonnistuneena. Keskuksen virhettä ei korjattu erikoistyön valmistumisen aikana, joten toimiviksi varmistettuja CCBS-testejä ei syntynyt lisää. 16

5.2 CD Liitteenä 6 on APIlmarin testiohjelma, joka toteuttaa ETSI:n standardin ETS 300 207-5 mukaisen CD-testin CDIV_N11_025, jonka kuvaus on liitteenä 5. Ohjelma tarkistaa, että keskus saadessaan tilassa N07 FACILITY-sanoman, jonka Facilityinformaatioelementti ilmaisee kyseessä olevan CallDeflection Invoke -komponentin ja ko. lisäpalvelua ei ole tilattu liittymään, vastaa tähän FACILITY-sanomalla, jonka Facility-informaatioelementissä on CallDeflection Return error syynä "notsubscribed". Testi alkaa automaattisella tilaan N7 menolla, jonka jälleen alustetaan muuttujat ja kantamuuttujaan CD_FAC_IE päivitetään numero, johon puhelu siirretään (DEFLECTION_ADDRESS) sekä Invoke identifier (INVOKE_ID). Varsinainen testaus tapahtuu, kun lähetetään porttiin B FACILITY-sanoma, joka sisältää juuri päivitetyn CD_FAC_IE-muuttujan. Tämän jälkeen testiohjelma varautuu ottamaan vastaan DISCONNECT-sanoman, vaikka onnistuneessa testitapauksessa keskus ei sellaista lähetä. Eräänä syynä DISCONNECT-sanoman saamiseen voi olla CDlisäpalvelun tilaaminen liittymään, jolloin DISCONNECT olisi oikea vaste lähetetylle FACILITY-sanomalle. Jos DISCONNECT-sanoman sijasta otetaan vastaan FACILITYsanoma, tarkistetaan siitä komponenttityyppi ja tulostetaan se näytölle sekä virheilmoituksen tapauksessa tarkistetaan, oliko syy ilmoitettu oikein. Liitteessä 7 on APIlmarin tulostus, kun esimerkkitesti on ajettu erästä keskusta vasten. Keskus toimii moitteettomasti ja testi menee läpi. 5.3 ECT Liitteenä 9 on APIlmarin testiohjelma, joka toteuttaa ETSI:n standardin ETS 300 369-5 mukaisen ECT-testin ECT_N01_001, jonka kuvaus on liitteenä 8. Liittymässä on kaksi puhelua aktiivisena, joista toinen on pidossa. Ohjelma tarkistaa, että keskus saadessaan pidossa olevan puhelun puhelutunnuksella FACILITY-sanoman, jonka Facilityinformaatioelementti ilmaisee kyseessä olevan EctExecute Invoke -komponentin, purkaa pidossa olevan puhelun lähettämällä tämän puhelutunnuksella DISCONNECTsanoman, jossa on Facility-informaatioelementissä EctExecute Return result. Myös puhelu, joka ei ollut pidossa on purettava DISCONNECT-sanomalla. Testi alkaa tutusti muuttujien alustuksella ja kantamuuttujien (ECT_EXEC_FAC_IE, ECT_SETUP1 ja ECT_SETUP2) päivityksillä. ECT_EXEC_FAC_IE:hen päivitetään Invoke identifier (INVOKE_ID) ja ECT_SETUP1 ja ECT_SETUP2 -muuttujiin päivitetään numerot (ECT_B1 ja ECT_B2), joihin eri puhelut tehdään. Tämän jälkeen muodostetaan puhelu, joka käyttää porttia A (puhelutunnus CR1). Juuri muodostettu 17

puhelu laitetaan pitoon, minkä jälkeen muodostetaan uusi puhelu käyttäen porttia E (sama TEI-arvo, eri puhelutunnus CR2), jota ei laiteta pitoon. Pidossa olevan puhelun puhelutunnuksella (CR1) lähetetään ECT_EXEC_FAC_IEmuuttuja FACILITY-sanomassa, jonka jälkeen odotetaan keskuksen vastausta, jonka kuuluisi olla DISCONNECT puhelutunnuksella CR1. Saadusta DISCONNECTista tarkastetaan Invoke identifier ja komponenttityyppi. Ellei DISCONNECTia saada keskukselta, tarkastetaan mahdollisesti saatava FACILITY-sanoma, jonka keskus voi lähettää lähinnä siinä tapauksessa, että ECT-lisäpalvelua ei ole tilattu liittymään. Testi lopetetaan epäonnistuneena, mikäli DISCONNECT-sanomaa ei saada tai siinä on jotain vikaa. Ensimmäisen sanoman onnistuneen tarkastuksen jälkeen otetaan vastaan DISCONNECT-sanoma puhelutunnuksella CR2, johon vastataan normaalisti RELEASE-sanomalla ja odotetaan keskukselta vielä RELEASE COMPLETE-sanoma. Liitteessä 10 on APIlmarin tulostus, kun esimerkkitesti on ajettu erästä keskusta vasten. Keskus toimii moitteettomasti ja testi menee läpi. 18

6 JOHTOPÄÄTÖKSET APIlmari on osoittautunut käyttökelpoiseksi työkaluksi ISDN-lisäpalveluiden liittymämerkinannon testauksessa. Ensi näkemältä Ilmarin alkuperäinen, erittäin yksinkertainen testauskieli on muuttunut AP-komentojen myötä sekamelskaksi, mutta Ilmari sai kuitenkin niin paljon lisäominaisuuksia muuttuessaan APIlmariksi, että kohtuullinen monimutkaistuminen on aivan hyväksyttävää. Testikieleen uusine komentoineen pääsee melko hyvin sisälle pienellä harjoittelulla ja testien ahkeralla kirjoittamisella. Lisäpalveluiden testien tekemisessä suurin työ on ensimmäisen testin tekemisessä, muut saman lisäpalvelun testiohjelmat voi yleensä rakentaa melko helposti yhdestä toimivasta ja hyvin suunnitellusta ohjelmasta, mikä nopeuttaa testien tuottamista. Käytännön työssä ilmeni, että testiohjelmien testaus on myös erittäin tärkeää. Tämä lisää testaajan luottamusta testeihin; vikatilanteen sattuessa ei tarvitse heti epäillä testiohjelman toimivuutta. Toki vikatapauksissa on ensin tarkastettava tulos huolellisesti ennen vikailmoituksen tekemistä, mutta laadukkailla testiohjelmilla testien aiheuttamat virheet vältetään. APIlmarin suurimpana haittapuolena on automaattisen ISUP-testauksen puute. HP37900D-mittalaitteella lisäpalvelujen ISUP-testaus ei vaatinut testaajalta erillisiä toimenpiteitä, sillä laitteen liitännät mahdollistivat ISUP:n kytkemisen laitteeseen, jolloin testiohjelmat voitiin laatia siten, että ISUP-osuus tarkistettiin automaattisesti. APIlmari tukee ainoastaan ILM-merkinantoa, joten ISUP-merkinanto on tarkistettava manuaalisesti monitoroimalla merkinantoa. Tämä on melko hidasta verrattuna automaattiseen tarkastukseen ja vaatii käytännössä erillisen laitteen. ISUP:n tarkastaminen ISDN-lisäpalveluiden osalta on kuitenkin välttämätöntä, jotta voidaan varmistua lisäpalveluiden toimivuudesta myös laajemmassa mittakaavasssa kuin saman keskuksen tilaajien välillä. Verrattuna HP37900D-laitteeseen APIlmarin käyttö testaajan kannalta on huomattavasti yksinkertaisempaa, mikä nopeuttaa testaustyön omaksumista. Tämä mahdollistaa APIlmarin käytön satunnaisissa testaustarpeissa myös muille kuin varsinaisille testausasiantuntijoille, mikä saattaa toisinaan olla hyvinkin käyttökelpoinen ja kustannuksia säästävä asia. Standardoitujen testien käyttäminen selkeyttää operaattorin ja laitevalmistajan välisiä vianselvitystilanteita, sillä testit on selkeästi määritelty ETSI:n dokumenteissa, joihin molemmilla on esteetön pääsy. 19

Uuden testausjärjestelmän jatkokehittäminen vaikuttaa kannattavalta, sillä siitä saadut hyödyt painavat vaakakupissa enemmän kuin ainoa tähän mennessä ilmennyt suurempi haitta (ISUP-testauksen puute). Ensimmäisenä vuorossa on luonnollisesti riittävän suuren testiohjelmakirjaston luominen APIlmarille, mikä ei vaatine itse ohjelmaan muutoksia. Mikäli testiohjelmien teossa kuitenkin havaitaan, että jokin lisäominaisuus APIlmariin on joko välttämätön tai helpottaa ratkaisevasti testiohjelmien tekoa, pystytään aikaisempien kokemusten perusteella tällainen lisäominaisuus melko nopeasti kehittämään. ISUP-testausta helpottamaan on harkittava erillisten ohjeiden tekoa. Näistä testaaja voisi tarkistaa, mihin asioihin ISUP-merkinannon monitoroinnissa tulisi kiinnittää huomioita. 20

LÄHDELUETTELO /1/ Laxén, Johan. Diplomityö: ISDN-lisäpalveluiden liittymämerkinannon testaus. Espoo. Teknillinen korkeakoulu. Sähkötekniikan osasto. 1994. 92s. /2/ ETS 300 357. Integrated Services Digital Network (ISDN); Completion of Calls to Busy Subscriber (CCBS) supplementary service; Service description. European Telecommunications Standards Institute. 1995. 25s. /3/ EN 300 359-1. Integrated Services Digital Network (ISDN); Completion of Calls to Busy Subscriber (CCBS) supplementary service; Digital Subscriber Signalling System No. one (DSS1) protocol; Part 1: Protocol specification. European Telecommunications Standards Institute. 1998. 88s. /4/ ETS 300 202. Integrated Services Digital Network (ISDN); Call Deflection (CD) supplementary service; Service description. European Telecommunications Standards Institute. 1994. 23s. /5/ EN 300 207-1. Integrated Services Digital Network (ISDN); Diversion supplementary services; Digital Subscriber Signalling System No. one (DSS1) protocol; Part 1: Protocol specification. European Telecommunications Standards Institute. 1998. 93s. /6/ EN 300 367. Integrated Services Digital Network (ISDN); Explicit Call Transfer (ECT) supplementary service; Service description. European Telecommunications Standards Institute. 1998. 16s. /7/ EN 300 369-1. Integrated Services Digital Network (ISDN); Explicit Call Transfer (ECT) supplementary service; Digital Subscriber Signalling System No. one (DSS1) protocol; Part 1: Protocol specification. European Telecommunications Standards Institute. 1998. 47s. /8/ Laxén, Johan. HP37900D AP-PASCAL, käyttöohje, versio 2.5. (Julkaisematon). 1997. 45s. /9/ Eggen Kari. ILM-merkinannon testausohjelma ILMARI, Tiedostorakenne sekä testauskielen käyttöohje. (Julkaisematon). 15s. /10/ Eggen, Kari. Laine, Jussi. Laxen, Johan. Kokous 10.2.1999. /11/ Eggen, Kari. Sonera Oy. Haastattelu 10.8.99. 21

Liite 1 Luettelo työn tuloksena syntyneistä testeistä Lisäpalvelu Standardi Testit MCID EN 300 130-5 MCID_N01_001-002, 007, 010-014 CD ETS 300 207-5 CDIV_N11_001-003, 025, 028-031, 033-034, 037-043, 046-051 CCBS EN 300 359-5 CCBS_N01_001 PRR ETS 300 207-5 CDIV_N17_007-010, 014-018, 022-026, 030-033 ECT ETS 300 369-5 ECT_N01_001-006, 010-018, 020-026, 028-034, 036-042, 044 ECT_N03_001-003, 005-008 HOLD EN 300 141-5 HOLD_N01_001-007, 009, 011-013 HOLD_N02_001-002 HOLD_N03_001-011 HOLD_N04_001-002 HOLD_N05_001-002 3PTY EN 300 188-5 3PTY_N01_001-004, 007, 009-042 3PTY_N02_001-003 1

Liite 2 CCBS-testin kuvaus APILMARI: CCBS_N01_001 ETSI: EN 300 359-5 PURPOSE: Ensure that the IUT in the Disconnect Indication call state N12 and CCBS Idle state and Retention Active state for CCBS, on receipt of a FACILITY message containing a Facility information element with a CCBSRequest invoke component including the CallLinkageID, sends a FACILITY message containing a Facility information element with a CCBSRequest return result component including the CCBSReference and recallmode and remains in call state N12. PRECONDITION: CCBS has been subscribed to REFECENCE: EN 300 359-5 subclause 9.1.1 TEST CASE SEQUENCE AND DESCRIPTION APIlmari DSS1 SETUP CALL PROC DISCONNECT #17 or #34 Local exchange IUT N12 FACILITY CCBSRequest invoke component FACILITY CCBSRequest return result component 1) Check that the cause value of the DISCONNECT message is either #17 (User busy) or #34 (no circuit/channel available) 2) Check that the received FACILITY message includes a CCBSRequest return result component with CCBSReference and recallmode 2

Liite 3 Esimerkki APIlmarilla toteutetusta CCBS-testiohjelmasta H CCBS_N01_001 @ N0 AP_INIT INVOKE_ID H:40 AP_INIT CCBS_REQ_FAC_IE H:1c 11 91 a1 0e 02 01 01 06 06 04 00 82 67 01 02 02 01 01 AP_INIT CCBS_BC H:80 90 a3 AP_INIT CCBS_BNR H:81 30 31 39 34 38 30 34 36 38 30 AP_INIT CCBS_SETUP H:a1 04 01 01 70 01 01 AP_INIT LINKAGE_ID H:09 AP_DSS1_ASN_COMP CCBS_REQ_FAC_IE 1c a1 02 R:INVOKE_ID H XX AP_DSS1 CCBS_SETUP 04 00 R:CCBS_BC H XX AP_DSS1 CCBS_SETUP 70 00 R:CCBS_BNR H XX P B-tilaajan oltava varattu jo! % Ensin tilaan N12 S A, 05 CCBS_SETUP R A, CALL PROC R A, DISCONNECT? 08 xx xx 91 08 xx xx xx 91 08 xx xx a2 08 xx xx xx a2 { AP_COPY_PARTLY INPUT VAR1 05 00 % VAR1:ssa on DISCONNECTin ie:t % Poistetaan cause ie ja mahd. progress ie AP_DSS1 VAR1 08 00 R:ERASE H XX AP_DSS1 VAR1 1e 00 R:ERASE H XX % Kopioidaan saatu calllinkageid muuttujaan LINKAGE_ID % ja päivitetään CCBS_REQ_FAC_IE:hen AP_DSS1_ASN_N VAR1 1c 01 02 00 C:LINKAGE_ID H XX AP_DSS1_ASN_N CCBS_REQ_FAC_IE 1c 01 02 00 R:LINKAGE_ID H XX } % ccbsreq dummy call referencellä S A, 08 00 62 CCBS_REQ_FAC_IE % Kommentoi seuraava rivi, jos keskus ei lähetä erasecalllinkageid:tä ennen % ccbsreq return resultia 3

R FACILITY R FACILITY { AP_COPY_PARTLY INPUT VAR1 04 00 % Huom! 04 eikä 05, koska dummy call ref % Nyt VAR1:ssa on FACILITY:n Facility ie % Tarkistetaan mitä saatiin AP_SET_IE 00 AP_DSS1_ASN_COMP VAR1 1c a4 00 IEa4 H XX AP_STOP_IF_IE IEa4 Return reject received %Jos return error, tarkistetaan myös error value AP_DSS1_ASN_COMP VAR1 1c a3 00 IEa3 H XX AP_PRINT_IF_IE a3 Return error received: AP_DSS1_ASN_COMP IFa3 VAR1 1c a3 06 IE15 H 00 AP_STOP_IF_IE IE15 notsubscribed AP_STOP_IF_IE IEa3 Something was probably wrong. Check it. %Jos return result, tarkistetaan myös invoke id AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_PRINT_IF_IE a2 Return result received AP_DSS1 IFa2 VAR1 1c 05 V:INVOKE_ID H 01 AP_PRINT_IF_IE 14 Invoke ID was OK AP_STOP_IF_IE IEa2 Wrong invoke ID % Tarkastetaan return resultista vielä CCBSReference ja recallmode AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_DSS1_ASN_N IFa2 VAR1 1c 01 02 00 IE22 C:VAR2 H XX % VAR2:ssa nyt CCBSReference AP_PRINT_IF_IE 22 CCBSReference found OK AP_STOP_IF_IE IEa2 CCBSReference not found AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_DSS1_ASN_N IFa2 VAR1 1c 01 0a 01 IE10 H 00 AP_DSS1_ASN_N IFa2 VAR1 1c 01 0a 01 IE11 H 01 AP_PRINT_IF_IE 10 recallmode: globalrecall AP_PRINT_IF_IE 11 recallmode: specificrecall AP_STOP_IF_IE IEa2 recallmode not found } 4

Liite 4 CCBS-testin tulos CCBS_N01_001@ ---------- Entering state N00... ------------------- ---------- Network is now in state N00 ------------- B-tilaajan oltava varattu jo! -> SETUP 00 ms 08 01 0c 05 a1 04 03 80 90 a3 70 0b 81 30 31 39 34 38 30 34 36 38 30 SAPI=0 TEI=74 P/F=1 I 100 ms <- CALL PROC 08 01 8c 02 18 01 89 Right message: A, CALL PROC SAPI=0 TEI=74 P/F=1 I 300 ms <- DISCONNECT 08 01 8c 45 08 02 82 91 1c 11 91 a1 0e 02 01 00 06 06 04 00 82 67 01 01 02 01 00 1e 02 82 88 Right message: A, DISCONNECT I found element(s): 08 xx xx 91 08 xx xx xx 91 08 xx xx a2 08 xx xx xx a2 -> FACILITY 300 ms 08 00 62 1c 11 91 a1 0e 02 01 30 06 06 04 00 82 67 01 02 02 01 00 C SAPI=0 TEI=127 P/F=1 UI 400 ms <- FACILITY 08 00 62 1c 11 91 a1 0e 02 01 00 06 06 04 00 82 67 01 0a 02 01 00 Right message: FACILITY C SAPI=0 TEI=74 P/F=1 I 500 ms <- FACILITY 08 00 62 1c 19 91 a2 16 02 02 01 01 30 10 06 06 04 00 82 67 01 02 30 06 0a 01 00 02 01 00 Right message: FACILITY Return result received TEST RESULT:FAIL, Wrong invoke ID TIMEOUT 1000 ms - CCBS_N01_001@ TEST RESULT: FAIL 5

Liite 5 CD-testin kuvaus APILMARI: CDIV_N11_025 ETSI: ETS 300 207-5 PURPOSE: Ensure that the IUT in the Call Received call state N07, on receipt of a FACILITY message containing a Facility information element coded as CallDeflection invoke component and if the call deflecting supplementary service has not been subscribed to for the indicated basic service, sends a FACILITY message containing a Facility information element with a valid CallDeflection return error component indicating "notsubscribed". PRECONDITION: CD has not been subscribed to REFECENCE: ETS 300 207-1 subclause 9.2.4.5.2 TEST CASE SEQUENCE AND DESCRIPTION APIlmari DSS1 Local exchange IUT SETUP ALERTING FACILITY CallDeflection invoke component FACILITY CallDeflection return error component, "notsubscribed" N7 1) Check that the received FACILITY message includes a CallDeflection return error component indicating "notsubscribed" 6

Liite 6 Esimerkki APIlmarilla toteutetusta CD-testiohjelmasta H CDIV_N11_025 @ N7 P Call Deflecting supplementary service has not been P subscribed to for the indicated basic service AP_INIT INVOKE_ID H:40 AP_INIT CD_FAC_IE H:1c 10 91 a1 0d 02 01 01 02 01 0d 30 05 30 03 80 01 31 AP_INIT DEFLECTION_ADDRESS H:30 31 39 32 34 30 34 31 37 30 AP_DSS1_ASN_N CD_FAC_IE 1c 02 30 80 00 R:DEFLECTION_ADDRESS H XX AP_DSS1_ASN_COMP CD_FAC_IE 1c a1 02 R:INVOKE_ID H XX S B, 62 CD_FAC_IE R DISCONNECT { AP_COPY_PARTLY INPUT VAR1 05 00 %Nyt VAR1:ssa on DISCONNECTin sisaltamat ie:t AP_SET_IE 00 AP_DSS1 VAR1 1c 05 V:INVOKE_ID H 01 AP_PRINT_IF_IE 14 Invoke ID was OK AP_STOP_IF_NOT_IE IE14 Wrong invoke ID % Tarkastetaan vielä comp type: rr, re vai rj AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_DSS1_ASN_COMP VAR1 1c a3 00 IEa3 H XX AP_DSS1_ASN_COMP VAR1 1c a4 00 IEa4 H XX AP_PRINT_IF_IE a2 Return result received AP_PRINT_IF_IE a3 Return error received AP_PRINT_IF_IE a4 Reject received AP_STOP_IF_NOT_IE IEa3 Wrong component type, check that CD has not been subscribed to AP_STOP_IF_IE IEa3 Return error in wrong message, should be in FACILITY S B, 4d R B, RELEASE COMP } O FACILITY { AP_COPY_PARTLY INPUT VAR1 05 00 % Nyt VAR1:ssa on FACILITY:n Facility ie 7

% Tarkistetaan mita saatiin AP_SET_IE 00 AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_DSS1_ASN_COMP VAR1 1c a3 00 IEa3 H XX AP_DSS1_ASN_COMP VAR1 1c a4 00 IEa4 H XX AP_PRINT_IF_IE a2 Return result received AP_PRINT_IF_IE a3 Return error received: AP_PRINT_IF_IE a4 Reject received AP_STOP_IF_NOT_IE IEa3 Wrong component type, should be Return error. %Jos return error, tarkistetaan error value AP_DSS1_ASN_COMP IFa3 VAR1 1c a3 06 IE00 H 00 AP_PRINT_IF_IE 00 notsubscribed -> OK AP_STOP_IF_NOT_IE IE00 Wrong error value, should be notsubscribed. } 8

Liite 7 CD-testin tulos CDIV_N11_025@ ---------- Entering state N07... ------------------- -> SETUP 00 ms 08 01 0c 05 a1 04 03 80 90 a3 70 08 c1 34 38 30 34 36 37 37 SAPI=0 TEI=72 P/F=1 I 100 ms <- CALL PROC 08 01 8c 02 18 01 89 C SAPI=0 TEI=127 P/F=1 UI 200 ms <- SETUP 08 01 01 05 a1 04 03 80 90 a3 18 01 8a 29 05 63 08 0c 0e 05 6c 0c 01 83 30 31 39 34 38 30 34 36 37 37 70 08 c1 34 38 30 34 36 37 37 -> ALERTING 300 ms 08 01 81 01 SAPI=0 TEI=72 P/F=1 I 400 ms <- ALERTING 08 01 8c 01 1e 02 84 88 ---------- Network is now in state N07 ------------- Call Deflecting supplementary service has not been subscribed to for the indicated basic service -> FACILITY 400 ms 08 01 81 62 1c 19 91 a1 16 02 01 30 02 01 0d 30 0e 30 0c 80 0a 30 31 39 32 34 30 34 31 37 30 C SAPI=0 TEI=73 P/F=1 I 500 ms <- FACILITY 08 01 01 62 1c 09 91 a3 06 02 01 30 02 01 00 Wrong message :FACILITY, Expecting DISCONNECT Right alternative message (found in a O-line): FACILITY Return error received: notsubscribed -> OK TEST RESULT:OK TIMEOUT 1000 ms - CDIV_N11_025@ TEST RESULT: OK 9

Liite 8 ECT-testin kuvaus APILMARI: ECT_N01_001 ETSI: ETS 300 369-5 PURPOSE: Ensure that the IUT in the ECT Idle state and with CR1 in state N10 (Held) and CR2 in state N10 (Idle) receiving a valid FACILITY message with CR1 containing a Facility information element with an EctExecute component, sends a DISCONNECT message with CR1 containing a Facility information element with a EctExecute return result component and enters state N12 (CR1); sends a DISCONNECT message with CR2 and enters state N12 (CR2); and remains in the same ECT state. PRECONDITION: ECT has been subscribed to REFECENCE: ETS 300 369-1 subclauses 9.2.1.1, 9.2.3 TEST CASE SEQUENCE AND DESCRIPTION APIlmari DSS1 Local exchange IUT CR1, SETUP CR1, CALL PROC CR1, CONNECT CR1, HOLD CR1, HOLD CR2, SETUP CR2, CALL PROC CR2, CONNECT CR1, FACILITY EctExecute invoke component CR1, DISCONNECT EctExecute return result component CR1, RELEASE CR1, RELEASE COMP CR1, N10 (Held) CR2, N10 (Idle) CR2, DISCONNECT CR2, RELEASE CR2, RELEASE COMP 1) Check that DISCONNECT messages are received for both call references 2) Check that the DISCONNECT message received for CR1 includes ECTExecute return result component 10

Liite 9 Esimerkki APIlmarilla toteutetusta ECT-testiohjelmasta H ECT_N01_001 @ N0 AP_INIT INVOKE_ID H:40 AP_INIT ECT_EXEC_FAC_IE H:1c 09 91 a1 06 02 01 01 02 01 06 AP_INIT ECT_B1 H:81 30 31 39 34 38 30 34 36 38 30 AP_INIT ECT_B2 H:81 30 34 30 35 39 31 37 36 32 35 AP_INIT ECT_SETUP1 H:a1 04 03 80 90 a3 70 01 01 AP_INIT ECT_SETUP2 H:a1 04 03 80 90 a3 70 01 01 AP_DSS1_ASN_COMP ECT_EXEC_FAC_IE 1c a1 02 R:INVOKE_ID H XX AP_DSS1 ECT_SETUP1 70 00 R:ECT_B1 H XX AP_DSS1 ECT_SETUP2 70 00 R:ECT_B2 H XX % CR1 tilaan N10 (Held) S A, 05 ECT_SETUP1 R A, CALL PROC R A, CONNECT (ALERTING)(PROGRESS) S A, 24 R A, HOLD ACK % CR2 tilaan N10 (Idle) S E, 05 ECT_SETUP2 R E, CALL PROC R E, CONNECT (ALERTING)(PROGRESS) S A, 62 ECT_EXEC_FAC_IE R A, DISCONNECT { AP_COPY_PARTLY INPUT VAR1 05 00 %Nyt VAR1:ssa on DISCONNECTin sisaltamat ie:t AP_SET_IE ff AP_DSS1 VAR1 1c 05 V:INVOKE_ID H 01 AP_PRINT_IF_IE 14 Invoke ID was OK AP_STOP_IF_NOT_IE IE14 Wrong invoke ID % Tarkastetaan vielä comp type: return result/error/reject? AP_DSS1_ASN_COMP VAR1 1c a2 00 IEa2 H XX AP_DSS1_ASN_COMP VAR1 1c a3 00 IEa3 H XX AP_DSS1_ASN_COMP VAR1 1c a4 00 IEa4 H XX 11