MOTIware IMS MediaGateway megvalósítása Új generációs multimédiás szolgáltatások IMS alapokon
MOTIware IMS MediaGateway
Tartalom Media Gateway a MOTIware IMSben ............................................................................................. 3 Media Resource Function (MRF) ..................................................................................................... 3 Media Gateway ............................................................................................................................... 3 Technikai megvalósítási javaslat a Motiware szolgáltatás MRF moduljára .................................... 5 Adatstruktúrák............................................................................................................................... 10
MOTIware IMS MediaGateway
Media Gateway a MOTIware IMSben
A MOTIware, az ITware mobiletelevíziós megoldása 2012 elejére egészült ki az IMS integráció lehetőségével. Az integráció technikai részletei leginkább az MOTIware architektúra ismeretében bírnak jelentőséggel, viszont a médiaszolgáltatást nyújtó Media Gateway komponens más IMS rendszerekben önállóan is helyt állhat. Az itt következő leírás ennek a részletes specifikációja.
Media Resource Function (MRF)
Az IMS szabvány a szolgáltatások nyújtásához definiál bizonyos alap funkciókat, amiket implementálva egységes felületet lehet biztosítani az alkalmazás szeverek felé. Ilyen funkció-halmaz a médiakezelést megvalósító MRF, ami a különböző média tartalmak keverését, a médiaformátumok közötti átkódolást és a médiafolyamok statisztikáinak összegyűjtését végzi. Az implementálásához két alegységet kell megvalósítani:
MRFC (Media Resource Function Control): a médiafolyamok vezérlését végzi, SIP végpontként működik (SIP segítségével kommunikál az S-CSCF-ekkel)
MRFP (Media Resource Function Processor): a médiafolyamon végzett műveletekért és annak kiszolgálásáért felelős alegység
Media Gateway
A Media Gateway szerepe a rendszerben egy médiaforrás implementálása, ami az IMS hálózatában MRF (Media Redource Function) feladatokat lát el. Megvalósítja a SIP User Agent-ként működő MRFC vezérlési modult, valamint a media átkódolását és kiszolgálását végző MRFP-t. Mivel a teszt-IMS rendszer jelenleg video kiszolgálására alkalmas média szerverrel nem rendelkezik, ennek szimulálása is a feladat részét képezi. A Media Gateway-nek valamilyen analóg vagy digitális forrásból érkező jelet kell tudnia kiszolgálnia a SIP jelzésprotokollon és RTP transzporton keresztül, egy, a Wowza Média Szerver által is értelmezhető médiakódolás segítségével. A kiszolgálás megvalósításához a Media Gateway-nek szabványos SIP kliensként kell működnie, mely a hozzá érkező hívásokat megválaszolja, és a képességek egyeztetése után a hozzá SDP-ben továbbított csatorna információk alapján a megfelelő médiafolyam kapcsolatot felépíti.
MOTIware IMS MediaGateway
A tervezett implementációban a Motiware szolgáltatás által biztosított csatornák a Media GW bemeneti forrását képezik. A csatornákon belül igényelhető különböző minőségű és felbontású médiafolyamok definíciója konfigurációs fájlban adható meg: minden egyes médiafolyamhoz külön portot kell foglalni a média szerver hálózati interfészén. A beérkező médiakéréseket ezen bemeneti folyamok tetszőleges számban előállított továbbításával szolgálja ki. A Media GW a kiszolgálás során átkódolást már nem végez, a Wowza szerver által értelmezhető videojel előállítása a média útvonalának egy korábbi szakaszán történik. A média továbbításához a Media GW a SIP kapcsolatoknál alkalmazott RTP csomagformátumot használja. A továbbítás során az adott porton beérkező médiafolyamot 160 bájtos csomagokra darabolva, RTP fejléccel ellátva az adott csatornához nyilvántartott összes kliens végpontnak elküldi. Ezek a végpontok a Motiware GW-en futó SIP kliensekhez tartozó médiavégpontok, melyek a Wowza szerver bemeneteként vannak konfigurálva. A Media GW a végpontokra vonatkozó adatokat a médiakérés INVITE üzenetében lévő SDP leíróban kapja. A média gateway RTP-továbbítást végző modulját, bár átkódolást nem végez, a szolgáltatást igénybe vevő felhasználók és a számukra biztosított csatornák számának függvényében véges kapacitású erőforrásként kell kezelni. A tervezés szempontjából ez azt jelenti, hogy skálázhatónak és fizikai szinten modularizálhatónak, elosztottnak kell lennie a médiakiszolgálásnak. A média GW-en belül az MRFC funkciót ellátó SIP kliens nem végez erőforrás-igényes feladatokat, így a skálázhatósági igények csak az MRFP modulnál jelentkeznek. A média GW architektiurális felépítése ennek megfelelően a következőképpen alakul:
MRFC: egy példányban futó SIP kliens, ami a médiakiszolgálás vezérlését végzi
MRFP: tetszőleges számú RTP továbbító almodulból álló „felhő”, amely konfigurációs szinten bővíthető újabb elemekkel
A fenti architektúra a modulok logikai felosztását írja le, fizikai szinten lehetőség van arra is, hogy egy hardveren fusson a teljes media GW. Az MRFP és MRFC elemek között a médiavezérlési funkciók biztosításához szükség protokoll megvalósítása a „Kommunikációs protokollok” fejezet „MRFC- MRFP kapcsolat protokoll”-ban leírtaknak megfelelően történik.
az RTP továbbító modul beregisztrál a vezérlő modulba
a vezérlő modul egy adott porton lévő csatorna adott célcímre történő kijátszására utasítja az RTP továbbító modult
a vezérlő modul egy adott célcímre történő csatorna kijátszásának a leállítására utasítja az RTP továbbító modult
MOTIware IMS MediaGateway
Technikai megvalósítási javaslat a Motiware szolgáltatás MRF moduljára MRFC
Az MRFC funkciót megvalósító modul egy IMS-ben regisztrált SIP végpont (SIP UAC, SIP User Agent Client), amely a médiakéréseket fogadja, feldolgozza és menedzseli a felépült média-folyamokat. Hitelesítési és authorizációs feladatokat nem kell ellátnia, mert ezeket az IMS hálózati elemei illetve a Motiware AS végzik. Ha egy médiakérés beérkezik az MRFC-hez, akkor a kiszolgálásának már csak technikai jellegű akadályai lehetnek (pl. nem áll rendelkezésre a megfelelő srteam), az adminisztratív szűréseknek már megfelelt az igény. A konkrét média-folyamatokat nem az MRFC végzi, de hozzá tartozik az összes menedzsment és vezérlési feladat. Ezek a feladatok az alábbiak:
az MRFP modulok és a hozzájuk tartozó csatornák nyilvántartása a SIP kommunikáció, médiakérés kezelése az aktív médiafolyamok nyilvántartása, a SIP session-höz való kapcsolása
MRFP-menedzsment
A rendszertervben az MRFP modulok skálázhatósági és erőforrás-menedzsmenti szempontokat figyelembe véve önálló egységenként vannak definiálva. Az MRFC-nek képesnek kell lennie kezelnie az MRFP-halmaz változásait, új modulok bekötését és meglévők eltávolítását. Ennek érdekében az MRFC és MRFP modulok egyfajta kliens-szerver architektúrában kapcsolódnak egymáshoz. Az MRFP bejelentkezik az MRFC-hez, és jelzi, hogy mely csatornákat lehet rajta keresztül elérni. Az MRFC a megfelelő adatszerkezetben nyilvántartja a bejelentkezett MRFP-ket, illetve egy listát a streamelhető csatornákról és azok elérhetőségéről. Ha egy csatorna több MRFP-nél is elérhető, akkor az MRFC egy (a jelen dokumentációban nem definiált) algoritmus alapján kiválasztja az optimális modult (például az alapján, hogy melyiken van adott időpillanatban kevesebb aktív stream-elés). Ha egy MRFP modul kijelentkezik az MRFC-től, akkor a hozzá tartozó csatornákkal együtt törlődik a megfelelő listákból. SIP kommunikáció
Az MRFC modul az IMS-nek egy érvényes SIP URI-val rendelkező eleme. A SIP azonosítója az IMS felhasználói számára elérhető, címezhető, így képes SIP session-ök felépítésére. A végpont minden esetben fogadó oldalként vesz részt egy kapcsolat felépítésében. A kapcsolatot kizárólag INVITE tranzakcióval lehet kezdeményezni. Az igényelt csatornára vonatkozó adatokat az INVITE üzenet tartalmaként elküldött SDP leíró tartalmazza:
a fogadó oldal IP címe (’C’ mező) a fogadó oldalon használt port (’O’ és ’M’ mezők)
MOTIware IMS MediaGateway
a csatorna azonosítója, ami tartalmazza a nevét és a kívánt minőséget (’I’ mező)
(Megjegyzés: az esetleges kereskedelmi forgalomban kapható média szerver megoldásokban felhasználási szinten nem biztos, hogy hozzá lehet férni az SDP mezőhöz. Mivel az ’I’ mező használata nem kötelező, csak kiegészítő információkat tartalmaz a médiakapcsolatról, nagy valószínűséggel egy kész média szervert használva az egyes csatornákhoz külön-külön SIP azonosítót kellene rendelni, ami az IMS menedzsment folyamatai miatt megnehezítheti új csatornák hozzáadását illetve meglévők megszűntetését.) A médiakapcsolat sikeres felépítése után a bontást normál működés esetén a kliens kezdeményezi. Ebben az esetben az MRFC fogadja a BYE üzenetet, majd felszabadítja az erőforrásokat. A lejátszás megszakadását az MRFP is jelezheti, ilyenkor az MRFC-nek kell kiküldeni a BYE üzenetet a kliensnek. Médiakapcsolatok menedzselése
A beérkező médiakéréshez az MRFC kiválasztja a megfelelő MRFP-t, és a kommunikációs csatornán jelzi az MRFP-nek, hogy melyik csatornát milyen IP/port végpontra kell stream-elni. Az aktív médiafolyamokhoz nyilvántart egy adatstruktúrát, amelyben eltárolja, hogy melyik SIP session-höz melyik MRFP, melyik csatornája van hozzárendelve, annak mi az egyedi azonosítója, illetve az aktuális állapota. Ezen adatok alapján bármelyik irányból érkező eseményt le tudja kezelni és jelezni a másik végpont felé. A megfelelő azonosíthatósághoz a tárolt adatok mindegyikéhez egyedi azonosítóra van szükség: SIP CallID, MRFP azonosító, csatorna azonosító, stream azonosító (ezt az MRFP generálja). MRFP
A rendszer tetszőleges számú, egymástól független MRFP modult tartalmazhat. Ezek feladata a médiaforrástól kapott bemeneti RTP folyam igény szerinti végpontokra történő továbbítása, többszörözése. A bemeneti médiafolyamok konfigurációs szinten állíthatóak, dinamikusan nem változtathatók. A modul bejelentkezik az MRFC-hez a saját azonosítójával és elküldi azon csatornák listáját, melyeket bemenetként kap. Az MRFP ezután vár, hogy az MRFC-től utasítást kapjon a stream-elésre. Az üzenetben megkapja, hogy melyik csatornát milyen IP/port végpontra kell továbbítani valamint a stream azonosítóját, amivel a későbbiekben lehet rá hivatkozni. A továbbításhoz az MRFP-nek nyilván kell tartania egy listát, hogy az adott bemenő folyamot milyen végpontokra kell küldeni. Stream-elés indításakor a modul belerakja a listába az új címet. Az MRFC felé nyugtázni kell a stream-elés megkezdésének sikerességét, hogy negatív válasz esetén másik MRFP-t tudjon keresni a médiakéréshez. Maga a továbbítás úgy történik, hogy az UDP socket-ről leveszi az RTP csomagot, majd a csatornához tartozó összes célcímre kiküldi azt. A stream-elést befejezni a célcím listából való törlésével lehet. Ha a steam-elés az MRFP oldalon megszakad, akkor ezt jelezni kell az MRFC-nek, hogy a vezérlési síkon is le lehessen zárni a kapcsolatot.
MOTIware IMS MediaGateway
Az MRFC-MRFP kommunikáció
Az IMS szabvány nem tartalmaz megkötést az MRF implementációkban megvalósított kommunikációs protokollra. Ajánlásként a H.248 valamint a SIP protokollt említi, ezek azonban a jelen rendszer céljaihoz részben nem alkalmasak részben túl komplexnek tűnnek. Ezért a saját MRF megoldásban (ami a transzkódolás és egyéb médiafunkciók hiányában az MRF funkcióknak csak egy részét tartalmazza) egy saját, egyszerű, szöveges vezérlési protokollt javaslunk, ami testre szabottan biztosítja a szükséges funkciókat.
Üzenetek
MRFP kapcsolódás:
Médiakezelés:
MOTIware IMS MediaGateway
MOTIware IMS MediaGateway
Üzenet-szekvenciák
MOTIware IMS MediaGateway
Adatstruktúrák
MRFC:
MRFP: