Matej Polajžer POSTAVITEV IN VREDNOTENJE PLATFORME IMS Diplomsko delo Maribor, april 2010

Podobni dokumenti
UNI_Lubej_Marko_1984_

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

(Microsoft Word - Vzor\350na ponudba za medomrezno povezovanje_Tusmobil_ doc)

(Microsoft Word - Vzor\350na ponudba za medomrezno povezovanje_Tusmobil_ doc)

Naziv storitve Enota mere Tarifa Cena brez davka v EUR Cena z davkom v EUR Stopnja davka MOBILNI NAROČNIŠKI PAKETI IN STORITVE Cene veljajo od

Presentation Name / Author

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

OBVESTILO O GRADNJI IN OBRATOVANJU JAVNEGA TELEKOMUNIKACIJSKEGA OMREŽJA

Slajd 1

PowerPoint Presentation

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

VZORČNA PONUDBA ZA MEDOMREŽNO POVEZOVANJE Z JAVNIM FIKSNIM TELEFONSKIM OMREŽJEM DRUŽBE TELEMACH D.O.O. Objavljena: Velja od Telemac

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Chapter 1

innbox_f60_navodila.indd

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan

Postavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv

bob p. p Ljubljana Tel.: (cena klica na minuto je 1 z DDV) Posebni pogoji uporabe storitve moj bob

(Microsoft Word - BRO O\212O GVO - objava javna.doc)

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]

(Microsoft Word - Predlog diplomskih nalog _Me\232e 2013_.doc)

rio_amis objava

PowerPoint Presentation

Microsoft Word - CN-BTU4 Quick Guide_SI

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_

Navodilo za uporabo dokumenta Dokument vsebuje 35 vzorčnih vprašanj za ustni izpit pri 2. predmetu poklicne mature v programu Tehnik računalništva. Vs

PowerPointova predstavitev

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc

Microsoft Word - BRO - objava - javna doc

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Darko Pevec 1.a Informatika

Microsoft Word - BRO - objava javna.doc

PowerPointova predstavitev

Splošni pogoji uporabe 1188, in 1180 Nosilec storitev zagotavljanja univerzalne službe za dajanje informacij o naročnikih preko klicnih števi

Microsoft PowerPoint - 07-bostjan_tavcar.ppt

gdpr_splosni_pogoji.indd

BRO_objava_31_1_2008

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

(Microsoft Word - BRO - objava \350istopis - javna.doc)

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

PKP projekt SMART WaterNet_Opis

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak

PowerPointova predstavitev

Vzorčna ponudba za medomrežno povezovanje z javnim telefonskim omrežjem Novatel d.o.o. Velja od Novatel d.o.o.

Memo

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Vzorcna ponudba za medomrezno povezavo_Javno fiksno telefonsko omrežje (Veljavnost )

Elektronska pošta

Sistemi Daljinskega Vodenja Vaja 1 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Splošni pogoji obdelave osebnih podatkov v družbi T-2 d o o KV.indd

Linksys PLEK500 User Guide

Microsoft Exchange 2013

Prezentacija Telekoma Slovenije

Microsoft Word - Skype_clanek2 _2_.doc

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

Spletno raziskovanje

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Microsoft Word - UNI_Markusic_Mladen_1982_

Macoma katalog copy

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod

Diapozitiv 1

Style Sample for C&N Word Style Sheet

PowerPoint-Präsentation

Diapozitiv 1

NETGEAR R6100 WiFi Router Installation Guide

PowerPoint Presentation

DES

EVROPSKA KOMISIJA Bruselj, C(2018) 6665 final IZVEDBENI SKLEP KOMISIJE (EU).../ z dne o določitvi ukrepov za pripravo seznama os

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Microsoft Word - CNC obdelava kazalo vsebine.doc

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Microsoft PowerPoint - TKI_QoS_v_IP.ppt [Compatibility Mode]

Predloga za pisanje diplomske naloge

Microsoft Word - Splošni pogoji Horizont veljavni od docx

Diplomsko delo univerzitetnega študija Organizacija in management informacijskih sistemov PRENOVA TELEKOMUNIKACIJSKEGA SISTEMA V PODJETJU Mentor: doc.

Vedno pod nadzorom, kjerkoli že ste

Prodajna ponudba paketa Druga številka Številka ponudbe: Veljavnost: od Splošno Telekom Slovenije, d.d., novim ali obstoječim naroč

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod

Program dela in finančni načrt

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o

MT40X Kratka navodila

5GVAR-IR2-R V01

Področje uporabe

Style Sample for C&N Word Style Sheet

PowerPointova predstavitev

Microsoft Word - M docx

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

Najboljša skupaj Kontrola pristopa + registracija delovnega časa

Mesečni izdatki gospodinjstev za storitve elektronskih komunikacij - poročilo - Valicon, 2012

2

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800

INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ

POSREDOVANJE REZULTATOV PO SMS

Slide 1

Microsoft Word - Pogodba-SI-TSA-v7.doc

Transkripcija:

Matej Polajžer POSTAVITEV IN VREDNOTENJE PLATFORME IMS Diplomsko delo Maribor, april 2010

I Diplomsko delo univerzitetnega študijskega programa POSTAVITEV IN VREDNOTENJE PLATFORME IMS Študent: Študijski program: Smer: Mentor: Somentor: Lektorica: Matej Polajžer UN ŠP Telekomunikacije univerzitetni, Telekomunikacije doc. dr. Andrej Žgank, telekomunikacije red. prof. dr. Zdravko Kačič, telekomunikacije Nina Žnidarič, prof. Maribor, april 2010 UNIVERZA V MARIBORU Fakulteta za elektrotehniko, računalništvo in informatiko

II

III ZAHVALA Zahvaljujem se mentorju doc. dr. Andreju Žganku in somentorju red. dr. prof. Zdravku Kačiču za vso strokovno svetovanje, potrpežljivost in vpodbude v času nastajanja diplomskega dela. Prav tako se zahvaljujem Alešu Časarju za pomoč in nasvete. Hvala tudi punci Maji za vso pomoč in razumevanje. Posebna zahvala velja staršem, ki so mi omogočili študij.

IV POSTAVITEV IN VREDNOTENJE PLATFORME IMS Ključne besede: IMS, NGN, FMC UDK: 621.39:004.777(043.2) Povzetek Diplomsko delo obravnava postavitev in performančno vrednotenje platforme IP Multimedia Subsystem (IMS), ki je namenjena razvoju aplikacij v omrežju naslednje generacije. V teoretičnem delu diplomske naloge je podrobneje opisano IMS jedro z osnovnimi gradniki ter pripadajočimi protokoli. Postavitev temelji na odprtokodnem paketu OpenIMS in vključuje namestitev Linux strežnika, postavitev domenskega strežnika, namestitev paketa OpenIMS, konfiguriranje platforme IMS, administriranje naročnikov in performančno vrednotenje. Za performančno vrednotenje smo izbrali odprtokodni paket IMS Bench SIPp, ki izpolnjuje pogoje, specificirane v ETSI TS 186 008.

V INSTALLATION AND EVALUATION OF IMS SYSTEM Key words: IMS, NGN, FMC UDK: 621.39:004.777(043.2) Abstract The presented work describes the setting up and performance evaluation of IP Multimedia Subsystem platform core focused on developing applications in nextgeneration network. The theoretical part of the diploma encompasses a detailed description of the IMS core with fundamental building blocks and related protocols. The implementation is based on the open source package OpenIMS and includes Linux server installation, setting up a domain server, implementation of the OpenIMS package, IMS platform configuration, subscriber administration and performance evaluation. For evaluation we used an open-source package IMS Bench SIPp, a test system conforming to the ETSI TS 186 008.

VI VSEBINA 1 UVOD... 1 2 IMS... 2 2.1 STANDARDIZACIJA V IMS... 3 2.2 OMREŽJA NOVE GENERACIJE... 4 2.3 STORITVE... 5 3 ARHITEKTURA IMS... 7 3.1 IDENTIFIKACIJA V IMS... 8 3.1.1 Zasebni uporabniški identifikator (IMPI)... 8 3.1.2 Javni uporabniški identifikator (IMPU)... 8 3.1.3 Javna identiteta storitve (PSI)... 9 3.1.4 GRUU... 9 3.2 DOMAČA IN TUJA OMREŽJA... 10 3.3 STREŽNIK DOMAČIH NAROČNIKOV (HSS)... 11 3.4 FUNKCIJA LOKATORJA NAROČNIKOV (SLF)... 11 3.5 FUNKCIJA KRMILJENJA KLICNE SEJE (CSCF)... 12 3.5.1 Proxy-CSCF (P-CSCF)... 12 3.5.2 Interrogating-CSCF (I-CSCF)... 13 3.5.3 Serving-CSCF (S-CSCF)... 13 3.6 FUNKCIJA KRMILJENJA PREBOJNEGA PREHODA (BGCF)... 14 3.7 PSTN PREHODI... 15 3.7.1 Funkcija krmiljenja medijskega prehoda (MGCF)... 15 3.7.2 Funkcija IMS medijskega prehoda (IMS-MGW)... 15 3.7.3 Funkcija signalizacijskega prehoda (SGW)... 15 3.8 MEDIJSKI STREŽNIK... 16 3.9 VARNOSTNI PREHOD SEG... 16 3.10 APLIKACIJSKI STREŽNIKI IN NUDENJE STORITVE... 17 3.10.1 Nudenje storitve... 19 3.10.2 SIP AS... 20

VII 3.10.3 OSA-SCS... 21 3.10.4 IM-SSF... 21 3.11 ARHIHEKTURA TISPAN NGN... 22 3.11.1 Transportna ravnina... 22 3.11.2 Storitvena ravnina... 24 3.12 VMESNIKI IN PROTOKOLI V IMS... 26 3.12.1 Referenčne točke v IMS... 26 3.12.2 Protokol SIP... 27 3.12.3 Protokol Diameter... 28 3.12.4 H.248... 30 4 OPENIMS... 32 4.1 NAMESTITEV ZAHTEVANE OPREME... 33 4.1.1 BIND 9... 33 4.2 ODDALJEN DOSTOP DO NAMIZJA... 34 4.2.1 SSL certifikati... 34 4.2.2 SSH certifikati... 37 4.2.3 Tuneliranje VNC preko SSH... 39 4.2.4 Nastavitve SSL/SSH VNC za SSH s predhodnimi nastavitvami za SSL... 41 4.3 FHOSS... 42 4.3.1 Namestitev in konfiguracija FHoSS-a... 43 4.4 CSCFS... 45 4.4.1 Namestitev in konfiguracija CSCFs... 46 4.4.2 Zagon komponent... 50 5 TESTIRANJE... 51 5.1 UPORABNIŠKA OPREMA... 51 5.1.1 X-Lite... 51 5.1.2 MONSTER... 51 5.2 TESTNA OPREMA... 52 5.2.1 IMS Bench SIPp... 52 5.3 TEST FUNKCIONALNOSTI... 53 5.3.1 Konfiguracija X-Lite... 53

VIII 5.3.2 Konfiguracija MONSTER... 53 5.3.3 Registracija UE... 54 5.3.4 Re-registracija UE... 57 5.3.5 Vzpostavitev klica... 58 5.3.6 Deregistracija UE... 60 5.4 PRIPRAVA TESTNIH SCENARIJEV... 61 5.4.1 Dodajanje naročnikov v HSS... 62 5.4.2 Konfiguracija SIPp... 62 5.5 REZULTATI TESTIRANJA... 64 6 ZAKLJUČEK... 71 7 VIRI, LITERATURA... 72 8 PRILOGE... 73 8.1 SKRIPTA ZA DODAJANJE UPORABNIKOV... 73 8.2 NASLOV ŠTUDENTA... 74 8.3 KRATEK ŽIVLJENJEPIS... 74

IX KAZALO SLIK Slika 3.1: Okolje IMS [18]... 7 Slika 3.2: Relacije med naslovnimi identifikatorji... 9 Slika 3.3: Relacije med IMPU, GRUU in UE... 10 Slika 3.4: PSTN prehodi... 16 Slika 3.5: Vmesnika Za in Zb... 17 Slika 3.6: Tipi aplikacijskih strežnikov... 18 Slika 3.7: SIP AS kot ponorna točka UA (preusmeritveni strežnik), izvorna točka UA in proxy strežnik... 18 Slika 3.8: SIP AS kot usmerjevalni in pobudni B2BUA... 19 Slika 3.9: Delovanje brez AS... 19 Slika 3.10: Storitvena platforma znotraj domačega omrežja... 20 Slika 3.11: Storitvena platforma zunaj domačega omrežja... 20 Slika 3.12: Arhitektura ETSI TISPAN NGN [13]... 25 Slika 3.13 Razširljiv protokol Diameter [15]... 29 Slika 3.14: Primer H.248 povezovalnega modela [14]... 31 Slika 4.1: Pregled Open IMS Playground [8]... 32 Slika 4.2: Program SSL/SSH VNC... 37 Slika 4.3: Nastavitve za tuneliranje X11... 39 Slika 4.4: Nastavitve vrat za tuneliranje... 40 Slika 4.5: Shranjevanje nastavitev... 40 Slika 4.6: Zagon SSL/SSH VNC... 41 Slika 4.7: Arhitektura FHoSS-a [10]... 43 Slika 4.8: Arhitektura CSCFs [11]... 46 Slika 5.1: Zgradba testnega sistema [16]... 52

X Slika 5.2: Nastavitve SIP računa... 53 Slika 5.3: Nastavitve IMS računa... 54 Slika 5.4: Postopek registracije uporabnika Alice... 56 Slika 5.5: Potek re-registracije uporabnika Boba... 58 Slika 5.6: Vzpostavitev pogovora med dvema klientoma... 59 Slika 5.7: Primer deregistracije uporabnika Boba... 61 Slika 5.8: Čas prve registracije enega naročnika... 65 Slika 5.9: Čas prve registracije več naročnikov... 66 Slika 5.10: Čas druge registracije enega naročnika... 66 Slika 5.11: Čas druge registracije več naročnikov... 67 Slika 5.12: Čas vzpostavitve seje med naročnikoma... 67 Slika 5.13: Čas vzpostavitve seje več naročnikov... 67 Slika 5.14: Čas INVITE sporočila od prvega do drugega naročnika... 68 Slika 5.15: Čas zahtev (INVITE) proženja seje... 68 Slika 5.16: Čas rušenja seje naročnika... 69 Slika 5.17: Čas rušenja seje več naročnikov... 69 Slika 5.18: Obremenitev procesorja... 69 Slika 5.19: Obremenitev pomnilnika... 70

XI KAZALO TABEL Tabela 3.1: Referenčne točke v IMS... 26 Tabela 3.2: Diameter entitete... 29 Tabela 3.3: H.248 ukazi... 31 Tabela 4.1: Ukaz za zagon strežnika x11vnc... 41 Tabela 5.1: Parametri IMS Bench SIPp... 62

XII UPORABLJENE KRATICE 3GPP Third Generation Partnership Project (Partnerski projekt tretje generacije) AAA Authentication, Authorization and Accounting (avtentikacija, avtorizacija in obračunavanje) ARF Access Relay Functions (funkcija posredovanja dostopa) AS Application Server (Aplikacijski strežnik) AVP Attribute Value Pair (par vrednosti atributa) B2BUA Back-to-Back user agent ( B2B uporabniški agent) BGCF Breakout Gateway Control Function (funkcija krmiljenja prebojnega prehoda) BGF Border Gateway Function (krmilnik mejnega prehoda) CAMEL Customized Applications for Mobile Enhanced Logic (prilagojene aplikacije za izboljšano logiko mobilnega omrežja) CDR Charging Data Record (zapis podatkova za zaračunavanje) CS PSTN/circuit-switched network (PSTN vodovno komutirano omrežje) CSCF Call Session Control Function (funkcija krmiljenja klicne seje) FHoSS Fokus HSS (Fokus strežnik domačih naročnikov) GRUUs Globally Routable User Agent URIs (globalno usmerjani uporabniški agenti enoličnih identifikatorjev virov) HLR Home Location Register (register domačih naročnikov) HSS Home Subscriber Server (strežnik domačih naročnikov) HTTP Hypertext Transfer Protocol (protokol za prenos hiperteksta) I-CSCF Interrogating CSCF (poizvedbeni funkcija krmiljenja klicne seje) IMPI IP Multimedia Private Identity (zasebni uporabniški identifikator ) IMPU IP Multimedia Public Identity (javni uporabniški identifikator) IMS IP Multimedia Subsystem (IP multimedijski podsistem) IMS MGW IMS Media Gateway Function (funkcija IMS medijskega prehoda)

XIII IM-SSF AS IP Multimedia Service Switching Function AS (aplikacijski strežnik IP multimedijske funkcije preklapljanja storitev) ISC IMS Service Control Interface (IMS vmesnik za krmiljenje storitev) L2TF Layer 2 Termination Function (funkcija zaključitve drugega sloja) MGCF Media Gateway Control Function (funkcija krmiljenja medijskega prehoda) MRFC Multimedia Resource Function Controller (krmilnik funkcije medijskih virov) MRFP Multimedia Resource Function Processor (krmilnik procesor funkcije medijskih virov) MSC Mobile Switching Center (mobilni preklopni center) NAI Network Access Identifier (identifikator omrežnega dostopa) NGN Next Generation Networking ( omrežje naslednje generacije) NASS Network Attachment Subsystem (podsistem za priključitev omrežij) OSA SCS AS Open Service Access Service Capability Server AS (strežnik z zmožnostjo realizacije storitve z odprtim dostopom do storitve) P-CSCF Proxy CSCF (posredovlana funkcija krmiljenja klicne seje) P-GRUU Public GRUUs (javni GRUU) PSI Public Service Identity (javna identiteta storitve ) PSTN Public Switched Telephone Network (javno komutirano telefonsko omrežje) RACS Resource and Admission Control Subsystem (podsistem za krmiljenje virov in dostopa) QoS Quality Of Service (kakovost storitve) SAPS Scenario Attempts Per Second (število scenarijev na sekundo) S-CSCF Serving CSCF (strežni funkcija krmiljenja klicne seje) SEG Security Gateway (Funkcija varnostnega prehoda) SGW Signalling Gateway Function (funkcija signalizacijskega prehoda) SIP Session Initiation Protocol (Protokol za zagon seje)

XIV SLF Subscription Locator Function (funkcija lokatorja naročnikov) SSH Secure Shell (varnostno ogrodje) SSL Secure Socket Layer (sloj varnih vtičnic) SUT System Under Test (preskušani sistem) T-GRUU Temporary GRUUs (začasen GRUU) UA User Agent (uporabniški agent) UA User Agent (uporabniški agent) UAC User Agent Client (klient uporabniškega agenta) UAS User Agent Server (strežnik uporabniškega agenta) UE User Equipment (uporabniška oprema) VNC Virtual Network Computing (navidezno omrežno računalništvo) S-CSCF Serving CSCF (strežni funkcija krmiljenja klicne seje) SEG Security Gateway (Funkcija varnostnega prehoda) SGW Signalling Gateway Function (funkcija signalizacijskega prehoda) SIP Session Initiation Protocol (Protokol za zagon seje) SLF Subscription Locator Function (funkcija lokatorja naročnikov) SSH Secure Shell (varnostno ogrodje) SSL Secure Socket Layer (sloj varnih vtičnic) SUT System Under Test (preskušani sistem) T-GRUU Temporary GRUUs (začasen GRUU) UA User Agent (uporabniški agent) UA User Agent (uporabniški agent) UAC User Agent Client (klient uporabniškega agenta) UAS User Agent Server (strežnik uporabniškega agenta) UE User Equipment (uporabniška oprema)

VNC Virtual Network Computing (navidezno omrežno računalništvo) XV

Postavitev in vrednotenje platforme IMS Stran 1 1 UVOD Fiksno/mobilna konvergenca in govorna/podatkovna omrežja so združila storitve naslednje generacije z dodano vrednostjo na različnih omrežnih tehnologijah. Primeri takšnih storitev so brskanje po spletu, takojšnje sporočanje, prisotnost, VoIP, video konference, telefonija, enotno sporočanje, dostava večpredstavnostnih vsebin in integrirane multimedijske storitve. Konvergenco komunikacijskih omrežij je spodbudila potreba po podpori številnim oblikam digitalnega prometa kot tudi hitrejša realizacija amortizacije in operativnih stroškov osnovnih omrežij. IMS 1 je niz specifikacij, ki opisujejo arhitekturo NGN 2 za uporabo IP telefonije in multimedijskih storitev. IMS opredeljuje celostno arhitekturo in ogrodje, ki omogoča konvergenco govora, videa, podatkov in mobilne omrežne tehnologije preko IPinfrastrukture. Zapolnjuje vrzel med dvema najbolj uspešnima komunikacijskima primeroma: celičnimi omrežji in internetno tehnologijo. Cilj diplomskega dela je postaviti in testirati jedro platforme IP Multimedia Subsystem, ki je namenjeno razvoju aplikacij v omrežju naslednje generacije. Postavitev bo temeljila na odprtokodnem paketu OpenIMS. Diplomsko delo je sestavljeno iz petih poglavij. V drugem poglavlju predstavimo zgodovino, standardizacijo in storitve okolja IMS. V tretjem poglavju podrobneje opišemo arhitekturo IMS z vsemi pripadajočimi entitetami, vmesniki in protokoli. Opis namestitve strežnika, varnega oddaljenega dostopa do namizja, domenskega strežnika in paketa OpenIMS s konfiguracijo je podan v četrtem poglavju. V petem poglavju opišemo performačno testiranje s sklopom testnih orodji IMS Bench SIPp. V zaključku povzamemo opravljeno delo in podamo predloge za nadaljnje razširitve platforme. 1 IP Multimedia Subsystem (IP multimedijski podsistem) 2 Next Generation Networking (omrežje naslednje generacije)

Postavitev in vrednotenje platforme IMS Stran 2 2 IMS Trenutno celična omrežja že zagotavljajo široko paleto storitev. Uporabnikom je omogočen dostop do interneta z uporabo podatkovne povezave in dostop do katerekoli storitve, ki jo lahko zagotovi internet. Torej, zakaj potrebujemo IMS (IP Multimedia Subsystem)? V omrežju 3G obstajata individualni domeni, vodovno komutirana domena in paketno komutirana domena. V vodovno komutirani domeni se omrežje uporablja za prenos govora in videa ali za prenos sporočil. Obstajata dve različni ravnini v vodovno komutiranih omrežjih: signalizacijska ravnina in ravnina medijev. Signalizacijska ravnina vključuje predpise, ki jo uporabljamo za vzpostavitev vodovno komutiranih poti med terminali. Ravnina medijev vsebuje podatke, posredovane preko vodovno komutiranih poti med terminali ali kodirani govor izmenjan med uporabniki. Drugi tip domene je paketno komutirana domena, ki jo uporabljmo za prenos podatkov. V skladu z 3GPP 1 je MSC 2 sestavljen iz strežnika MSC in medijskega prehoda. Strežnik MSC bo deloval na signalizacijski ravnini, medtem ko se medijski prehod ukvarja z ravnino medijev. Tudi IMS ima, enako kot vodovno komutirana omrežja in 3GPP, signalizacijsko ravnino in ravnino medijev. Vrnimo se k prvotnemu vprašanju: zakaj potrebujemo IMS? Prvi razlog za razvoj IMS je bil zagotavljanje storitev s podporo za QoS storitev brez QoS. Kakovost VoIP pogovora se tako lahko drastično spremeni. Npr. do določenega trenutka glas osebe zveni popolnoma razumljivo, vendar ga je že naslednji trenutek nemogoče razumeti (izguba paketov, trepetanje, zakasnitve...). IMS zagotavlja podpora za QoS. Tako imajo uporabniki zagotovljeno enako kvaliteto storitve ves čas njene uporabe. IMS omogoča ponudniku storitev nadzora nad kakovostjo storitve. Drugi razlog za razvoj IMS je bil omogočiti ustrezno zaračunavanje multimedijskih sej. IMS zagotavlja informacije o storitvi uporabnika, na podlagi katerih se ponudnik storitev 3. Paketno komutirana domena zagotavlja 1 3GPP 2 Mobile Switching Center (mobilni preklopni center) 3 Quality Of Service (kakovost storitve)

Postavitev in vrednotenje platforme IMS Stran 3 odloči, ali uporabi pavšalne stopnje zaračunavanja za storitev, časovno zaračunavanje, zaračunavanje, ki temelji na uporabi QoS ali kakšno novo vrsto zaračunavanja. Tretji, kar je glavni razlog za obstoj IMS, je zagotavljanje integriranih storitev uporabnikom. Razvijalci storitev uporabljajo standardni vmesnik, opredeljen z IMS, tako da lahko ponudniki storitev vključujejo in ustvarjajo nove storitve. Operaterji želijo danes uporabnikom ponuditi več paketno komutiranih storitev. Mobilni internet mora postati bolj privlačen za uporabnike. Tudi to je bil eden izmed razlogov za razvoj IMS. Cilji IMS so: združevanje najnovejših tehnoloških trendov; izpolniti paradigmo mobilnega interneta; ustvariti skupno platformo za razvoj raznolikih multimedijskih storitev; ustvariti mehanizem za povečanje zaslužka operaterjev (ARPU, Average Reveneu Per User) zaradi dodatne uporabe mobilnega paketno komutiranega omrežja. Zahteve za model 3GPP IMS so: podpora za vzpostavitev IP multimedijskih sej; podpora mehanizma za pogajanja o kakovosti storitve (QoS); podpora medsebojnega delovanja interneta in vodovno komutiranih omrežij; podpora gostovanju; podpora nadzora storitev dostavljenih končnemu uporabniku, ki jih določi operater; podpora za hitro ustvarjanje storitev, brez potrebe standardizacije[1]. 2.1 Standardizacija v IMS IMS je bil sprva definiran s strani industrijskega foruma 3G.IP, ustanovljenega leta 1999. 3G.IP je razvil začetno arhitekturo IMS, ki je bila prenesena na 3GPP (3rd Generation Partnership Project), kot del njihove standardizacije za mobilne sisteme 3G v omrežjih

Postavitev in vrednotenje platforme IMS Stran 4 UMTS. Arhitektura se je prvič pojavila v Release 5, ko so bile dodane multimedijske seje osnovane na SIP 1. Bila je tudi zagotovljena podpora za starejši GSM in GPRS omrežji. 3GPP2 (druga organizacija kot 3GPP) je svojo arhitekturo CDMA2000 Multimedia Domain (MMD) osnovala na 3GPP IMS in s tem dodala podporo za CDMA2000. V Release 6 je 3GPP podprla WLAN. Z Release 7 doda podporo za stacionarna omrežja, s sodelovanjem z ETSI TISPAN (Telecommunications and Internet converged Services and Protocols for Advanced Networking) Release R1.1. Funkcija AGCF (Access Gateway Control Function) in PES (PSTN Emulation Service) sta dodani zaradi dedovanja storitev, ki jih lahko zagotovi omrežje PSTN. V Release R2 je ETSI TISPAN NGN dodal storitev IPTV. Trenutno je v teku Release 8., ki podpira paketni kabelski dostop, povezavo med IMS omrežji, takojšnje sporočanje (Instant Messaging)... 2.2 Omrežja nove generacije Next Generation Networks (NGN) je paketno omrežje, ki je zmožno zagotoviti telekomunikacijske storitve uporabnikom preko različnih širokopasovnih povezav, transportne tehnologije s podporo za QoS in funkcije storitev, ki so neodvisne od transportnega sloja. Uporabnikom omogoča neoviran dostop do omrežij, dostop do konkurenčnih ponudnikov storitev in dostop do storitev po svoji izbiri. Podpira mobilnost, ki bo omogočila konsistentno in vseprisotno oskrbo uporabnikov s storitvami. (ITU-T Priporočilo Y.2001 (12/2004) Splošni pregled NGN) Značilnosti NGN so: Paketni prenos. Ločevanje funkcij nadzora glede na zmogljivost nosilca, klica (seje) oz. aplikacije (storitve). Odstranjen nadzor storitev iz transportnega sloja in zagotavljanje odprtih vmesnikov. 1 Session Initiation Protocol (Protokol za zagon seje)

Postavitev in vrednotenje platforme IMS Stran 5 Podpora široki paleti storitev, aplikacij in mehanizmov, ki temeljijo na storitveno grajenih blokih (vključno z realnočasovnimi, pretočnimi in večpredstavnostnimi storitvami). Širokopasovne zmogljivosti s QoS. Medsebojno delovanje obstoječih omrežij z NGN preko odprtih vmesnikov. Mobilnost. Neoviran dostop uporabnikov do različnih ponudnikov storitev. Podpora različnih identifikacijskih shem, ki jih je mogoče rešiti z IP naslovi (usmerjanje po IP omrežjih). Konvergenčne storitve med stacionarnimi in mobilnimi omrežji. Neodvisnost storitev od transportnega sloja. Podpora različnih tehnologij pri povezavi do končnih uporabnikov ("last mile technologies"). Skladnost z vsemi zahtevami regulatorjev, npr. klic v sili, varnost, zasebnost, zagotavljanje univerzalne storitve itd. 2.3 Storitve V teoriji lahko platformo IMS uporabimo za številne storitve web 2.0, vendar so trenutno aktualne glasovne storitve in storitve sporočanja. Spodaj so opisane storitve, ki so v razvoju oz. v uporabi: Govorna telefonija je glavna storitev. To vključuje predajo govornega klica med omrežji, ko uporabnik preide iz domačega v gostujoče omrežje. Napredne IMS rešitve bodo omogočile predajo govornih klicev v omrežja 2G, če omrežje B3G ni na voljo. IMS omogoča videoklice v trenutnih mobilnih omrežjih 3G z zmožnostjo prekinitve in vzpostavitve videotoka med sejo, uporabe instant sporočanja in storitve Presence (status uporabnika npr. zaseden).

Postavitev in vrednotenje platforme IMS Stran 6 Govorne in videokonference s tremi ali več uporabniki. Storitev pritisni in sporoči/pošlji video več osebam (npr. pošiljanje sporočila prijateljem, ko je dala ekipa gol ali zmagala smučarka). Sinhronizacijo koledarja na vseh napravah IMS. Obveščanje o pomembnih dogodkih (npr. poroka, rojstni dan ). Storitev budilke s samodejnim sprejemom klica in predvajanjem novic ali glasbe. Predvajanje govornih in video dogodkov v živo z zmožnostjo prilagajanja zmogljivosti naprave. Storitev pritisni in pošlji dokument po protokolu vsak z vsakim. Uporabo ene identitete/telefonske številke za vse uporabnikove naprave. Videoklic se dostavi na vse registrirane uporabnikove naprave zmožne sprejema videoseje. Izvaja se sprotno prilagajanje seje, če katera naprava ne podpira videa. Premeščanje tekoče seje iz ene naprave na drugo. Npr. uporabnik sprejme videoklic na telefon na poti domov. Ko pride domov, se videoseja prenese na TV sprejemnik. Pri tem se spremenijo parametri seje. Poveča se ločljivost videa, ki se prilagodi TV, če le-to podpira naprava na drugem koncu seje. Uporaba več identitet na eni uporabniški napravi. To omogoča uporabo naprave ali več naprav, ki so lahko dosegljive s strani službenega okolja ali prijateljev. Na osnovi uporabniške identitete upravljamo dohodno sejo z uporabniškimi profili. Na ta način se poslovne seje avtomatično preusmerijo na glasovno pošto in zasebne spustijo do uporabnika, ko je uporabnik na dopustu.

Postavitev in vrednotenje platforme IMS Stran 7 3 ARHITEKTURA IMS Po principu NGN (Next Generation Network) je arhitektura IMS sestavljen iz treh ravnin (Slika 3.1): transportna ravnina, ki jo zagotavlja paketno hrbtenično omrežje osnovano na IP in množici različnih drugih dostopovnih omrežij; krmilna ravnina, ki omogoča ključne jedrne funkcionalnosti: za signalizacijo, usmerjanje, medsebojno delovanje z drugimi omrežji in nadzor storitev ter aplikacijska ravnina, ki nudi celostno storitev z razvojem, dostavo in okoljem za izvajanje. Slika 3.1: Okolje IMS [18] Katerakoli vrsta telekomunikacijskega sistema, ne glede na stopnjo razvoja, obseg nabora osnovnih storitev potrebnih za doseganje osnovne komunikacije: nadzor seje, nadzor storitve, delo z medijskimi tokovi in funkcije za delovanje z drugimi omrežji. V IMS so

Postavitev in vrednotenje platforme IMS Stran 8 dodeljene ustrezne entitete za opravljanje teh funkcij. Pripadajoče entitete so podrobneje opisane v nadaljevanju. 3.1 Identifikacija v IMS Identifikacija je ena od najpomembnejših funkcionalnosti omrežja. Uporabniki morajo biti identificirani v katerikoli vrsti omrežja, tako da je mogoče usmeriti klic k ustreznemu uporabniku. IMS ima svoj način za identifikacijo uporabnikov in določa mehanizme za identifikacijo storitve. 3.1.1 Zasebni uporabniški identifikator (IMPI 1 ) Vsak uporabnik IMS mora imeti enega ali več zasebnih uporabniških identifikatorjev. Zasebni identifikator je dodeljen preko domačega ponudnika storitev in ga uporabljamo za registracije, avtorizacije, avtentikacije in zaračunavanja. Ta identifikator zavzame obliko NAI 2, kakor je opredeljeno v IETF RFC 2486 (npr. username@operater.si). 3.1.2 Javni uporabniški identifikator (IMPU Vsakemu uporabniku IMS lahko dodelimo en ali več javnih uporabniških identifikatorjev, ki jih uporabljamo za usmerjanje signalizacije SIP v IMS. Javni uporabniški identifikator je lahko SIP URI ali TEL URI. SIP URI zavzame obliko, kot je opredeljeno v RFC 3261: sip: imepriimek@operater.si SIP URI lahko vsebuje telefonske št. v naslednji obliki: sip: +38621234567@operater.si; user=phone. Kadar PSTN 4 naročnik kliče na IMS terminal ali prejme klic od IMS uporabnika, je TEL URI vedno potreben, saj je identifikacija v PSTN predstavljena kot številka. Za TEL URI uporabljamo mednarodni način predstavitve telefonske številke, definiran v RFC 3966: 3 ) 1 IP Multimedia Private Identity (zasebni uporabniški identifikator ) 2 Network Access Identifier (identifikator omrežnega dostopa) 3 IP Multimedia Public Identity (javni uporabniški identifikator) 4 Public Switched Telephone Network (javno komutirano telefonsko omrežje)

Postavitev in vrednotenje platforme IMS Stran 9 telefon: +38621234567. 3.1.3 Javna identiteta storitve (PSI 1 ) PSI je podoben podatek kot javna uporabniška identiteta, le da opisuje storitev. PSI je na primer naslov aplikacijskega strežnika v obliki SIP URI ali TEL URI: sip: moviedownload@videoserver.com ali tel: ++38621234567. Javne uporabniške identifikatorje lahko razdelimo na več zasebnih uporabniških identifikatorjev znotraj iste IMS prijave. Zato je lahko javni uporabniški identifikator hkrati registriran iz različnih terminalov UE 2, z uporabo različnih zasebnih uporabniških identifikatorjev ter različnih kontaktnih naslovov. Povezave IMPU v souporabi z več IMPI ter iz tega izhajajoče relacije z javnimi identitetami storitve in IMS prijavo so prikazane na sliki 3.2. IMPU STORITVENI PROFIL IMS PRIJAVA IMPI IMPU IMPU STORITVENI PROFIL Slika 3.2: Relacije med naslovnimi identifikatorji 3.1.4 GRUU Vsaki javni uporabniški identifikator lahko ima enega ali več GRUUs 3. Obstajata dve vrsti GRUU, P-GRUU 4 in T-GRUU 1, ki sta povezana z javnim uporabniškim identifikatorjem. 1 Public Service Identity (javna identiteta storitve) 2 User Equipment (uporabniška oprema) 3 Globally Routable User Agent URIs (globalno usmerjani uporabniški agenti enoličnih identifikatorjev virov) 4 Public GRUUs (javni GRUU)

Postavitev in vrednotenje platforme IMS Stran 10 Ustvarita in dodelita se UE-ju skupaj med registracijami in ponovno registracijo v paru po en P-GRUU in en T-GRUU. Vsak par P-GRUU in T-GRUU je povezan z enim javnim identifikatorjem in enim UE. Ob naslednji ponovni registraciji je isti P-GRUU dodeljen k UE ter na novo ustvarjen drugačen T-GRUU. Po ponovni registraciji so vsi predhodno ustvarjeni T-GRUU v obdobju te registracije še vedno veljavni. UE lahko zadrži nekatere ali vse od prejšnjih T-GRUU-jev, pridobljenih med prvo registracijo ali prejšnjo ponovno registracijo skupaj z novim T-GRUU-jem ali pa lahko zamenja vse oz. nekatere od prejšnjih T-GRUU-jev z novim T-GRUU-jem. Obstoječi niz P-GRUU-jev in vseh T- GRUU-jev, ki so trenutno veljavni v obdobju te registracije, so navedeni kot GRUU sklop. Ta povezava je prikazana na sliki 3.3. Če se UE registrira (eksplicitno ali implicitno) z več javnimi uporabniškimi identifikatorji, se vsak poveže z ločenim GRUU sklopom. Če se različni UE-ji registrirajo z istim javnim uporabniškim identifikatorjem, so povezani z različnimi GRUU sklopi. IMPU GRUU sklop 1 GRUU sklop 2 UE primerek 1 IMPU IMPU GRUU sklop 3 GRUU sklop 4 UE primerek 2 Slika 3.3: Relacije med IMPU, GRUU in UE 3.2 Domača in tuja omrežja Ko govorimo o domačem omrežju, imamo v mislih infrastrukturo, ki je podana s strani našega operaterja. Ko gostujemo izven domačega omrežja, ne uporabljamo infrastrukture lastnega mobilnega operaterja, ampak gostujočega mobilnega operaterja. V tem primeru kličemo preko gostujočega omrežja in smo gostujoč uporabnik. V primeru gostovanja morata imeti operaterja sklenjeno pogodbo o medomrežnem gostovanju. 1 Temporary GRUUs (začasen GRUU)

Postavitev in vrednotenje platforme IMS Stran 11 Skoraj vsa IMS vozlišča so v domačem omrežju. P-CSCF 1 tako v domačem omrežju kot v gostujočem omrežju. je lahko v posebnem primeru 3.3 Strežnik domačih naročnikov (HSS HSS predstavlja glavno bazo podatkov z razširjenim AAA 2 ) identifikacija uporabnika, naslavljanje in številčenje, varnostne informacije (npr. nadzor dostopa do informacij za avtentikacijo in avtorizacijo), medsistemske informacije o lokaciji uporabnika, uporabniški profili in storitveni profili. 3 strežnikom znotraj IMS omrežja. Ta entiteta vsebuje informacije, ki predstavljajo bistvene sestavine za delo s sejami omrežnih entitet ter za nadzor storitev. Te informacije so: HSS generira tudi uporabniške varnostne informacije za medsebojno preverjanje identitete, preverjanje integritete komunikacije in šifriranje. Z vidika mobilne domene predstavlja podmnožica funkcionalnosti HSS ekvivalent domačemu lokacijskemu registru (HLR 4 ). 3.4 Funkcija lokatorja naročnikov (SLF 5 ) Funkcija lokatorja naročnikov je potrebna, kadar uporabljamo več HSS. Služi kot baza podatkov uporabljenih za povezavo uporabnikovega naslova s HSS. HSS in SLF uporabljata protokol Diameter. HSS lahko povežemo s Cx in Dx vmesnikom, SLF pa z Dx vmesnikom. 1 Proxy CSCF (posredovlana funkcija krmiljenja klicne seje) 2 Home Subscriber Server (strežnik domačih naročnikov) 3 Authentication, Authorization and Accounting (avtentikacija, avtorizacija in obračunavanje) 4 Home Location Register (register domačih naročnikov) 5 Subscription Locator Function (funkcija lokatorja naročnikov)

Postavitev in vrednotenje platforme IMS Stran 12 3.5 Funkcija krmiljenja klicne seje (CSCF 1 ) Funkcija krmiljenja klicne seje, predstavlja ključni nabor nadzornih funkcionalnosti, ki zagotavljajo nadzor točke za avtentikacijo in avtorizacijo uporabnika, usmerjanje seje in nadzor storitve. Krmilni modul IMS klicnega strežnika nadomešča entiteta CSCF, ki nastopa v treh funkcionalno popolnoma nesorodnih različicah: P-CSCF, S-CSCF 2 in 3 I-CSCF. 3.5.1 Proxy-CSCF (P-CSCF) P-CSCF je prva kontaktna točka v IMS. P-CSCF se obnaša kot Proxy (opredeljeno v IETF RFC 3261 oz. kasnejših različicah), kar pomeni, da sprejema zahteve in jih notranje obdela ali posreduje naprej. P-CSCF ne sme spreminjati zahteve URI v sporočilu SIP INVITE. P- CSCF se lahko obnaša kot UA 4 (opredeljeno v IETF RFC 3261 oz. kasnejših različicah), in sicer lahko v nenormalnih razmerah prekine in/ali samostojno generira transakcije SIP. P-CSCF ima več pomembnih funkcij: Posreduje zahtevo po SIP registraciji od UE do vstopne točke, določeno z uporabo domačega domenskega imena, ki ga zagotovi UE. Posreduje SIP registracijske zahteve od uporabniške naprave proti SIP strežniku (npr. S-CSCF), katerega ime dobi kot rezultat postopka registracije. Zagotoviti mora pravilne oz. posodobljene informacije o tipu trenutnega dostopovnega omrežja UE-ja v SIP sporočilih v smeri UE proti SIP strežniku, če leto omogoča politika operaterja. Posreduje SIP zahteve ali odgovore proti UE. Odkriva in obdela zahteve za vzpostavitev urgentnih sej. 1 Call Session Control Function (funkcija krmiljenja klicne seje) 2 Serving CSCF (strežni funkcija krmiljenja klicne seje) 3 Interrogating CSCF (poizvedbeni funkcija krmiljenja klicne seje) 4 User Agent (uporabniški agent)

Postavitev in vrednotenje platforme IMS Stran 13 Generira CDR 1 zapis. Vzdržuje varnostno zvezo med njim in vsakim UE, kot je opredeljeno v TS 33.203. Izvaja stiskanje in razširjanje SIP sporočil. Izvaja avtorizacijo nosilnih virov in upravlja kakovost storitev. 3.5.2 Interrogating-CSCF (I-CSCF) I-CSCF je kontaktna točka pri vstopu v omrežje domačega operaterja za vse povezave namenjene domačemu uporabniku ali gostujočemu uporabniku, ki uporablja storitve tega operaterja. Znotraj operaterjevega omrežja lahko obstaja več I-CSCF. I-CSCF izvaja naslednje funkcije: Pri postopku SIP registracije dodeli uporabniku S-CSCF. Usmerja SIP zahteve prejete iz drugih omrežji proti S-CSCF. V primeru neobstoja končnega uporabnika v HSS prevede SIP URI v TEL URI. Iz HSS pridobi naslov S-CSCF. Posreduje SIP zahtevo ali odgovor k S-CSCF, ki je določen v zgornjem koraku. I-CSCF lahko izvaja tranzitno usmerjevalne funkcije. Kadar destinacije seje ni znotraj IMS, lahko posreduje zahtevo naprej ali vrne napako izvoru seje. Generira CDR zapis. 3.5.3 Serving-CSCF (S-CSCF) S-CSCF izvaja storitve krmiljenja seje UE. Vzdržuje status seje za potrebe omrežnega operaterja pri podpori storitvam, skrbi za vzpostavljanje, vzdrževanje in rušenje sej. Znotraj operaterjevega omrežja je lahko več S-CSCF in različni S-CSCF imajo lahko med seboj različne funkcije. Funkcije, ki jih izvaja S-CSCF tekom seje, so naslednje: Lahko se obnaša kot registrator, kar pomeni, da sprejme zahtevo po registraciji in daje svoje informacije na voljo preko lokacijskega strežnika (npr. HSS). 1 Charging Data Record (zapis podatkova za zaračunavanje)

Postavitev in vrednotenje platforme IMS Stran 14 Obvešča naročnike o spremembah registracije. Izvaja krmiljenje seje za registrirane končne točke. Lahko zavrne IMS komunikacijo k/od javnih uporabniških identitet, ki imajo omejitev za IMS komunikacijo po zaključeni registraciji Lahko deluje kot uporabniški agent ali proxy strežnik. Za podporo storitvam omogoča interakcije s storitvenimi platformami. Preko vmesnika ISC 1 (osnovan na protokolu SIP) predstavlja vstopno točko do storitvene ravnine. Za izvorno in ponorno končno točko izvaja poizvedbo ciljnih naslovov in ustrezno usmerjanje za izvedbo komunikacije do SIP strežnikov, do drugih CSCF znotraj IMS in do BGCF 2, z morebitnimi modifikacijami oz. z uporabo drugih mehanizmov (pretvorbe formatov, upoštevanje prednosti in karakteristik ipd.). Za zagotavljanje storitev in zaračunavanja ločuje in ustrezno obdela izvorne zahteve, ki prihajajo s strani aplikacijskih strežnikov. 3.6 Funkcija krmiljenja prebojnega prehoda (BGCF) Funkcija krmiljenja prebojnega prehoda je SIP strežnik, ki vsebuje usmerjevalne funkcije na podlagi telefonskih številk. Uporablja se samo v primeru klica iz IMS-a v vodovno komutirano omrežje. Če se zgodi prehod v domeno PSTN/CS 3 v istem omrežju, kot je lociran BGCF, potem BGCF izbere MGCF 4, ki bo odgovoren za medsebojno delovanje z domeno PSTN/CS. Če je preboj v drugem omrežju, posreduje BGCF signalizacijo seje drugemu BGCF v izbranem omrežju. V primeru ponora seje v drugem omrežju IMS posreduje BGCF signalizacijo I-CSCF-u v tem omrežju. 1 IMS Service Control Interface (IMS vmesnik za krmiljenje storitev) 2 Breakout Gateway Control Function (funkcija krmiljenja prebojnega prehoda) 3 PSTN/circuit-switched network (PSTN vodovno komutirano omrežje) 4 Media Gateway Control Function (funkcija krmiljenja medijskega prehoda)

Postavitev in vrednotenje platforme IMS Stran 15 BGCF določa naslednji hop za usmerjanje SIP sporočila. Ta odločitev lahko temelji na podlagi informacij, prejetih od drugih protokolov, uporabe administrativnih informacij, in/ali dostopu do podatkovne baze. 3.7 PSTN prehodi PSTN/CS prehod s PSTN vodovno komutiranim (CS) omrežjem omogoča terminalu IMS klicanje ali prejemanje klicev iz PSTN. 3.7.1 Funkcija krmiljenja medijskega prehoda (MGCF) MGCF predstavlja prehod v PSTN/ISDN omrežja in opravlja naslednje naloge: komunicira s CSCF, BGCF in vodovno komutiranimi omrežnimi entitetami; krmili vire v IMS MGW 1 preko H.248 vmesnika; izbere CSCF v odvisnosti od usmerjevalne številke za dohodni klic iz tradicionalnega omrežja; izvaja protokolno prevajanje med ISUP/TCAP in protokoli za krmiljenje klicev v IMS v sodelovanju s SGW 2. 3.7.2 Funkcija IMS medijskega prehoda (IMS-MGW) IMS-MGW lahko zaključi nosilne kanale vodovno komutiranega omrežja in medijske tokove paketnega omrežja. Omogoča podporo prevajanju medijev, procesiranju koristne vsebine (npr. kodek, izločevalnik odmevov, konferenčni most) in krmiljenju nosilnega dela omrežja. 3.7.3 Funkcija signalizacijskega prehoda (SGW) SGW izvaja pretvorbo signalizacije v obe smeri med signalizacijo št. 7 (SS7) in IP omrežjem. 1 IMS Media Gateway Function (funkcija IMS medijskega prehoda) 2 Signalling Gateway Function (funkcija signalizacijskega prehoda)

