POLITECHNIKA WARSZAWSKA Rok akademicki
Wydział Elektroniki 2004/2005
i Technik Informacyjnych
Instytut Telekomunikacji
PRACA DYPLOMOWA INŻYNIERSKA
Maciej Jan Bąk
Usługa obecności dla telefonii.
Projekt i implementacja z wykorzystaniem
interfejsów Parlay/OSA oaz protokołu XMPP.
Praca wykonana pod kierunkiem
dr inż. Marka Średniawy
……………….
Ocena pracy
……………….
podpis Przewodniczącego Komisji
Warszawa, 2005 r.
Abstrakt
W sytuacji, gdy na rynku telekomunikacyjnym obecne są coraz nowocześniejsze i bardziej zróżnicowane technologie teleinformatyczne, istnieje potrzeba ich syntezy w ramach wyszukanych scenariuszy usługowych dostosowanych do potrzeb użytkownika końcowego. Szczególnie koncepcja otwartych platform usługowych, zakładająca ujednolicony dostęp do funkcjonalności różnego typu sieci poprzez informatyczny interfejs, przyspieszyła proces konwergencji usług. Synteza technologii stała się możliwa w obrębie jednej, elastycznej i skalowalnej platformy usługowej.
Celem niniejszej pracy jest przedstawienie prototypu usługi obecności dla telefonii oraz opisanie jego implementacji w środowisku symulacyjnym. Realizacja prototypu łączy wykorzystanie interfejsów Parlay/OSA oraz funkcjonalności protokołu natychmiastowej komunikacji XMPP dla sieci IP. W pierwszej część pracy przedstawiono przesłanki przemawiające za zaproponowaną usługą oraz jej logikę. W ramach części drugiej opisano zastosowane narzędzia - symulator Parlay/OSA firmy Ericsson, programistyczne API dla protokołu XMPP oraz serwer dla usługi Instant Messaging and Presence realizowanej przez ten protokół. Część trzecia zawiera omówienie implementacji prototypu, z naciskiem na aspekty telekomunikacyjne.
Abstract
Nowadays, while telecom market is supported with more and more advanced and varied technologies, there is a strong need to combine them within sophisticated service scenarios that fit end-user's expectations. Especially the idea of open service access platforms, which assumes unified access to various functionalities of all types of networks, has fastened the process of the service convergence. The synthesis of different technologies has become possible within single, open and scalable service platform.
The goal of this work is to present a prototype and implementation of the presence service for telephony using simulated network environment. The implementation combines usage of Parlay/OSA interfaces and XMPP protocol for instant messaging for IP networks. The first part of the work contains prerequisites for such service and description of service logic. Next, all used tools are presented, which are Ericsson Parlay/OSA simulator, Java API for XMPP protocol and server for Instant Messaging and Presence. Finally, the last part describes implementation of the service prototype, with emphasis of its telecom aspects.
Życiorys
Urodziłem się 24 czerwca 1982 roku w Płocku. W 1989 roku rozpocząłem edukację w Szkole Podstawowej nr 2 im. Wojska Polskiego w Płocku. W latach 1997-2001 uczęszczałem do Liceum Ogólnokształcącego im. Władysława Jagiełły w Płocku, do klasy o profilu matematyczno-fizycznym. W tym okresie uzyskałem certyfikaty FCE i CAE brytyjskiego Cambridge University. W latach 1998-1999 otrzymywałem stypendium Premiera RP dla najlepszego ucznia szkoły. Liceum ukończyłem z wyróżnieniem, otrzymując Złoty Medal za wyniki w nauce. W 2001 roku rozpocząłem studia na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2003 roku wybrałem specjalność Teleinformatyka i Zarządzanie w Telekomunikacji. Jednocześnie poszerzałem wiedzę zdobytą na studiach, podejmując w 2004 roku praktyki w Polskim Radio, a w 2005 roku w Telekomunikacji Polskiej. W sierpniu 2005 roku rozpocząłem pracę w Centrum Badawczo-Rozwojowym Telekomunikacji Polskiej na stanowisku Młodszego Specjalisty ds. Otwartych Platform Usługowych.
Prywatnie interesuję się muzyką oraz filozofią przemian kulturalno - społecznych.
SPIS TREŚCI
OBJAŚNIENIE SKROTÓW
SPIS ILUSTRACJI
Wprowadzenie
Celem, jaki przyświeca istnieniu sieci telekomunikacyjnej jest świadczenie różnego typu usług. Obserwowane współcześnie procesy globalizacji, a także większe tempo życia i konieczność szybkiej wymiany dużych ilości informacji wpłynęły znacząco na sposób realizacji tego celu. Kluczowe dla odbiorcy usług stały się pojęcia mobilności, konwergencji i kontekstowości. Mobilność jest rozumiana jako zdolność do nawiązania komunikacji w dowolnym miejscu i o dowolnej porze. Konwergencja oznacza integrację różnego typu sieci w ramach realizacji jednej usługi. Kontekstowość z kolei to dopasowanie profilu świadczonej usługi do okoliczności (kontekstu), w jakich znajduje się odbiorca usługi. Odbywa się to na podstawie analizy różnego typu danych z nim związanych, zbieranych za pomocą różnego typu rozwiązań technologicznych. Przykładem kontekstu może być lokalizacja użytkownika, ale także np. temperatura otoczenia, wysokość nad poziomem morza itp.
Współczesny odbiorca usług oczekuje zatem, iż będą one dostosowane do jego indywidualnych potrzeb i oczekiwań. Chcąc sprostać tym oczekiwaniom, dostawca musi dysponować zaawansowaną technologicznie platformą kreacji usług, zapewniającą ujednolicony dostęp do funkcjonalności różnego typu sieci, a także pozwalającą na integrację jej z nowymi rozwiązaniami technologicznymi w telekomunikacji i informatyce. Kluczowym pojęciem jest tutaj sieć inteligentna (intelligent network, IN), a więc taka, w której logika usług czy szerzej rozumiana platforma usługowa jest zawsze oddzielona od funkcji komutacyjnych. W odniesieniu do publicznej sieci z komutacją kanałów PSTN koncepcja sieci inteligentnej pozwoliła na rozpatrywanie scenariusza usługi jako osobnego zagadnienia.
W telekomunikacji funkcjonuje pojęcie Sieci Następnej Generacji (NGN), która integruje różnego typu sieci i umożliwia nawiązywanie komunikacji typu „każdy z każdym”. Z „usługowego” punktu widzenia możemy mówić o sieci inteligentnej następnej generacji (next generation intelligent network). W architekturze NGN wyróżnia się styki usługowe, a więc miejsca, których obsługa połączenia jest przekazywana do aplikacji usługowej. Z kolei aplikacja usługowa realizuje logikę usługi zbudowanej w oparciu o dostępne jej funkcjonalności sieci, takie jak np. zestawienie połączenia czy analiza wybranego przez abonenta numeru ( w dokumentach standaryzacyjnych termin aplikacja jest równoznaczny z usługą, widzianą przez użytkownika końcowego).
Ilustruje to poniższy rysunek:
Na rysunku wszystkie rodzaje sieci zostały potraktowane jako jedna Sieć Następnej Generacji. Jest to zgodne z założeniem, że usługi mają być niezależne od typu sieci. Widoczne są aplikacje usługowe, do których sieć ma dostęp poprzez styki usługowe. Jeden styk może obsługiwać kilka aplikacji. W wyniku wyboru usługi przez abonenta (zwykle dokonywanego poprzez wybranie odpowiedniego adresu aplikacji) sieć rozpoczyna wymianę sygnalizacji z aplikacją poprzez styk usługowy. Usługa może dotyczyć połączenia dwóch abonentów, może też być przeznaczona tylko dla jednego abonenta (np. usługa lokalizacji).
Celem uproszczenia pominięto na rysunku takie elementy architektury sieci NGN jak bramy medialne (Media Gateways), sterowniki bram medialnych (MG Control), bramy sygnalizacyjne (Signalling Gateways), Call Servery. Uznano je za nieodłączne elementy Sieci Następnej Generacji, mające udział zarówno w przenoszeniu sygnalizacji jak i strumieni danych podczas zestawionego połączenia.
Opierając się na przedstawionym w sprawozdaniu z pracowni dyplomowej inżynierskiej nr 1 pojęciu sieci inteligentnej następnej generacji (next genetration inteligent network), można postawić tezę, iż kluczową rolę przy wprowadzaniu konwergentnej usługi telekomunikacyjnej do rzeczywistej sieci odgrywa proces kreacji takiej usługi, a konkretnie prostota tego procesu. O ile bowiem dla sieci pakietowych implementacja usługi jest w dużej mierze zadaniem czysto programistycznym, o tyle dla sieci inteligentnej wykorzystującej system sygnalizacji SS7 twórca usługi (sernice developer) opiera się na środowisku kreacji usług (Service Creation Environment), dostarczonym przez producentów urządzeń dla danej sieci. Takie środowisko jest kompletnym lecz niestety zamkniętym narzędziem. Tworzący usługę korzysta ze zdefiniowanego „z góry” zbioru funkcjonalności (reprezentowanej przez bloki SIB, service independent blocks), którą trudno rozszerzać w elastyczny sposób. Producent takiego środowiska ustala sposób jego integracji np. z relacyjnymi bazami danych, sieciami pakietowymi, usługami WWW. Często zatem mocno utrudnione może być poszerzanie scenariusza kreowanych usług o nowe, wymagane przez rynek opcje.
Rozwiązaniem tych trudności może być zastosowanie interfejsów Parlay/OSA. Ich zalety i funkcjonalność przedstawiono już poprzednim sprawozdaniu. W ramach pracowni w tym semestrze stwierdzono jednak, iż z punktu widzenia twórcy usługi należy podkreślić korzyści, jakie płyną z faktu, iż wykorzystanie interfejsów Parlay jest zadaniem programistycznym. Korzystając z dowolnego języka programowania odwzorowującego standard Parlay na własne polecenia, a także z zalet obiektowego projektowania aplikacji, można w łatwy sposób poszerzać i modyfikować funkcjonalność własnej usługi. Twórca nie korzysta tutaj z gotowego, zdefiniowanego środowiska, lecz ma dowolność w wyborze narzędzi. Musi jedynie zapewnić zgodność usługi ze specyfikacją Parlay oraz ze specyfikacją bramy Parlay udostępniającej funkcjonalności SCF.
Przyjęcie takiego rozwiązania umożliwia szybkie wprowadzanie elastycznych scenariuszy usługowych, „bezbolesną” zmianę narzędzi (np. można zaimplementować różne sposoby wydobywania informacji z baz danych). Trudno przecenić korzyści, jakie płyną z programistycznego podejścia do kreacji usług.
W ramach pracy dyplomowej przyjęto taki sposób implementacji usługi, aby pokazać i uwydatnić opisane powyżej korzyści. Zostanie to omówione poniżej, przy opisie struktury obiektowej aplikacji.
Należy uściślić tutaj znaczenie dwóch kluczowych terminów. „Odbiorca usługi” i „użytkownik” w niniejszej pracy oznaczają osoby, które w konkretnym celu ( np. w rozmowy telefonicznej) korzystają ze świadczonej usługi. Usługa telekomunikacyjna jako taka (szczególnie usługa konwergentna i kontekstowa) może być jednak świadczona także pomiędzy maszynami (np. komunikacja radiowa w ramach sieci czujników wilgotności) lub autonomicznymi procesami (np. dwoma wątkami w aplikacji komunikującymi się poprzez gniazda TCP/IP). Ogólnie wszystkie strony biorące udział w procesie realizacji usługi w niniejszej pracy nazwano elementami modelu tej usługi.
Cel pracy
Celem niniejszej pracy jest zaprezentowanie na przykładzie projektu inżynierskiego możliwości integracji funkcjonalności różnego typu sieci telekomunikacyjnych z technologiami informatycznych w ramach kreacji i świadczenia jednej usługi, w taki sposób, aby pokazać i uwydatnić płynące z tego korzyści. ??? - Ponadto celem jest także wykazanie słuszności tezy, iż taka integracja znacznie poszerza zakres potencjalnych scenariuszy usługowych
Sposobem realizacji tak określonych zadań jest stworzony prototyp i implementacja usługi telekomunikacyjnej, możliwej do świadczenia w ramach sieci inteligentnej następnej generacji. Jest to usługa obecności dla telefonii. Wykorzystuje ona komunikację w różnego typu sieciach (wszelkiego typu sieci telefoniczne oraz sieci IP). Integracja tych technologii została zrealizowana z wykorzystaniem interfejsów Parlay/OSA, protokołu XMPP dla natychmiastowej komunikacji oraz aplikacji napisanej w języku Java. Jest to usługa mobilna, ponieważ jej odbiorcami mogą być abonenci telefonii ruchomej (GSM, UMTS), jest konwergentna oraz uwzględnia kontekst - obecność, czyli zdolność użytkownika do nawiązania komunikacji.
Motywacją do podjęcia takiego projektu inżynierskiego były przemyślenia na temat zagadnień związanych z kreacją i świadczeniem usług w ramach współczesnego rynku telekomunikacyjnego oraz chęć realizacji własnego projektu usługi. Dodatkowym bodźcem okazała się dostępność darmowych narzędzi wspomagających kreację usług, a także symulację środowiska, w którym mogą być one świadczone.
Co dalej ????????
Rys.1.1 Ogólna architektura Next Generation Intelligent Network
USŁUGA 3 lub 4
Styk usługowy
Sygnalizacja
Aplikacja usługowa
Aplikacja usługowa
4
3
USŁUGA 2
Głos, faks, strumień danych, strumień multimedialny
Sygnalizacja
Sygnalizacja
Aplikacja usługowa
2
1
Styk usługowy
Aplikacja usługowa
Styk usługowy
N G N