Postavitev in vrednotenje platforme IMS Stran 16 Slika 3.4: PSTN prehodi 3.8 Medijski strežnik MRFC 1 in MRFP 2 sta entiteti, ki implementirata medijski strežnik znotraj IMS omrežja. Medijski strežnik ima naslednje naloge in značilnosti: je izvor multimedijskih tokov, meša in procesira medijske tokove, izvaja krmiljenje v prostoru (npr. upravljanje dostopovnih pravic do virov v skupni rabi v konferenčnem okolju). 3.9 Varnostni prehod SEG 3 SEG se uporablja za varnost omrežja. Ukvarja se z zagotavljanjem varnosti prometa med različnimi varnostnimi domenami. Ves promet bo šel skozi SEG, ko pride ali zapusti varnostno domeno. 1 Multimedia Resource Function Controller (krmilnik funkcije medijskih virov) 2 Multimedia Resource Function Processor (krmilnik procesor funkcije medijskih virov) 3 Security Gateway (Funkcija varnostnega prehoda)

Postavitev in vrednotenje platforme IMS Stran 17 V varnostni domeni uporabljajo omrežne entitete IPsec za izmenjevanje prometa s SEG znotraj domene. Slika 3.5 prikazuje, da SEG-i zaradi varnosti obravnavamo kot omrežne entitete znotraj domene. Vmesnik med SEG-i iz različnih domen je Za, vmesnik med mrežno entiteto in SEG je Zb. IMS uporablja vmesnik Zb za zaščito IMS signalizacijske ravnine. Slika 3.5: Vmesnika Za in Zb 3.10 Aplikacijski strežniki in nudenje storitve AS 1 je platforma za gradnjo in izvajanje storitev, ki komunicira s S-CSCF z uporabo vmesnika ISC. Poznamo tri tipe AS: SIP-AS, IM-SSF AS 2, 3 OSA SCS AS. 1 Application Server (aplikacijski strežnik) 2 IP Multimedia Service Switching Function AS (aplikacijski strežnik IP multimedijske funkcije preklapljanja storitev) 3 Open Service Access Service Capability Server AS (strežnik z zmožnostjo realizacije storitve z odprtim dostopom do storitve)

Postavitev in vrednotenje platforme IMS Stran 18 Slika 3.6: Tipi aplikacijskih strežnikov Z vidika S-CSCF morajo SIP AS, OSA SCS AS in IM-SSF kazati enako obnašanje na vmesniku ISC. Slika 3.7 in slika 3.8 prikazujeta možno medsebojno delovanje SIP AS in S-CSCF preko vmesnika ISC. Način, v katerem deluje SIP AS, določa tipe storitev, ki jih zagotavlja in način izvajanja le-teh. V okviru seje lahko prehaja med različnimi vlogami. Slika 3.7: SIP AS kot ponorna točka UA (preusmeritveni strežnik), izvorna točka UA in proxy strežnik Slika 3.8 prikazuje SIP AS kot B2BUA 1. Logična entiteta B2BUA sprejme in obdela zahtevo kot UAS 1 ter odgovari na njo z novo zahtevo kot UAC 2. Za razliko od proxy 1 Back-to-Back user agent (B2B uporabniški agent)

Postavitev in vrednotenje platforme IMS Stran 19 strežnik primera ohranja dialog oz. mora sodelovati v vseh dialogih, ki jih je generiral s poslano zahtevo. Slika 3.8: SIP AS kot usmerjevalni in pobudni B2BUA Slika 3.9: Delovanje brez AS 3.10.1 Nudenje storitve Obstajata dve možnosti nudenja storitev: preko storitvene platforme v domačem omrežju; preko zunanje storitvene platforme (npr. tretja oseba ali gostiteljsko omrežje). Entiteta zunanje storitvene platforme (AS) se lahko nahaja v gostiteljskem omrežju ali na platformi s strani tretje osebe (3rd party). Standardiziran način za varen "3rd party" dostop do storitev IMS poteka preko OSA ogrodja. 1 User Agent Server (strežnik uporabniškega agenta) 2 User Agent Client (klient uporabniškega agenta)

Postavitev in vrednotenje platforme IMS Stran 20 Slika 3.10: Storitvena platforma znotraj domačega omrežja Slika 3.11: Storitvena platforma zunaj domačega omrežja S-CSCF se odloči, ali mora AS prejeti informacije o dohodni začetni SIP zahtevi za zagotavljanje ustreznega obravnavanja storitve. Odločitev S-CSCF temelji na informacijah o filtrih, prejetih od HSS. Informacije o filtrih za AS so shranjene za vsakega uporabnika posebej. Vsebujejo indikatorje storitev za opredelitev storitve ter za vrstni red izvajanja storitev na AS. Ime in naslov AS sta pridobljena iz HSS. Kadar dobi S-CSCF več kriterijev filtriranja za različne AS, jih kontaktira v vrstnem redu, kot je pridobil infomacije od HSS. Odziv prvega AS uporabimo kot vhodni podatek za drugega in tako naprej. Pri tem imamo lahko različne kombinacije in vrste AS. 3.10.2 SIP AS SIP AS je storitveni del v IMS, ki podpira dobro signalizacijsko in administrativno definirane vmesnike. Proži ga S-CSCF. SIP AS podpira:

Postavitev in vrednotenje platforme IMS Stran 21 zagotavljanje konvergenčnih multimedijskih storitev; na voljo so številni dobro poznani API-ji (SIP Servleti; CGI, CPL); enostavnejši razvoj storitev, vendar je za operatersko uporabo še nepreverjen. Storitve, za katere je najbolj primerna rešitev SIP AS, so spletne interakcije, univerzalno sporočanje, Push2x storitve, storitve navzočnosti, krmiljenje klicne seje, zaračunavanje vsebin ipd. 3.10.3 OSA-SCS OSA SCS AS ponuja standardizirane vmesnike za dostop do funkcionalnosti omrežja OSA aplikacijskim strežnikom. Ponuja mehanizem za nadzorovan in varen dostop do omrežja (Parlay in Parlay X). OSA je API, ki je mapiran na SIP in/ali CAMEL 1 omogoča integracijo poslovnih aplikacij pri operaterjih; podpira implementacijo različnih poslovnih modelov in odpiranje proti zunanjim ponudnikom. Storitve, za katere je najprimernejša rešitev z OSA AS, so terminalske zmogljivosti, status terminala, uporabniške interakcije, prilagodljivo zaračunavanje, sporočanje, lokacijske storitve, prisotnost, operatersko krmiljenje klicev, krmiljenje multimedijskih komunikacij ipd. CAMEL (ETSI TS 123 078) je niz standardov namenjenih za delo na GSM ali UMTS omrežju. Ponudnikom storitev omogočajo definiranje storitev, ki presegajo standardne GSM ali UMTS storitve. Arhitektura CAMEL temelji na IN (Intelligent network) standardih in uporablja protokol CAP. 3.10.4 IM-SSF IM-SSF AS je aplikacijski strežnik, ki gosti prehod do CAMEL storitve. IM-SSF za CAMEL podpira: 1 Customized Applications for Mobile Enhanced Logic (prilagojene aplikacije za izboljšano logiko mobilnega omrežja)

Postavitev in vrednotenje platforme IMS Stran 22 obstoječe IN storitve (centrex, televoting, predplačniško klicanje...) v omrežjih 3G in B3G (Beyond 3rd Generation); storitve, osnovane na zanesljivi in preverjeni tehnologiji IN. Slabost takšnega sistema je, da je drag in omejen z razvojem. 3.11 Arhihektura TISPAN NGN Arhitektura TISPAN je sestavljena iz dveh glavnih ravnin: transportne in storitvene. Z zbirko prenosnih funkcij se lahko ti dve plasti enostavno sporazumevata z zunanjim svetom, npr. s PSTN omrežjem, ISDN omrežjem ali drugimi IP omrežji. Natančnejši pregled funkcij in zmogljivosti, vgrajenih v teh dveh ravninah, bo pomagal predstaviti sposobnost IMS za zagotavljanje personificiranih storitev preko kateregakoli prenosnega medija. 3.11.1 Transportna ravnina Transportno ravnino lahko razdelimo na dve podravnini: podravnino krmiljenja transporta in podravnino funkcij prehodov. Podravnina krmiljenja transporta Podravnina krmiljenja transporta vključuje dva podsistema: NASS 1 in RACS 2. Modul NASS omogoča registracijo in (potencialno) inicializacijo uporabnikove opreme, tako da lahko naročnik dostopa do storitev nudenih v storitveni ravnini. Z vidika omrežja ponuja NASS identifikacijo in avtentikacijo na omrežnem nivoju. Ta modul je odgovoren tudi za upravljanje naslovnega prostora IP in dostopovnega omrežja ter zagotavljanje avtentikacije storitvenim sejam. Podsistem za priključitev omrežij je na voljo preko implicitno ali eksplicitno shranjenih uporabniških informacij v njegovi podatkovni bazi (fizični ali logični naslov sloja 2 ali uporabniško ime in geslo). Ta podsistem določajo naslednje funkcionalnosti: 1 Network Attachment Subsystem (podsistem za priključitev omrežij) 2 Resource and Admission Control Subsystem (podsistem za krmiljenje virov in dostopa)

Postavitev in vrednotenje platforme IMS Stran 23 dinamično zagotavljanje IP naslovov in drugih konfiguracijskih parametrov terminalov; avtentikacijo na nivoju IP, pred ali med postopkom dodeljevanja naslovov; avtorizacija dostopa do omrežja na podlagi uporabniških profilov; dostop do konfiguracije omrežja, ki temelji na uporabniških profilih; upravljanje z lokacijo na nivoju IP (klic v sili...); konfiguracija CPE; zagotavljanje podpore za gostovanje. RACS omogoča krmiljenje dostopa in usmerjanje omrežnega prometa. Pred krmiljenjem prometa od/do posameznega uporabnika, pregleda RACS: uporabniški profil shranjen v NASS, specifično politiko nadzora operaterja in razpoložljivost virov (npr. razpoložljivo pasovno širino). RACS nudi kontrolo prometa aplikacijam na višjih nivojih, na podlagi politike operaterja. To jim omogoča zaseganje oz. rezerviranje virov v transportnem omrežju. Ta funkcija je ključnega pomena v skladu z osnovno idejo IMS. Sama raven posredovanja med aplikacijami in spodaj ležečimi transportnimi omrežji pomeni, da se aplikacijam ni treba zavedati transportnih omrežij. RACS prav tako omogoča dostop do storitev funkcij prehodov, kot so NAT in gostovalno NAT prečkanje. Arhitektura modela RACS podpira mehanizme QoS. Podravnina funkcij prehodov Ta podravnina vključuje zbirko funkcij: BGF 1 deluje kot prehod med dvema domenama IP. Prehod je realiziran v enem od treh načinov: med CPE in dostopovnim vozliščem, med dostopovnim vozliščem in hrbteničnim omrežjem ali med dvema hrbteničnima omrežjema. BGF lahko zagotovi naslednje zmogljivosti: paketno filtriranje na podlagi IP naslova ali vrat (funkcij krmiljenja vrat); označevanje odhodnih paketov in nadzor prihajajočega prometa; razporeditev virov; 1 Border Gateway Function (krmilnik mejnega prehoda)

Postavitev in vrednotenje platforme IMS Stran 24 prevajanje omrežnih naslovov in vrat (NAPT); gostovalno NAT prečkanje; skrivanje topologije; medsebojna povezanost med IPv4 in IPv6 omrežji. L2TF 1 omogoča zaključevanje procedur drugega sloja dostopovnega omrežja. ARF 2 služi za posredovanje med UE in NASS. ARF lahko vstavi tudi ustrezne lokalne informacije o konfiguraciji pred posredovanjem zahteve k NASS. Entitete MGF, MRFP in SGW so skladne z arhitekturo IMS. 3.11.2 Storitvena ravnina Storitvena ravnina je sestavljena iz več ključnih podsistemov in je podana na sliki 3.12. Štirje od teh so posebej pomembni: hrbtenični IMS podsistem, PSTN/ISDN emulacijski podsistem, Streaming podsistem in Broadcasting podsistem. Hrbtenični IMS podsistem (IM CN) je za naročnike omrežij naslednje generacije glavna sestavina arhitekture NGN. Je podsistem, ki omogoča dostop do osnovnih SIP multimedijskih storitev. Je podmnožica 3GPP IMS. Večina 3GPP arhitekture IMS je uporabljene v tem podsistemu. Obstajajo tudi pomembne razlike med IM CN in 3GPP IMS. Večina teh razlik izhaja iz dejstva, da so dostopovna omrežja (xdsl ali WLAN) bistveno drugačna od UMTS omrežja. Ob tem se mehanizmi za rezervacijo virov in informacije o lokaciji precej razlikujejo v omrežjih NGN. Emulacijski podsistem PSTN/ISDN podpira emulacijo storitev PSTN/ISDN in s tem omogoča PSTN terminalom dostop do NGN preko rezidenčnih, dostopovnih in tranzitnih prehodov. Streaming podsistem zagotavlja podporo za RTSP-streaming storitve do NGN terminalov. Broadcasting podsistem omogoča predvajanje multimedijskih vsebin NGN naročnikom. 1 Layer 2 Termination Function (funkcija zaključitve drugega sloja) 2 Access Relay Functions (funkcija posredovanja dostopa)

Postavitev in vrednotenje platforme IMS Stran 25 Zraven zgoraj opisanih podsistemov obstajajo številni skupni elementi, ki so dostopni z več kot enega podsistema. UPSF 1 hrani vse pomembne podatke o uporabniku, vključno z identifikacijo, naslavljanjem, oštevilčenjem, kontrolo dostopa in informacijah o lokaciji. ASF 2 zagotavlja storitve z dodano vrednostjo. Funkcije za zaračunavanje in zbiranje podatkov zagotavljajo zbiranje in posredovanje podatkov za posredno in neposredno zaračunavanje storitev. Zgoraj opisani koncepti s podravninama krmiljenja transporta in funkcij prehodov ponazarjajo arhitekturo TISPAN NGN, predstavljeno na sliki 3.12. Slika 3.12: Arhitektura ETSI TISPAN NGN [13] 1 User Profile Server Function (funkcija strežnika za uporabniške profile) 2 Application Server Functions (funkcija aplikacijskega strežnika)

Postavitev in vrednotenje platforme IMS Stran 26 3.12 Vmesniki in protokoli v IMS 3.12.1 Referenčne točke v IMS Za omogočanje medsebojnega delovanja IMS entitet in povezave z entitetami drugih omrežji so potrebni točno definirani vmesniki in protokoli. Vsak vmesnik v IMS arhitekturi je specificiran kot referenčna točka. Referenčna točka definira protokol na vmesniku in elemente sistema, med katerimi deluje. V IMS arhitekturi so definirane številne referenčne točke, ponazarja jih tabela 3.1. Referenčne točke Cr Cx Dh Dx Gm Go Gq ISC Ma Mb Mg Mi Mj Tabela 3.1: Referenčne točke v IMS IMS entitete Opis Protokol MRFC, AS I-CSCF, S-CSCF, HSS SIP AS, OSA, SCF, IM-SSF, HSS I-CSCF, S-CSCF, SLF UE, P-CSCF PDF, GGSN P-CSCF, PDF S-CSCF, I-CSCF, AS I-CSCF -> AS MRFP, zunanje IP omrežje MGCF -> I-CSCF S-CSCF -> BGCF BGCF -> MGCF Uporabljena za prenos dokumentov (skripte in drugih virov) iz AS proti MRFC. Uporabljena za komunikacijo med I- CSCF/S-CSCF in HSS. Uporablja AS pri iskanju HSS v multi-hss okolju. Uporablja I-CSCF/S-CSCF pri iskanju HSS v multi-hss okolju. Uporablja se za izmenjavo sporočil med UE in CSCFs. Operaterju omogoča nadzor QoS na uporabniški ravnini in izmenjavo koleracijskih informacij za zaračunavanje med IMS in GPRS omrežjem. Uporablja se za izmenjavo političnih odločitev in povezanih informacij med P-CSCF in PDF. Uporablja se za izmenjavo sporočil med CSCF in AS. Uporablja se za neposredno posredovanje SIP zahtev, namenjenih javni identiteti storitev, ki jih gosti AS. Uporablja se za prenos uporabniških podatkov preko storitev IPv6. MGCF pretvarja ISUP signalizacijo v SIP signalizacijo in jo dostavlja I- CSCF. Uporablja se za izmenjavo sporočil med S-CSCF in BGCF. Uporablja se za izmenjavo sporočil med BGCF in MGCF v istem IMS omrežju. Mk BGCF -> BGCF Uporablja se za izmenjavo sporočil SIP HTTP preko TCP/SCTP kanalov Diameter Diameter Diameter SIP COPS (Rel5), Diameter (Rel6+) Diameter SIP SIP IPv6 SIP SIP SIP

Postavitev in vrednotenje platforme IMS Stran 27 Mm Mn Mp Mr Mw Rf Ro Sh Si Sr Ut I-CSCF, S-CSCF, zunanje IP omrežje MGCF, IM-MGW MRFC, MRFP S-CSCF, MRFC P-CSCF, I-CSCF, S-CSCF P-CSCF, I-CSCF, S-CSCF, BGCF, MRFC, MGCF, AS AS, MRFC SIP AS, OSA SCS, HSS IM-SSF, HSS MRFC, AS UE, AS (SIP AS, OSA SCS, IM- SSF) med BGCF-jema različnih IMS omrežij. Uporablja se za izmenjavo sporočil med IMS in zunanjimi IP omrežji. Omogoča nadzor virov uporabniške ravnine. Uporablja se za izmenjavo sporočil med MRFC in MRFP. Uporablja se za izmenjavo sporočil med S-CSCF in MRFC. Uporablja se za izmenjavo sporočil med CSCF-ji. Uporablja se za izmenjavo informacij posrednega zaračunavanja s CCF. Uporablja se za izmenjavo informacij sprotnega zaračunavanja z ECF. Uporablja se za izmenjavo informacij med SIP AS / OSA SCS in HSS. Uporablja se za izmenjavo informacij med IM-SSF in HSS. Uporabljena za prenos dokumentov (skripte in drugih virov) iz AS proti MRFC. Olajšuje upravljanje naročniških podatkov, povezanih s storitvami in nastavitvami. SIP H.248 H.248 SIP SIP Diameter Diameter Diameter MAP HTTP HTTP(s), XCAP 3.12.2 Protokol SIP Protokol za zagon seje (RFC 3261) je signalni protokol aplikacijske ravnine. Pogosto se uporablja za nadzor (vzpostavitev, spreminjanje in prekinitev) večpredstavnostnih komunikacijskih sej med dvema ali več terminali, npr. govorni in video klici preko internetnega protokola (IP). SIP UA 1 je logična končna točka v omrežju, ki se uporablja za kreiranje ali sprejemanje SIP sporočil ter posledično upravljanje SIP seje. SIP UA lahko opravlja vlogo odjemalca UAC, ki pošilja SIP zahteve ali UAS, ki sprejema zahteve in pošilja SIP odgovore. Isti UA je lahko odjemalec in strežnik hkrati. Poleg UA imamo tudi več tipov strežnikov: proxy strežnik, preusmeritveni strežnik, registrar, lokacijski strežnik in B2BUA. 1 User Agent (uporabniški agent)

Postavitev in vrednotenje platforme IMS Stran 28 SIP je protokol tekstovnega tipa s sintakso podobno HTTP 1 protokolu. V protokolu SIP obstajata dve vrsti sporočil ("message"). Odjemalci generirajo zahteve ("request"), strežniki pa odgovarjajo z odgovori ("response"). Za SIP zahteve so definirane naslednje metode: REGISTER, INVITE, ACK, CANCEL, BYE, OPTIONS. Vrste odgovorov po protokolu SIP: informacijski (1xx), uspeh (2xx), preusmeritev (3xx), napaka na strani odjemalca (4xx), napaka na strani strežnika (5xx), globalna napaka (6xx). Manjkajoče potrebne funkcionalnosti za IMS so bile v SIP dodane preko razširitve protokola (RFC3261). 3.12.3 Protokol Diameter Protokol Diameter, ki ga je izdala organizacija IETF, je razširljiv protokol za omogočanje storitev AAA (Authentication, Authorization and Accounting AAA) v IP omrežjih. Diameter je protokol vsak z vsakim (P2P), kjer je lahko vsak odjemalec ali strežnik. Strežnik ima tudi možnost pošiljanja zahtev odjemalcu. Razširljivost je pomembna lastnost protokola Diameter. Podpira modularno arhitekturo z osnovnim protokolom in dodatnimi 1 Hypertext Transfer Protocol (protokol za prenos hiperteksta)

Postavitev in vrednotenje platforme IMS Stran 29 funkcionalnimi razširitvami, kar ponazarja slika 3.13. Osnovni protokol je opredeljen z RFC 3588 in ustreznim profilom prometa RFC 3589. Osnovni protokol zagotavlja podporo za zanesljiv transport in dostavo sporočil. Razširitve protokola se obvezno uporabljajo z osnovnim delom. Osnovni protokol nudi privzet nabor storitev AAA. AAA razširitve se lahko nanašajo, lahko pa tudi ne, na privzet nabor, da zagotovijo dodano vrednost storitev. Npr. storitev Diameter za kontrolo dobroimetja (DCCA RFC 4006) uporablja osnovno avtentikacijo in avtorizacijo ter svoje funkcije za obračunavanje in za zagotavljanje storitev internetnega obračunavanja. 3GPP(2) TISPAN Cx, Dx, Sh, Ro, Rf, Rx,Gx, Tx,Ty Credit Control NASREQ EAP SIP Mobile IPv4 IPv6 Osnovni protokol DIAMETER Slika 3.13 Razširljiv protokol Diameter [15] Diameter protokol nudi naslednje možnosti: povezavo in upravljanje sej, avtentikacijo in sposobnosti pogajanja, zanesljiva dostava parametrov AVP 1, razširljivost skozi dodatni nabor atributov AVP in osnovne storitve obračunavanja. Diameter lahko deluje preko TCP, SCTP ali UDP. 3GPP priporoča varen in zanesljiv transport (SCTP) za storitve obračunavanja in avtorizacije. Diameter ima podobno kot SIP več funkcionalnih entitet, kar ponazarja tabela 3.2. Agenti se uporabljajo za prenašanje, za proxy, za preusmerjanje in prevajanje zahtev. Tabela 3.2: Diameter entitete ENTITETE OPIS 1 Attribute Value Pair (par vrednosti atributa)

Postavitev in vrednotenje platforme IMS Stran 30 ODJEMALEC STREŽNIK RELAY AGENT PROXY AGENT POSREDOVALNI AGENT TRANSLACIJSKI AGENT Robna mrežna naprava, ki izvaja dostopovni nadzor; npr. NAS, tuji agent. Kontrolna entiteta AAA funkcij za določeno domeno; npr. HSS. Usmerja Diameter sporočila med znanimi uporabniki in podpira področja. Spreminja lahko samo usmerjevalne informacije. Usmerja in spreminja vsebino sporočil za omogočanje politike, uporabo virov, dostopa in predpisov. Glede na dogovor o gostovanju omogoča usmerjanje do drugih domen, z objavo informacij o poti do zahtevane točke. Prevaja med protokoli; npr med RADIUS in Diametrom. 3.12.4 H.248 Megaco (Media Gateway Control Protocol)/H.248 je splošen protokol za krmiljenje medijskih prehodov, ki je standardiziran s strani IETF in ITU-T (Telecommunication Standardization Sector). Zasnovan je kot protokol gospodar-suženj: krmilnik medijskih prehodov krmili delovanje medijskih prehodov (npr. v IMS MRFC krmili delovanje MRFP). V nadaljevanju je opisana struktura H.248, ki predpostavlja model osnovan na dveh entitetah: zaključitvi in povezavi. Zaključitev je logična entiteta v medijskem prehodu. Obsega enega ali več medijskih tokov. Nosilna medija toka sta lahko RTP ali komutirani (CS) nosilec. Vsaka zaključitev je določena z naborom lastnosti. Lastnosti so povezane z deskriptorji, ki se lahko uporabljajo v ukazih za usmerjanje. Zbirka zaključitev se imenuje kontekst. Zaključki s kontekstom imajo sposobnost usmerjanja medijskih tokov med seboj, kar je podano na sliki 14. Kontekst je ustvarjen z dvema zaključitvama in uničen z odstranitvijo zadnje zaključitve. Kontekst z eno zaključitvijo se imenuje nulti kontekst. Zaključitve in konteksti imajo identifikatorje.

Postavitev in vrednotenje platforme IMS Stran 31 MEDIJSKI PREHOD KONTEKST ZAKLJUČITEV tok RTP ZAKLJUČITEV CS nosilec ZAKLJUČITEV CS nosilec KONTEKST ZAKLJUČITEV tok RTP ZAKLJUČITEV CS nosilec KONTEKST ZAKLJUČITEV tok RTP ZAKLJUČITEV CS nosilec Slika 3.14: Primer H.248 povezovalnega modela [14] MGC ali MRFC komunicirata z naborom ukazov preko hierarhično vgnezdene strukture v sporočilu H.248. Vsako sporočilo vključuje glavo in niz sej. Seja je lahko zahteva ali odgovor in vključuje niz aktivnosti za izvajanje. Seje so urejene in se izvajajo v zaporedju. Vsaka aktivnost vsebuje več ukazov, ki se nanašajo na točno določeno povezavo. Ukazi manipulirajo in imajo kontrolo nad povezavami ter nastavitvami zaključitev. Parametre v teh ukazih imenujemo deskriptorji. Tabela 3.3 prikazuje nabor ukazov. Tabela 3.3: H.248 ukazi UKAZ OPIS SMER ADD Doda zaključitev k povezavi. Implicitno kreiranje povezave ob dodajanju prve zaključitve. MGC MG MODIFY Spremeni obnašanje obstoječim zaključitvam. MGC MG SUBTRACT Odstrani zaključitev od povezave. Implicitno izbriše povezavo ob odstranitvi zadnje zaključitve. MGC MG MOVE Prestavi zaključitev iz ene povezave v drugo. MGC MG AUDITVALUE Določi lastnosti zaključitve oz. MG/MRFP. MGC MG AUDITCAPABILITY Določi zmožnosti zaključitve oz. MG/MRFP. MGC MG NOTIFY Nastavi MG na poročanje ob pojavu dogodka ali niza dogodkov. MGC MG SERVICECHANGE Pošiljatelja obvesti o novi spremembi storitve. MGC MG

Postavitev in vrednotenje platforme IMS Stran 32 4 OPENIMS FOKUS Open IMS Playground je neodvisno testno okolje, ki se uporablja v akademsko motiviranih projektih, industrijskih projektih za razvoj novih prototipov NGN in IMS komponent, protokolov ter pri testiranju komponent omrežij. Jedro Open IMS Playground je OpenIMS Core, ki je podano na sliki 4.1. OpenIMS Core sestavljajo funkcije krmiljenja klicne seje (CSCFs), kot osrednji element za IMS signalizacijo in strežnik domačih naročnikov (HSS) za upravljanje z uporabniškimi profili. Ostale komponente Open IMS Playground so različne storitvene platforme, kot so Open Service Access (OSA)/Parlay, JAIN Service Logic Execution Environment (SLEE), Web services/parlay X, SIP Servlets, Call Processing Language (CPL). Slika 4.1: Pregled Open IMS Playground [8]

Postavitev in vrednotenje platforme IMS Stran 33 4.1 Namestitev zahtevane opreme Za strojno opremo oz. strežnik smo uporabili PC osebni računalnik (2,4 GHz P4 in 512 Mb RAM) z operacijskim sistemom Linux. Izbrali smo Linux distribucijo CENTOS 5.3., ki je brezplačna izpeljanka Red Hat Enterprise Linux 5. Prednosti enterprise različice pred desktop je obsežnejši programski paket (podatkovne baze ipd.), vključuje stabilne programske pakete, podporo strežnikov (več procesorjev in pomnilnika), stabilnejši OS, podporo popravkov in nadgradenj. Strežnik smo postavili v javno internetno omrežje. Sistem je zadostoval naslednjim zahtevam: Na trdem disku je potrebno 100 Mb prostora. Paketi GCC3/4, make, JDK1.5 in ant so potrebni pri razvoju aplikacij Java. Sistem Subversion za upravljanje izvorne kode smo uporabili za prenašanje zadnje verzije kode. V našem primeru smo uporabili MySQL kot sistem za upravljanje podatkovnih baz, ki podpira FHoSS 1, I-CSCF in ostale funkcije. Za delo z bazo potrebujemo knjižnici libxml2 in libmysql, obe tudi v razvojni obliki. Za imenski strežnik smo uporabili paket BIND 9, kot spletni brskalnik pa Firefox. 4.1.1 BIND 9 Sistem domenskih imen (DNS) je nabor internetnih formatov, postopkov, storitev in pravil za dodeljevanje imen posameznim lokacijam v omrežju in za prevajanje teh imen v omrežne naslove. Naslove prevajajo imenski strežniki (name server). V našem primeru smo uporabil imenski strežnik BIND 9. Na PC smo namestili naslednje pakete: bind, bind-chroot, bind-libs in caching-nameserver. Paket bind-chroot je potreben zaradi varnosti. Ustvari nam "zapor" chroot. Ideja chroot je dokaj preprosta. Ko zaženemo BIND (ali katerikoli drugi proces) v chroot "zaporu" proces 1 Fokus HSS (Fokus strežnik domačih naročnikov)

Postavitev in vrednotenje platforme IMS Stran 34 ne more videti kateregakoli dela datotečnega sistema zunaj zapora. Npr. v našem primeru poganjamo BIND preko chroot v imeniku /var/named/chroot/var. BIND misli, da je to korenski imenik. Izven tega imenika mu ne bo nič na voljo. 4.2 Oddaljen dostop do namizja Zaradi narave dela dostopamo do našega PC iz oddaljene lokacije. Pri delu na oddaljenem PC uporabljamo programe z grafičnimi vmesniki, dostop se vrši preko različnih operacijskih sistemov, zato smo za oddaljen dostop do računalnika uporabili VNC 1. VNC je sistem navidezne skupne rabe namizja, ki z uporabo protokola RFB omogoča kontrolo drugega računalnika na daljavo. Preko omrežja pošilja dogodke miške in tipkovnice iz enega na drug računalnik ter v nasprotni smeri spremembe grafičnega zaslona. VNC je v celoti neodvisen od operacijskega sistema. Strežnik se lahko nahaja na enem operacijskem sistemu, odjemalec pa na čisto drugem. Na linux smo namestili X11vnc server (paket x11vnc-0.9.7-1.el5.rf.i386.rpm 2 ) in odjemalec SSL/SSH VNC (paket ssvnc_windows_only-1.0.22.zip 3 ) Pri tuneliranju seje smo uporabili putty. Program putty deluje na osnovi protokola telnet ali ssh in je terminalska aplikacija za interaktivno delo na oddaljenem računalniku. Za potrebe pretvarjanja ključev smo izbrali puttygen, ki je program za kreiranje javnih in privatnih ključev tipa RSA (SSH-1 ali SSH-2) in DSA (SSH-2). 4.2.1 SSL certifikati V osnovi VNC ne nudi varnosti. Za izboljšanje varnosti smo uporabili SSL 4 in SSH 5. SSL certifikati omogočajo uporabo zaščitenega kanala za prenos podatkov. S pomočjo SSL smo izvedli medsebojno identifikacijo strežnika in odjemalca. Postopek namestitve je sledeč: 1 Virtual Network Computing (navidezno omrežno računalništvo) 2 http://www.karlrunge.com/x11vnc/#downloading; 3 http://www.karlrunge.com/x11vnc/ssvnc.html#download) na windows 4 Secure Socket Layer (sloj varnih vtičnic) 5 Secure Shell (varnostno ogrodje)

Postavitev in vrednotenje platforme IMS Stran 35 Identifikacija strežnika odjemalcu: izdelava CA certifikata in ključa, zaščita privatnega ključa s frazo, varen prenos ter namestitev CA certifikata na PC z odjemalcem, podpis strežniških certifikatov s CA, zagon strežnika s strežniškimi ključi (-ssl SAVE), odjemalec lahko identificira strežnik s pomočjo CA. Identifikacija odjemalca strežniku: generiranje certifikata in ključa za odjemalca, podpis certifikata s CA, varen prenos ter namestitev certifikata in ključa na PC odjemalca, zagon strežnika z verifikacijo odjemalca (-sslverify CA), odjemalec se identificira s svojim ključem. V nadaljevanju je opisana izvedba izdelave certifikatov in njihova uporaba. Ob vsakem koraku izdelave je napisan ukaz, ki je vnesen v ukazno vrstico linuxa. Koraki ustvarjanja certifikatov za x11vnc: Generiranje overitelja (ang. Certificate Authority CA) x11vnc sslgenca Privatni ključ smo zaščitili z daljšim geslom (frazo), ki ga moramo na zahtevo dvakrat vnesti. S tem geslom bomo ob poznejši uporabi aktivirali zasebni ključ in tako "dokazali" svojo identiteto. Možna je tudi uporaba praznega gesla, vendar ni priporočljiva. Oba ključa se shranita v imeniku: ~/.vnc/certs/ca/cacert.pem (javni certifikat CA)

Postavitev in vrednotenje platforme IMS Stran 36 ~/.vnc/certs/ca/private/cakey.pem (privatni ključ CA) Generiranje in podpis x11vnc strežniškega certifikata x11vnc -sslgencert server Privatnega ključa nismo zaščitili z geslom, ker bomo tako lahko strežnik zaganjali kot storitev, brez predhodne prijave uporabnika na računalnik. Z ukradenim privatnim ključem se lahko potencialni napadalec izdaja kot naš strežnik. Oba ključa se shranita v imeniku: ~/.vnc/certs/server.crt ~/.vnc/certs/server.pem (javni certifikat strežnika) (privatni ključ + javni certifikat strežnika) Strežnik zaženemo s strežniškimi ključi z naslednjim ukazom x11vnc -ssl SAVE -display :0 Javni CA certifikat smo varno prekopirali na PC odjemalca. V odjemalec integriramo certifikat pod 'SSL/SSH VNC'-> Certs -> ServerCert. Koraki ustvarjanja certifikata za odjemalca: Generiranje certifikata in ključa za odjemalca x11vnc -sslgencert client dilbert Privatnega ključa nismo zaščitili z geslom, ker uporabnik nima časa za vnos gesla. SSL/SSH VNC vrne napako! Oba ključa se shranita v imeniku:

Postavitev in vrednotenje platforme IMS Stran 37 ~/.vnc/certs/clients/dilbert.crt (javni certifikat odjemalca) ~/.vnc/certs/clients/dilbert.pem (privatni ključ + javni certifikat odjemalca) Varno smo prenesli certifikat *.pem na odjemalca. Po prenosu smo certifikat izbrisali iz strežnika, ker uporabimo za identifikacijo odjemalca CA. Certifikat smo integrirali v odjemalec SSL/SSH VNC pod Certs -> MyCert. Nato smo zagnali server z verifikacijo klienta x11vnc -ssl SAVE -sslverify CA Zagon klienta z verifikacijo strežnika: Predhodno smo v SSL/SSH VNC nastavili certifikate za strežnik in odjemalca. Vnesemo uporabniško ime z IP naslovom računalnika, izberemo Use SSL ter potrdimo s Connect. Slika 4.2: Program SSL/SSH VNC 4.2.2 SSH certifikati SSH (Secure Shell) omogoča dostop do ukazne lupine (imenovan tudi "terminalski dostop"), pri čemer se podatki, ki so med sejo izmenjani, šifrirajo. Na ta način se izognemo prisluhu seje, pri katerem bi lahko vsiljivec razkril občutljive podatke (kot je recimo geslo za dostop do uporabniškega računa). Strežniki SSH se praviloma uporabljajo na UNIX/Linux operacijskih sistemih in nekaterih usmerjevalnikih. Na strežniku IMS smo v datoteki sshd_config nastavili naslednje parametre: Za onemogočitev prijave v strežnik preko SSH z geslom ChallengeResponseAuthentication no

Postavitev in vrednotenje platforme IMS Stran 38 PasswordAuthentication no UsePAM no PermitRootLogin no Za omogočitev tuneliranja grafičnega prikaza z X11 X11Forwarding yes V nadaljevanju je opisana izvedba izdelave ključev in njihova uporaba. Ob vsakem koraku izdelave je napisan ukaz, ki je vnesen v ukazno vrstico računalnika. Najprej smo generirali par javni/privatni ključ za uporabnika z ukazom ssh-keygen -t dsa. Privatni ključ smo zaščitili z daljšim geslom, ki ga moramo na zahtevo dvakrat vnesti. S tem geslom bomo ob poznejši uporabi aktivirali zasebni ključ in tako "dokazali" svojo identiteto. Možna je tudi uporaba praznega gesla, vendar ni priporočljiva. Oba ključa se shranita v imeniku: ~/.ssh/id_dsa (privatni) ~/.ssh/id_dsa.pub (javni) Javni ključ prekopiramo v imenik authorized_keys cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys S spodnjima ukazoma smo omejili pravice dostopa do javnega ključa chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

Postavitev in vrednotenje platforme IMS Stran 39 Privatni ključ smo varno prenesli na PC odjemalca. V program puttygen.exe smo naložili privatni ključ ter vnesli geslo, ki smo ga dodali pri generiranju ključa. Ključ smo shranili s končnico *.pkk. 4.2.3 Tuneliranje VNC preko SSH Nastavitve PuTTY: Zagnali smo program putty.exe in pod Connection\SSH\X11 omogočili Enable X11 forwarding in pod X display location vpisali localhost:0 (npr. 0 številka zaslona, vrata: 5900; 1 številka zaslona, vrata: 5901). Slika 4.3: Nastavitve za tuneliranje X11 Pod Connection\SSH\Tunnels smo dodali vrata VNCja in IP strežnika.

Postavitev in vrednotenje platforme IMS Stran 40 Slika 4.4: Nastavitve vrat za tuneliranje Pod Connection\SSH\Auth smo dodali privatni certifikat (*.ptk). V Session smo vpisali IP strežnika ter vrata SSH. Za konec smo pod Saved Session vnesli še ime ter shranili sejo. Slika 4.5: Shranjevanje nastavitev Nastavitve samodejnega zagona x11vnc na IMS strežniku: V datoteki /etc/gdm/custom.conf smo onemogočili prekinitev x11vnc s prijavo uporabnika pod [daemon] KillInitClients=false

Postavitev in vrednotenje platforme IMS Stran 41 V datoteko /etc/gdm/init/default smo vstavili ukaz za zagon x11vnc: /usr/bin/x11vnc -ssldir /home/matej/.vnc/certs -ssl SAVE -sslverify CA -o /var/log/x11vnc.log -forever bg Tabela 4.1: Ukaz za zagon strežnika x11vnc UKAZ RAZLAGA /usr/bin/x11vnc kje se nahaja x11vnc -ssldir /home/matej/.vnc/certs pot do SSL certifikatov -ssl SAVE ohrani že izdelan certifikat za avtentifikacijo strežnika -sslverify CA avtentifikacija odjemalca -o /var/log/x11vnc.log zapis log datoteke za x11vnc -forever po odjavi odjemalca se X11vnc ne konča, temveč čaka na nove odjemalce bg x11vnc deluje v ozadju 4.2.4 Nastavitve SSL/SSH VNC za SSH s predhodnimi nastavitvami za SSL Predhodno smo v SSL/SSH VNC nastavili (SSL) certifikate za strežnik in klienta. Pred povezavo smo še vnesli ime seje, za katero smo nastavili tuneliranje v putty.exe in uporabnika oddaljenega PC v tej seji (uporabnik@seja). Za konec smo izbrali SSH+SSL ter s Connect potrdili povezavo. Slika 4.6: Zagon SSL/SSH VNC

Postavitev in vrednotenje platforme IMS Stran 42 4.3 FHoSS Open Source IMS Core bi bil nepopoln brez strežnika domačih naročnikov. Fokus je razvil lasten prototip HSS, FHoSS. V celoti je napisan v javi in temelji na odprto kodni programski opremi. Uporabniški podatki se hranijo v podatkovni bazi MySQL. FHoSS v openims obnaša kot podatkovna baza, pri tem teži bolj k uporabnosti kot učinkovitosti. Večinoma ga uporabljamo kot konfigurator za sistem upravljanja podatkovnih baz in kot Diameter vmesnik s CSCFs ter IMS aplikacijskim slojem. Implementacija FHoSS opredeljuje tri vmesnike na osnovi jave: Sh vmesnik, ki ga uporabljajo aplikacijski strežniki za dostop do HSS; Zh vmesnik in Cx vmesnik, ki ga uporabljamo za komunikacijo z I-CSCF in S-CSCF. Obstaja tudi implementacija teh vmesnikov, ki izvaja preslikavo funkcij vmesnikov v osnovne Diameter zahteve. Generirana koda za posamezni vmesnik temelji na XML shemah specificiranih pri 3GPP. Jedro FHoSS je HssDiameterStack. Uporablja DiameterPeer za pošiljanje zahtev do drugih entitet in sprejema zahteve in odgovore preko CommandListener. Operativni podatki HSS so shranjeni v podatkovni bazi. Hibernate persistance ogrodje je bilo uporabljeno za gradnjo sloja podatkovne povezave. To omogoča spreminjanje podatkovne baze. Za upravljanje in vzdrževanje FHoSS je na voljo internetni vmesnik. Implementiran je s servlet tehnologijo v kombinaciji z Apache Struts Web ogrodjem. To zagotavlja strukturo in ločitev logike in GUI povezanih opravil. GUI grafični vmesnik (angl. graphical user interface) GUI sloj uporabljamo za upravljanje in spremljanje FHoSS. Implementacija GUI logike se nahaja na de.fhg.fokus.hss.web. Upodabljanje opravimo z več JSP-ji (Java Server Pages), ki so v mapi src-web. DAL sloj podatkovne povezave (angl. Data Access Layer)

Postavitev in vrednotenje platforme IMS Stran 43 Za izgradnjo sloja podatkovne povezave smo uporabili hibernate persistance ogrodje. S tem povezane podatkovne razrede je mogoče najti v de.fhg.fokus.hss.db.model paketu. Tam najdemo tudi BO razrede, ki zagotavljajo dodatne funkcije za podatkovne razrede. Sloj vmesnikov Sloj vmesnikov opisuje zunanje obnašanje HSS-a. Obstajajo tri specifikacije vmesnikov. Te je mogoče najti v de.fhg.fokus.hss.cx, de.fhg.fokus.hss.sh in de.fhg.fokus.hss.zh paketih. Za vsak vmesnik obstaja neposredna implementacija. Vsaka metoda vmesnika je povezana z razredom operacij v op paketu. Slika 4.7: Arhitektura FHoSS-a [10] 4.3.1 Namestitev in konfiguracija FHoSS-a V nadaljevanju so opisani koraki namestitve in konfiguracije FHoSS-a: 1. Izvorna koda je nastavljena na delovanje iz privzete datotečne poti. Zato smo najprej naredili imenike OpenIMSCore v opt in nato FHoSS. Svežo izvorno kodo smo našli na http://svn.berlios.de/svnroot/repos/openimscore/fhoss/trunk. mkdir /opt/openimscore, cd /opt/openimscore, mkdir FHoSS, svn checkout http://svn.berlios.de/svnroot/repos/openimscore/fhoss/trunk

Postavitev in vrednotenje platforme IMS Stran 44 FHoSS. 2. Pred prevajanjem kode smo se prepričali o pravilni različici JDK >= 1.5., nato smo zamenjali direktorij v FHoSS ter uporabili Ant za prevajanje in namestitev FHoSS-a. cd FHoSS ant compile ant deploy 3. V tem koraku začnemo s konfiguracijo okolja. Za uporabo FHoSS potrebujemo podatkovno bazo. V korenskem imeniku naše namestitve najdemo sql skripti za kreiranje tabel hss_db.sql in vnos vrednosti userdata.sql. Slednjo skripto smo prilagodili svojim podatkom, spremenili smo IP naslov na 164.8.22.219 ter domeno na openims.uni-mb.si. cd.. Kreiranje podatkovne baze in tabele: mysql -u root -p -h localhost < FHoSS/scripts/hss_db.sql Vnos podatkov in dveh privzetih uporabnikov: mysql -u root -p -h localhost < FHoSS/scripts/userdata.sql Po kreiranju in vnosu podatkov smo preverili podatkovno bazo, dostopnost in podatke. 4. V FHoSS\deploy\ smo nastavili konfiguracijske datoteke na podatke našega sistema:

Postavitev in vrednotenje platforme IMS Stran 45 a. "DiameterPeerHSS.xml": pri konfiguraciji vrstnika (angl. peer), smo morali spremeniti naslednje parametre: FQDN, Realm, Acceptor Port in Auth id. b. "hibernate.properties": glavne nastavitve za hibernate lahko prenastavimo; privzeto so nastavljene na povezavo z mysql preko localhost (127.0.0.1:3306). Najpomembnejše nastavitve: hibernate.connection.url=jdbc:mysql://127.0.0.1:3306/hssdb, hibernate.connection.username=hss, hibernate.connection.password=hss. c. "hss.properties": Določimo konfiguracijo kot: naslov»ip address«, na katerem tomcat posluša (npr. host=localhost) ali druge parametre kot:»operatorid«in»amfid«. d. "log4j.properties": vsebuje nastavitve za dnevnik. Najpomembnejši nastavitvi sta datotečna pot dnevnika ter stopnja beleženja dnevnika. 4.4 CSCFs Open IMS CSCFs so zgradili na osnovi SIP Express Router (SER), ki lahko deluje kot SIP registrar, proxy strežnika ali preusmeritveni strežnik in je sposoben obdelati več tisoč klicev na sekundo. Modularna struktura mu dopušča dodajanje funkcionalnosti. Vsaka CSCF entiteta openims-a je implementirana kot dinamično naložljiv modul SER, ki doda zahtevane operacije na SER, tako da lahko deluje v skladu s tehničnimi specifikacijami 3GPP. Moduli so sposobni vzporedne obdelave in lahko obdržijo dodatne informacije stanj. Poseben poudarek je na skalabilnosti za porazdelitev obremenitve in količine podatkov. Glavni moduli CSCFs so: CDiameterPeer modul; uporablja se za»realm«usmerjanje in omogoča učinkovito Diameter komunikacijo od in k SER. IMS Service Control modul; nudi podporo vmesniku ISC med S-CSCF in AS. Proxy-CSCF modul; zagotavlja funkcionalnosti P-CSCF.

Postavitev in vrednotenje platforme IMS Stran 46 Interrogating-CSCF modul; zagotavlja funkcionalnosti I-CSCF. Serving-CSCF modul; zagotavlja funkcionalnosti S-CSCF. Prva entiteta na poti od mobilne naprave proti openims je P-CSCF, kot je podano na sliki 4.8. Pri izmenjavi sporočil med registriranimi UE in CSCFs uporabljamo Gm vmesnik. I- CSCF in S-CSCF se nahajata v domači domeni. Povezana sta s HSS in uporabljata za komunikacijo Diameter protokol preko Cx vmesnika. Sama komunikacija med entitetami CSCFs poteka preko vmesnika Mw. Splošen tok pošiljanja sporočil je: UA, ki želi dostopati do OpenIMS je registriran preko P-CSCF, nato P-CSCF poišče znotraj domačega omrežja I-CSCF in ta pošlje zahtevo HSS po izbiri pravilnega S-CSCF-ja. Slika 4.8: Arhitektura CSCFs [11] 4.4.1 Namestitev in konfiguracija CSCFs V nadaljevanju so opisani koraki namestitve in konfiguracije CSCFs: 1. Izvorna koda je nastavljena na delovanje iz privzete datotečne poti. V predhodno narejen imenik OpenIMSCore\opt smo dodali poddirektorij ser_ims. Zadnjo

Postavitev in vrednotenje platforme IMS Stran 47 verzijo izvorne kode smo našli na http://svn.berlios.de/svnroot/repos/openimscore/ ser_ims/trunk. mkdir ser_ims svn checkout http://svn.berlios.de/svnroot/repos/openimscore/ ser_ims /trunk ser_ims 2. V tem koraku smo namestili ser_ims. cd ser_ims make install-libs all cd.. 3. OpenIMS namestitev je privzeto nastavljena na lokalni IP 127.0.0.1 in domeno open-ims.test. IP in domeno smo zamenjali z našimi podatki za IP 164.8.22.219 in domeno openims.uni-mb.si. Predhodno je bilo potrebno skonfigurirati domeno. a. V»named.conf«smo dodali našo cono: vi /var/named/chroot/etc/named.conf zone "open-ims.test" IN { type master; file "pri/open-ims.dnszone"; notify no; }; b. Primerek domene smo prekopirali v konfiguracijski imenik predhodno nameščenega imenskega strežnika in nastavili cono cp /opt/openimscore/ser_ims/cfg/open-ims.dnszone

Postavitev in vrednotenje platforme IMS Stran 48 /var/named/chroot/var/named/openims.zone Nastavitev pravic uporabe datoteke: chown -R named:named /var/named/chroot/var/named/openims.zone Prilagoditev cone s podatki našega sistema. $ORIGIN openims.uni-mb.si. $TTL 1W 1D IN SOA trabi.uni-mb.si. matej\.polajzer2.uni-mb.si. ( 2009073003 ; serial 3H ; refresh 30M ; retry 4W ; expiry 1D ) ; minimu 1D IN NS 1D IN NS trabi.uni-mb.si. dorf21.uni-mb.si. localhost 1D IN A 127.0.0.1 pcscf 1D IN A 164.8.22.219 _sip.pcscf 1D SRV 0 0 4060 pcscf _sip._udp.pcscf 1D SRV 0 0 4060 pcscf _sip._tcp.pcscf 1D SRV 0 0 4060 pcscf icscf 1D IN A 164.8.22.219 _sip 1D SRV 0 0 5060 icscf _sip._udp 1D SRV 0 0 5060 icscf _sip._tcp 1D SRV 0 0 5060 icscf openims.unimb.si. openims.unimb.si. openims.unimb.si. 1D IN A 164.8.22.219 1D IN NAPTR 10 50 "s" "SIP+D2U" "" _sip._udp 1D IN NAPTR 20 50 "s" "SIP+D2T" "" _sip._tcp scscf 1D IN A 164.8.22.219 _sip.scscf 1D SRV 0 0 6060 scscf _sip._udp.scscf 1D SRV 0 0 6060 scscf _sip._tcp.scscf 1D SRV 0 0 6060 scscf

Postavitev in vrednotenje platforme IMS Stran 49 trcf 1D IN A 164.8.22.219 _sip.trcf 1D SRV 0 0 3060 trcf _sip._udp.trcf 1D SRV 0 0 3060 trcf _sip._tcp.trcf 1D SRV 0 0 3060 trcf bgcf 1D IN A 164.8.22.219 _sip.bgcf 1D SRV 0 0 7060 bgcf _sip._udp.bgcf 1D SRV 0 0 7060 bgcf _sip._tcp.bgcf 1D SRV 0 0 7060 bgcf mgcf 1D IN A 164.8.22.219 _sip.mgcf 1D SRV 0 0 8060 mgcf _sip._udp.mgcf 1D SRV 0 0 8060 mgcf _sip._tcp.mgcf 1D SRV 0 0 8060 mgcf hss 1D IN A 164.8.22.219 ue 1D IN A 164.8.22.219 presence 1D IN A 164.8.22.219 4. V podatkovno bazo smo dodali I-CSCF: mysql -u root -p -h localhost < ser_ims/cfg/icscf.sql Po kreiranju in vnosu podatkov smo preverili podatkovno bazo, dostopnost in podatke. 5. Trenutno tako delujeta MySQL in DNS. Potrebno je nastaviti še module CSCFs. Postavili smo se v imenik»/opt/openimscore«in prekopirali pcscf.cfg, pcscf.sh, pcscf.xml, icscf.cfg, icscf.xml, icscf.sh, scscf.cfg, scscf.xml, scscf.sh: cd /opt/openimscore cp ser_ims/cfg/*.cfg. cp ser_ims/cfg/*.xml. cp ser_ims/cfg/*.sh.

Postavitev in vrednotenje platforme IMS Stran 50 S pomočjo skripte»configurator.sh«nastavimo IP in domeno: ser_ims/cfg/configurator.sh pcscf.* icscf.* scscf.* 4.4.2 Zagon komponent Pred zagonom preverimo v startup.sh, če je spremenljivka JAVA_HOME pravilno nastavljena. Za CSCFS smo vzporedno zagnali pcscf.sh, icscf.sh in scscf.sh, za FHoSS startup.sh../pcscf..sh./icscf.sh./scscf.sh./startup.sh Na koncu smo preverili, če se komponente povezujejo na HSS in internetni vmesnik na naslovu http://localhost:8080/.

Postavitev in vrednotenje platforme IMS Stran 51 5 TESTIRANJE Po postavitvi OpenIMS smo izvedli testiranje funkcionalnosti in zmogljivosti okolja. V prvem koraku smo preizkusili pravilnost delovanja. V ta namem smo uporabili kot UE SIP odjemalec "X-Lite" in IMS odjemalec "MONSTER". Za analiziranje mrežnega prometa in protokolov smo izbrali program "Wireshark". V drugem koraku smo testirali zmogljivost OpenIMS s testnim orodjem "IMS Bench SIPp", pri tem smo najprej opazovali delovanje samo pri dveh uporabnikih, nato pa še delovanje pod polno obremenitvijo. 5.1 Uporabniška oprema Predpogoj za preverjanje funkcionalnosti je bila namestitev in konfiguracija SIP in IMS odjemalcev. 5.1.1 X-Lite X-Lite 3.0 je naslednja generacija SIP programskega telefona podjetja CounterPath, ki ponuja uporabnikom vse funkcionalnosti tradicionalnega telefona s prednostmi namiznih in prenosnih računalnikov. Izdelan je za delo prek IP sistemov. Deluje tako v LAN-ih podjetij kot tudi v omrežjih ponudnikov VoIP storitev. Deluje po RFC 3261 SIP standardu. Je preprost za uporabo. Samodejno nastavi pasovno širino, audio- (Broadvoice-32 FEC, G.711aLaw, G.711uLaw, GSM, ilbc...) in video-kodek (H.263 in H.263 1998). Podpira tudi hitro sporočanje in uporabo funkcije prisotnost (stanje uporabnika) po protokolu SIMPLE. 5.1.2 MONSTER "Multimedia Open InterNet Services and Telecommunication EnviRonment (MONSTER) je razširljivo "plug-and-play" ogrodje, ki je razvit s strani Fraunhofer Institute FOKUS, z namenom zagotoviti razvijalcem enotni komunikacijski vmesnik, na katerem bodo lahko razvijali in združili nabor storitev, kot so zvok, video, takojšnje sporočanje, klepetalnice, skupnosti, viri novic, izmenjava fotografij, stiki in še veliko več iz področja telekomunikacij in interneta za različne ciljne platforme.

Postavitev in vrednotenje platforme IMS Stran 52 5.2 Testna oprema 5.2.1 IMS Bench SIPp IMS Bench SIPp je sklop orodij za testiraje zmogljivosti in analizo podatkov. Namen teh orodij je implementacija testnega sistema, ki ustreza IMS performančnim specifikacijam, ETSI TS 186 008. Scenariji, ki so trenutno privzeto pokriti, so: uspešen klic, uspešno pošiljanje sporočila, registracija, deregistracija, reregistracija. Z uporabo XML imamo možnost generiranja lastnih testnih scenarijev. Eno izmed orodij je orodje za generiranje poročil, ki zbrane podatke združi v poročilo skladno s performančnimi specifikacijami. Testni sistem je podan na sliki 5.1. Sestavljen je iz enega menedžerja, enega ali več SIPp generatorjev prometa in po izbiri enega ali več agentov za spremljanje sistema, poročanje o porabi procesorja in pomnilnika. To so logične komponente, ki jih lahko na enem sistemu poganjamo več hkrati. MENEDŽER SIPp #1 SUT SIPp #2 CpuMem (spremljanje sistema)... SIPp #n SIP promet (UDP) Komunikacija med menedžerjem in SIPp ali CpuMem (TCP) Komunikacija med SIPp instancami (TCP) Slika 5.1: Zgradba testnega sistema [16]

Postavitev in vrednotenje platforme IMS Stran 53 5.3 Test funkcionalnosti Za funkcionalno testiranje smo uporabili privzeta naročnika iz HSS Bob in Alice. Do podatkov smo dostopali preko internetnega vmesnika. 5.3.1 Konfiguracija X-Lite Na prvi PC smo namestili X-Lite 3.0 in nastavili SIP račun na privzetega uporabnika bob. Nastavitve, ki so potrebne za SIP odjemalca so: prikazano ime, uporabniško ime in geslo v našem primeru»bob«; avtorizacijsko uporabniško ime (IMPI); bob@openims.uni-mb.si; domeno, openims.uni-mb.si in proxy, pcscf.openims.uni.si:4060. Slika 5.2: Nastavitve SIP računa Za uspešno registracijo SIP odjemalca smo spremenili na strežniku nastavitve oz. algoritem avtorizacije. V datoteki /optopenimscore/scscf.cfg smo omgočili algoritem»md5«in onemogočili»akav1-md5«. 5.3.2 Konfiguracija MONSTER Na drugi PC smo namestili IMS odjemalec MONSTER. Nastavitev računa je potekala podobno kot na SIP odjemalcu, vendar smo zamenjali»bob«z»alice«. Pri MOSTER

Postavitev in vrednotenje platforme IMS Stran 54 odjemalcu smo dodatno vnesli pod Local interface in Local port IP naslov PC-ja in vrata PC-ja, na katera je nameščen. Slika 5.3: Nastavitve IMS računa 5.3.3 Registracija UE Pred registracijo IMS terminala morajo biti izpolnjeni določeni pogoji. Končni uporabnik mora imeti sklenjeno naročniško razmerje z IMS ponudnikom za uporabo storitev. Potrebuje dostop do IP-CAN (IP Connectivity Access Network), kot npr. GPRS, ADSL ali WLAN. Tako terminal pridobi povezavo z omrežjem IMS. Pridobiti mora tudi IP naslov od P-CSCF npr. z DHCP/DNS postopkom. Ko so izpolnjeni predpogoji, prične terminal IMS z registracijo v omrežje IMS. V našem primeru se registrira privzeti naročnik Alice: 1. Alice pošlje zahtevo po registraciji do P-CSCF, ki vsebuje javno uporabniško identiteto, zasebno uporabniško identiteto, domeno domačega omrežja, IP naslov UE, indentifikator instance. 2. P-CSCF pošlje zahtevo po registraciji naprej do vstopne točke (I-CSCF) v domače omrežje. Zahteva vsebuje: naslov in ime P-CSCF, javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja in UE IP.

Postavitev in vrednotenje platforme IMS Stran 55 3. I-CSCF pošlje poizvedbo (javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja) do HSS. HSS preveri, če je uporabnik že registriran ter če ima dovoljenje za registracijo preko omrežja, kjer se nahaja P- CSCF. 4. HSS odgovori I-CSCF. Odgovor vsebuje ime S-CSCF. 5. I-CSCF na podlagi pridobljenega imena ugotovi S-CSCF naslov in pošlje zahtevo po registraciji (naslov in ime P-CSCF, javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja in UE IP). V nadaljevanju seje se bo S-CSCF uporabljal kot kontaktna točka v domačem IMS omrežju. 6. 7. S-CSCF pridobi avtentikacijske parametre od HSS za Alice. Avtentikacijski parametri vsebujejo avtentikacijsko domeno, unikatno število»nonce«, QOP (kakovost zaščite) in tip avtentikacije DIGEST-MD5. 8. S-CSCF pošlje odgovor 401 Unauthorized do I-CSCF. 9. I-CSCF pošlje odgovor 401 Unauthorized do P-CSCF. 10. P-CSCF pošlje odgovor 401 Unauthorized do Alice. 11. Alice overi omrežje s pomočjo avtentikacijskega žetona ter izračuna parameter»response«, ki ga vrne za potrebe avtentikacije uporabnika. 12. 15. potekajo po enakem postopku kot 2. 5. 16. 17. S-CSCF potrdi avtentikacijo. HSS shrani ime S-CSCF in vrne S-CSCF uporabniške informacije (imena/naslove uporabnika, ki jih uporabijo servisne platforme v času registracije uporabnika). 18. S-CSCF pošlje 200 OK (informacije o domačem omrežju) do I-CSCF. 19. I-CSCF pošlje 200 OK (informacije o domačem omrežju) do P-CSCF ter ne shrani informacij o registraciji. 20. P-CSCF pošlje 200 OK do Alice ter shrani informacije o domačem omrežju.

Postavitev in vrednotenje platforme IMS Stran 56 BOB P-CSCF I-CSCF HSS S-CSCF ALICE 1.Register 2.Register 3.Cx-Query/Cx- Select-Pull 4.Cx-Query Resp/Cx- Select-Pull Resp 5.Register 6.Cx-put/Cx- Pull 7.Cx-Put Resp/ Cx-Pull Resp 9. 401 Unauthorized 8. 401 Unauthorized 10. 401 Unauthorized 11.Register 12.Register 13.Cx-Query/ Cx-Select-Pull 14.Cx-Query Resp/Cx- Select-Pull Resp 15.Register 18.OK 16.Cx-put/Cx- Pull 17.Cx-Put Resp/Cx-Pull Resp 19.OK 20.OK Slika 5.4: Postopek registracije uporabnika Alice

Postavitev in vrednotenje platforme IMS Stran 57 5.3.4 Re-registracija UE UE inicializira re-registracijo preden poteče predhodna registracija. 1. Za re-registracijo pošlje UE (BOB) novo zahtevo po registraciji do P-CSCF, ki vsebuje javno uporabniško identiteto, zasebno uporabniško identiteto, domeno domačega omrežja, IP naslov UE, identifikator instance, informacije o zmogljivosti. 2. P-CSCF pošlje zahtevo po registraciji naprej do vstopne točke (I-CSCF) v domače omrežje. Zahteva vsebuje: naslov in ime P-CSCF, javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja in UE IP. 3. I-CSCF pošlje poizvedbo (javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja) do HSS. 4. HSS preveri, če je UE že registriran in vrne predhodno dodeljen S-CSCF. HSS odgovori I-CSCF. 5. I-CSCF na podlagi pridobljenega imena ugotovi S-CSCF naslov in pošlje zahtevo po registraciji (naslov in ime P-CSCF, javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja in UE IP). V nadaljevanju seje se bo S-CSCF uporabljal kot kontaktna točka v domačem IMS omrežju. S- CSCF si shrani ime in naslov P-CSCF. 6. S-CSCF pošlje zahtevo (javno uporabniško identiteto, zasebno uporabniško identiteto, S-CSCF ime) do HSS. 7. HSS shrani ime S-CSCF in vrne S-CSCF-ju uporabniške informacije (imena/naslove uporabnika, ki jih uporabijo servisne platforme v času registracije uporabnika). 8. Na podlagi kriterijev filtriranja pošlje S-CSCF informacije o registraciji servisnim platformam. 9. S-CSCF pošlje 200 OK (informacije o domačem omrežju) do I-CSCF. 10. I-CSCF pošlje 200 OK (informacije o domačem omrežju) do P-CSCF ter ne shrani informacij o registraciji. 11. P-CSCF pošlje 200 OK do Boba ter shrani informacije o domačem omrežju.

Postavitev in vrednotenje platforme IMS Stran 58 BOB P-CSCF I-CSCF HSS S-CSCF ALICE 1.Register 2.Register 3.Cx-Query 4.Cx-Query Resp 5.Register 6.Cx-put/Cx- Pull 7.Cx-Put Resp/ Cx-Pull Resp 11.OK 10.OK 9.OK 8.Service Control Slika 5.5: Potek re-registracije uporabnika Boba 5.3.5 Vzpostavitev klica V korakih 1 8 Alice inicializira klic v smeri Boba. Proti Bobu pošlje zahtevo INVITE z informacijo o podprtih kodekih vsebovanih v SDP (Session Description Protocol). Vse entitete na relaciji Alice Bob ob sprejetju sporočila INVITE odgovorijo s 100 trying, vzpostavitev klica je v teku. 9-12 Bob sprejme INVITE in SDP. Prične z rezervacijo virov in pošlje proti Alice 180 ringing. V korakih 13 16 Bob odgovori na klic z 200 OK, sporočilo vsebuje SDP s potrjenimi kodeki. Alice potrdi v korakih 17 20 odgovor 200 OK z ACK. Steče seja (pogovor) med Alice in Bobom. Sejo prekine Alice z BYE (21 24). Bob potrdi prekinitev z OK.

Postavitev in vrednotenje platforme IMS Stran 59 BOB P-CSCF I-CSCF HSS S-CSCF ALICE 1.INVITE SDP 2. 100 trying 3.INVITE SDP 4. 100 trying 5.INVITE SDP 6. 100 trying 7.INVITE SDP 8. 100 trying 9. 180 ringing 10. 180 ringing 11. 180 ringing 12. 180 ringing 13. 200 OK SDP 14. 200 OK SDP 15. 200 OK SDP 16. 200 OK SDP 17. ACK 18. ACK 19. ACK 20. ACK 21. BYE 22. BYE 23. BYE 24. BYE 25. OK 26. OK 27. OK 28. OK Slika 5.6: Vzpostavitev pogovora med dvema klientoma

Postavitev in vrednotenje platforme IMS Stran 60 5.3.6 Deregistracija UE 1. Za deregistracijo pošlje UE (BOB) novo zahtevo po registraciji z iztekom 0s do P- CSCF, ki vsebuje javno uporabniško identiteto, zasebno uporabniško identiteto, domeno domačega omrežja, IP naslov UE, identifikator instance, informacije o zmogljivosti. 2. P-CSCF pošlje zahtevo po registraciji naprej do vstopne točke (I-CSCF) v domače omrežje. Zahteva vsebuje: naslov in ime P-CSCF, javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja in UE IP. 3. I-CSCF pošlje poizvedbo (javno uporabniško identiteto, zasebno uporabniško identiteto, P-CSCF identifikator omrežja) do HSS. 4. HSS preveri, če je trenutno UE registriran in vrne predhodno dodeljen S-CSCF. HSS odgovori I-CSCF. 5. I-CSCF na podlagi pridobljenega imena ugotovi S-CSCF naslov in pošlje zahtevo po de-registraciji (naslov in ime P-CSCF, javno uporabniško/zasebno identiteto, P- CSCF identifikator omrežja in UE IP). 6. Na podlagi kriterijev filtriranja pošlje S-CSCF informacije o de-registraciji servisnim platformam, ki odstranijo vse vezane informacije na tega uporabnika. 7. S-CSCF pošlje zahtevo HSS, da obdrži shranjeno ime S-CSCF po deregistraciji. 8. HSS potrdi zahtevo. 9. S-CSCF pošlje 200 OK do I-CSCF ter sprosti informacije povezane z registracijo Boba. 10. I-CSCF pošlje 200 OK P-CSCF. 11. P-CSCF pošlje 200 OK do Boba ter sprosti informacije povezane s predhodno registracijo.

Postavitev in vrednotenje platforme IMS Stran 61 BOB P-CSCF I-CSCF HSS S-CSCF ALICE 1.Register 2.Register 3.Cx-Query 4.Cx-Query Resp 5.Register 11.OK 10.OK 9.OK 7.Cx-put 8.Cx-Put Resp 6.Service Control Slika 5.7: Primer deregistracije uporabnika Boba 5.4 Priprava testnih scenarijev S funkcionalnim testiranjem smo preverili delovanje platforme IMS. Performačno testiranje je sestavljeno iz dveh delov. V prvem delu izvajamo seje samo z dvema uporabnikoma, v drugem pa z večimi. Pri performačnem testiranju smo si zadali naslednje cilje: preveriti maksimalno SAPS 1, pri katerih sistem deluje brez večjih napak; preveriti maksimalno obremenitev CPU ter pomnilnika strežnika; ugotoviti, kako se strežnik odzove na preveliko število uporabnikov; ugotoviti zakasnitve pri normalni in preveliki obremenitvi platforme. V tem delu smo za naše testno orodje izbrati IMS Bench SIPp. 1 Scenario Attempts Per Second (število scenarijev na sekundo)

Postavitev in vrednotenje platforme IMS Stran 62 5.4.1 Dodajanje naročnikov v HSS Kot smo že omenili, smo za performačno testiranja namestili IMS Bench SIPp (http://sipp.sourceforge.net/ims_bench/). IMS Bench SIPp potrebuje pri testiranju naročnike iz HSS. Ker smo imeli le dva privzeta naročnika v HSS, je bilo potrebno dodati ostale. Ocenili smo, da potrebujemo približno 3000 naročnikov. Ročni vnos naročnikov preko internetnega vmesnika v HSS bi bil zamuden, hkrati pa bi obstajala možnost napak pri samem vnosu. Izbrali smo vnos s skripto, ki je del paketa OpenIMS. Skripta addimscore_newdb.sh omogoča vnos enega poljubnega naročnika, zato smo pripravili skripto add_multiple-users_newdb.sh. Ta skripta omogoča vnos imena uporabnika in števila uporabnikov. Pripravljena je tako, da kliče skripto add-imscore_newdb.sh. V našem primeru smo vnesli ime naročnika»janez«, število naročnikov 3000 ter indeks zadnjega obstoječega uporabnika z imenom janez v HSS. Ker ta ne obstaja, je indeks 0. Skripta addimscore_newdb.sh je bila klicana 3000-krat ter tako vnesla naročnike janez1, janez2,,janez3000. Pri dodajanju naročnikov smo upoštevali način, kako IMS Bench SIPp pri testiranju bere podatke (ime naročnika + zaporedna številka). Pred vnosom smo add-imscore_newdb.sh še prilagodili, spremenili smo domeno (openims.uni-mb.si) in zamenjali algoritem za avtentikacijo naročnikov na DIGSET MD5. 5.4.2 Konfiguracija SIPp Tabela prikazuje konfiguracijo IMS Bench SIPp. Parametri od StepTransientTime do SAPSIncreaseAmount (SAPS Scenario Attempts Per Second) določajo testni niz (trajanje, število korakov, število scenarijev na s). Drugi del tabele do PublicIdentityFormat specificira promet pri testiranju. Podatki naročnikov so zapisani v zadnjem delu tabele. Tabela 5.1: Parametri IMS Bench SIPp Ime parametra Vrednost parametra StepTransientTime 10 PreRegistrationMaxIHS 100 Opis parametra Čas ignoriranja podatkov koraka po startu (v sekundah). Sprejeti odstotek neustrezno obravnavanih registracij med predregistracijsko fazo (v procentih).

Postavitev in vrednotenje platforme IMS Stran 63 StirTime 1 Trajanje pred-testne faze, v kateri SUT 1 postopno pride do obremenitve "InitialSAPS" (v minutah). StirMaxIHS 100 Sprejeti odstotek neustrezno obravnavanih scenarijev med predtestno fazo (v procentih). StepTime 10 Trajanje posameznega koraka v testnem nizu. InitialSAPS 1 Obremenitev SUT v prvem koraku.(v SAPS). StepNumber 99 Število korakov niza v testni fazi. StirSteps 1 Število korakov v pred-testni fazi. PreRegistrationRate 1 Stopnja registracij med predregistracijsko fazo (v številu poskusov registracij na sekundo). SAPSIncreaseAmount 1 Povečanje obremenitve sistema ob vsakem koraku (v SAPS). TransportTCP 0 Uporaba TCP-načina v IMS Benchmark SIPp. MaxTimeOffset 250 Maksimalen dovoljen časovni zamik (v mikro sekundah) med testnim sistemom in menedžerjem. ExecuteSIPp 0 Zagon SIPp instance s pomočjo menedžerja (0/1). Če je omogočen zagon, se SIPp zažene v ozadju brez možnosti spremljanja dogajanja. Ko je neomogočen, ga zaženemo ročno. ManagerIP 164.8.22.219 IP naslov menedžerja. RingTimeDistr poisson Naključna porazdelitev časa zvonenja (poisson/exponential). RegistrationExpire 1200 Čas izteka registracije (v sekundah). PMMDataSize 140 Povprečna dolžina "page-mode" sporočil (v bytih). HoldTimeDistr poisson Naključna porazdelitev zadrževanja klica (poisson/exponential). PMMDataSizeDistr uniform Naključna porazdelitev dolžine "page-mode" sporočil (uniform). HoldTime 25 Povprečen čas zadrževanja klica (v sekundah). RingTime 5 Povprečen čas zvonjenja (v sekundah). 1 System Under Test (preskušani sistem)

Postavitev in vrednotenje platforme IMS Stran 64 PublicIdentityFormat janez%01d Format se uporablja za ustvarjanje javnih identitet uporabnikov. Parameter %d se nadomesti z indeksom naročnika. PrivateIdentityFormat janez%01d Format se uporablja za ustvarjanje zasebnih identitet uporabnikov. Parameter %d se nadomesti z indeksom naročnika. DontPreRegisterButUseSippIP 0 Predregistracijske faze ni, uporabi se IP naslov testnega sistema kot uporabnikova domena. TotalProvisionedSubscribers 3000 Število uporabljenih naročnikov. UserRealm openims.uni-mb.si Primarna domena uporabnika za namene avtentikacije. UserDomain openims.uni-mb.si Primarna domena uporabnika. PercentRoamingSubscribers 0 Število naročnikov na gostovanju. PercentRegisteredSubscribers 51 Procent registriranih uporabnikov v predregistracijski fazi (v procentih). UserPasswordFormat janez%01d Format se uporablja za generiranje gesel identitet uporabnikov. Parameter %d se nadomesti z indeksom naročnika. 5.5 Rezultati testiranja Rezultate zmogljivosti smo pridobili na podlagi petih metrik: PX_TRT-REG1; čas med prvim poslanim sporočilom REGISTER in prejetim odgovorom 401 Unauthorized. PX_TRT-REG2; čas med drugim poslanim sporočilom REGISTER in prejetim odgovorom 200 OK. Vsota PX_TRT-REG1 in PX_TRT-REG2 predstavlja čas registracije. PX_TRT-SES1; čas med poslanim sporočilom INVITE klicatelja in prejetim sporočilom ACK klicočega. Čas vzpostavitve seje. PX_TRT-SES2; čas med poslanim sporočilom INVITE klicatelja in prejetim sporočilom INVITE klicočega. Čas zahteve proženja seje. PX_TRT-REL1; čas med poslanim sporočilom BYE in prejetim sporočilom OK. Čas rušenja seje.

Postavitev in vrednotenje platforme IMS Stran 65 CPU; razmereje uporabljene/razpoložljive centralno procesne enote. MEM; razmerje uporabljenega/skupnega pomnilnika. Specifikacije za performačno testiranje zahtevajo tri sledeče korake: ko je testni sistem nebremenjen, normalno obremenjen in preveč obremenjen. Koraki naj bi trajali 30 min na testni niz. V našem primeru smo uporabili korake dolge 10 min. Daljši koraki bi zahtevali preveč uporabnikov, več registracij v preregistracijski fazi in s tem preobremenitev strežnika v pre-registracijski fazi. V prvem koraku smo izvedli performačno testiranje z dvema naročnikoma. Z wiresharkom smo 12-krat posneli promet registracije naročnika in vzpostavitev seje. Performačno testiranje v drugem koraku je izvedeno pod polno obremenitvijo s 3000 uporabniki. Poročila o performančnem testiranju sistema smo pripravili s perl skripto doreport.pl, ki je del paketa IMS Bench SIPp. Elektronska verzija poročila se nahaja na priloženem CD-ju. 1. PX_TRT-REG1 Registracija uporabnika je sestavljena iz dveh korakov. V prvem si uporabnik pridobi parameter za avtetikacijo, v drugem vrne izračunane parametre. Sliki 5.8 in 5.9 prikazujeta čas med poslano zahtevo po registraciji in prejetjem odgovora 401 Unauthorized. Povprečen čas prve registracije naročnika je 626 ms. Kot smo že omenili, je performančno testiranje sestavljeno iz več faz. V pre-registracijski fazi je povprečen čas 1410 ms in v prvem koraku testne faze 10413 ms. Vzrok za porast časa v prvem koraku je obremenitev testnega sistema z ostalimi testnimi scenariji. V preregistracijski fazi se namreč izvaja samo scenarij registracije uporabnikov. Zahtevan čas po specifikacijah je pod 2 s. Slika 5.8: Čas prve registracije enega naročnika

Postavitev in vrednotenje platforme IMS Stran 66 Slika 5.9: Čas prve registracije več naročnikov 2. PX_TRT-REG2 Sliki 5.10 in slika 5.11 prikazujeta čas med poslano zahtevo po registraciji in prejetjem odgovora 200 OK. Povprečen čas registracije naročnika je 822 ms. Pri testih z več naročniki je v pre-registracijski fazi povprečen čas 460 ms, v prvem koraku testne faze 2146 ms in v drugem koraku 4330 ms. Vzrok za porast časa v obeh korakih je večja obremenjenost strežnika z ostalimi scenariji. Zahtevan čas po specifikacijah je pod 2 s. Slika 5.10: Čas druge registracije enega naročnika

Postavitev in vrednotenje platforme IMS Stran 67 Slika 5.11: Čas druge registracije več naročnikov 3. PX_TRT-SES1 Čas vzpostavitve seje je čas med poslanim sporočilom INVITE klicatelja in prejetim sporočilom ACK klicočega. Povprečen čas vzpostavitve seje med naročnikoma je 2354 ms. Povprečen čas OpenIMS pod obremenitvijo je 4572 ms. Čas vzpostavitve seje mora biti po specifikacijah pod 8 s in ne vključuje časa zvonjenja. Slika 5.12: Čas vzpostavitve seje med naročnikoma Slika 5.13: Čas vzpostavitve seje več naročnikov

Postavitev in vrednotenje platforme IMS Stran 68 4. PX_TRT-SES2 Grafa na slikah 5.14 in 5.15 prikazujeta, kako hitro prepotuje sporočilo INVITE od pošiljatelja do prejemnika. Brez obremenitve strežnika traja 4,8 ms in pod obremenitvijo 4840 ms. Ta čas je večji kot sama vzpostavitev seje. Pri PX_TRT- SES2 se upoštevajo vsa poslana sporočila INVITE ne glede na končno uspešnost vzpostavitve seje. Specifikacije določajo čas pod 2 s. Slika 5.14: Čas INVITE sporočila od prvega do drugega naročnika Slika 5.15: Čas zahtev (INVITE) proženja seje 5. PX_TRT-REL1 Povprečen čas rušenja seje s strani naročnika je 51 ms. V primeru obremenitve je ta čas v prvem koraku 1428 ms ter v drugem koraku 1558. Zaradi obremenitve sistema pride do opaznega podaljšanja časa, vendar je le-ta še vedno v mejah normale, pod zahtevanima 2 s.

Postavitev in vrednotenje platforme IMS Stran 69 Slika 5.16: Čas rušenja seje naročnika Slika 5.17: Čas rušenja seje več naročnikov 6. CPU Slika 5.18 ponazarja obremenitev procesorja (vijolčna črta) in SAPS (Scenario Attempts Per Second, zalena črta). Z naraščanjem registracij v preregistracijski fazi raste obremenitev procesorja. Proti koncu pred-testne faze se poveča SAPS na 1 in s tem obremenitev procesorja. V prvem testnem koraku, kjer imamo obremenitev samo 1 SAPS, je sistem že preobremenjen. Slika 5.18: Obremenitev procesorja

Postavitev in vrednotenje platforme IMS Stran 70 7. MEM Zasedenost pomnilnika ponazarja slika 5.19. V nasprotju z obremenitvijo procesorja pri zasedenosti pomnilnika ne pride do preobremenjenosti. Slika 5.19: Obremenitev pomnilnika Iz rezultatov performačnega testiranja je razvidna preobremenitev procesorja v prvem koraku. Zaključimo lahko, da strojna oprema oz. procesor ne zadosti potrebam delovanja OpenIMS znotraj postavljenih specifikacij [18].