Sisällysluettelo 1. Yhdyskäytävä... 2 1.1 Johdanto... 2 1.2 H.248... 2 1.3 Yhteysmalli... 2 1.4 Kuvaajat... 3 1.5 Käskyt... 4 1.6 Transaktiot... 5 1.7 Kuljetus... 6 1.8 Turvallisuusnäkökulmat... 6 1.9 MG-MGC kontrollirajapinta... 6 1.10 Esimerkkipuhelu... 7 1.10.1 Valinta -äänen saaminen tilaajalle... 7 1.10.2 Numeroiden valinta... 7 1.10.3 Vastapuolen hälytys... 8 1.10.4 Puheyhteyden avaus... 9 1.11 Terminologiaa... 9 1.12 Lähdeluettelo... 10 1
Yhdyskäytävä 1. YHDYSKÄYTÄVÄ 1.1 Johdanto Tässä työssä keskitytään käsittelemään uutta mediayhdyskäytäville tarkoitettua protokollaa nimeltä H.248. Koska protokollan lopullinen versio julkaistaan helmikuun 2000 lopussa, voi joihinkin työssä esitettyihin tietoihin tulla vielä muutoksia. Päälinjat kuitenkin pysynevät sellaisenaan. Koska osa termistöstä on hyvinkin uutta ja vakiintumatonta, käytetään tekstissä myös englanninkielisiä vastineita. 1.2 H.248 H.248 on ITU-T SG16 ja IETF:n ensimmäinen yhteistyöyritys. Molemmat standardointielimet tähtäävät yhteiseen protokollaan VoIP-ratkaisujen leviämisen nopeuttamiseksi ja nykyisten yhdyskäytäväprotokollien yhteensopimattomuuden poistamiseksi. H.248 protokollan tarkoituksena on jakaa H.323 yhdyskäytävätoiminteet, jotka ovat tarkemmin määritelty H.246 protokollassa, omiin alaluokkiinsa. Lisäksi standardiin on otettu mukaan osia IETF:n kehittämistä yhdyskäytävästandardeista SGCP, IGCP, MGCP ja MDCP. H.248 mahdollistaa helposti laajennettavat yhdyskäytävät sekä poistaa samalla nykyisen epäsopimattomuuden eri laitevalmistajien tuotteiden sekä erilaisten fyysisten verkkojen väliltä. Tarkoituksena on lisäksi saada laitevalmistajien yhdyskäytävistä sellaisia, että ne sopivat suoraan mihin tahansa maailman maahan ilman maakohtaisia muunnoksia. 1.3 Yhteysmalli H.248 protokollan yhteysmalli kuvaa loogiset osapuolet mediayhdyskäytävän sisällä, joita mediayhteyskäytäväohjain voi kontrolloida. Näitä ovat termination ja context. on osapuoli, joka tuottaa tai vastaanottaa mediavirtaa yhdyskäytävän sisällä. voi esittää fyysistä kanavaa, kuten ISDN B-kanavaa yhdyskäytävässä. voi myös kuvata hetkellistä RTPmediavirtaa tai useita samanaikaisia RTP-mediavirtoja. Context on tapa, jonka avulla useat erityyppiset terminationit yhdistetään toisiinsa. Context kertoo sen, kuka näkee/kuulee ja kenet sekä miten jaetaan yhteys useamman kuin kahden terminationin kesken. Context toimii eräänlaisena siltana yhdistäen erityyppistä mediaa toisiinsa. Esimerkiksi 2
analoginen kanava voi olla yksi termination ja RTP-mediavirta toinen termination, jolloin nämä voidaan yhdistää contextilla. Context kuvattaisiin tällöin audiopuheluksi piirikytkentäisestä verkosta IP-verkkoon. Context voi esiintyä myös tapauksena, jossa kahta terminationia ei yhdistetä toisiinsa. Tällöin puhutaan Null Contextista, joka tarkoittaa yleensä sitä, että kanava on IDLE-tilassa. Media Gateway Context RTP Stream * SCN Bearer Channel SCN Bearer Channel RTP Stream Context * Null Context SCN Bearer Channel Context RTP Stream * SCN Bearer Channel Kuva 1. Yhteysmalli 1.4 Kuvaajat Sekä contextille että terminationille on olemassa kuvaajia, joiden avulla luokitellaan käytettävä yhteys. Tärkeimmät contextin kuvaajat ovat: ContextID, 32 bittinen kokonaisuusluku, jonka mediayhdyskäytävä valitsee. Identifioi kaikki contextin alaiset eri terminationit yhden tunnuksen alle. Topologia. (kuka näkee/kuulee ja kenet) Prioriteetti. Yhteyden oikeus sivuuttaa toinen vähemmän kiireellisempi. Indikaattori hätäpuheluita varten. Mediayhdyskäytävä antaa jokaiselle käytettävälle terminationille mielivaltaisen tunnuksen nimeltä ID. ID voi 3
Yhdyskäytävä käsittää alleen yhden tai useamman samantyyppisen kanavan. Lisäksi terminationin ominaisuudet parametrisoidaan käytettävän yhteyden protokollan sekä fyysisten ominaisuuksien mukaan. Tärkeimmät terminationin parametrit ovat: Taulukko 1. in parametrit Parametri Mahdolliset arvot Kuvaus Nimi Kirjainyhdistelmä Uniikki tunniste, jonka mediayhdyskäytävä antaa. Network type Analog, ATM, IP, FR Identifioi verkon tyypin Bearers DS0 Ennalta määrätty lista kuormakanavista piirikytkentäiselle verkolle. Modem type V.90, T.38, V.18 Identifioi modeemin, jos mahdollista MUX H.221, H.225, H.223 Multipleksaustyyppi multimediayhteydelle Media Stream Sync 1, 2, 3 Identifioi mediavirrat, jotka tarvitsevat synkronisaatiota. StreamID 1-audio, 2-video Identifioi contextin mediavirran sisällön tietylle terminationille. Medium Audio, video, data, control Kuvaa mediatyypin, jota terminaatio tukee. Transport UDP/RTP, TCP,IP Käytettävä kuljetusmuoto Transport QoS Verkkokohtainen laatuvaatimus Max jitter X milliseconds Viivebufferin maksimikoko. buffer Active On, off in tila. Bearer Address IP osoite ja portti Packetization Paketin koko, esim. ääninäytteitä per paketti Encoding spec MPEG, G.7xx, H.26x Median koodausalgoritmi Encryption Mediakohtainen salaustyyppi spec Audio gain -2dB Vahvistus audiota varten Echo cancellation On, off Kaiunpoisto 1.5 Käskyt H.248 protokolla sisältää erilaisia käskyjä, joiden avulla voidaan muokata mediayhdyskäytävän loogisia osapuolia context ja termination. Käskyjä antaa lähes poikkeuksetta mediayhdyskäytäväohjain. Poikkeuksena käskyissä ovat Notify, jonka mediayhdyskäytävä lähettää mediayhdyskäytäväohjaimelle sekä ServiceChange, jonka molemmat osapuolet voivat lähettää. 4
Käsky Add Modify Subtract Taulukko 2. Käskyt Move AuditValue AuditCapabilities Notify ServiceChange Kuvaus Lisää terminationin contextiin. Add-komento ensimmäiseen terminationiin luo contextin. Muokkaa terminationin ominaisuuksia, tapahtumia ja signalointia. Irrottaa contextin terminationista. Viimeinen Subtract deletoi contextin. Siirtää terminationin toisen contextin alle. Palauttaa tämänhetkisen tilanneraportin koskien ominaisuuksia, tapahtumia ja signalointia. Palauttaa kaikki mahdolliset arvot, myös aiemmat. Mediayhdyskäytävä informoi mediayhdyskäytäväohjainta tapahtumista. Mediayhdyskäytävä ilmoittaa mediayhdyskäytäväohjaimelle, että yksittäinen termination tai termination-joukko on juuri poistumasta palvelusta tai juuri lisätty palveluun. Käytetään myös Handover-toiminnossa, jolloin mediayhdyskäytäväohjain ilmoittaa mediayhdyskäytävälle palveluun tulevasta muutoksesta. Lisäksi käskyt saavat virhetilanteissa vastauksena Internet maailmasta tutut virhekoodit, kuten 400 Bad Request, 401 Protocol Error, 402 Unauthorized jne. Virhekoodeja on olemassa noin neljäkymmentä, joten niiden luettelointi ei ole tässä mielekästä 1.6 Transaktiot Jotta kommunikaatiota mediayhdyskäytävän ja ohjaimen välillä voitaisiin paremmin hallita, niputetaan käskyt transaktioiksi, joilla jokaisella on oma TransactionID. Transaktio koostuu yhdestä tai useammasta Actionista. Actionit taas ovat sarja käskyjä yhden contextin sisällä. Alla oleva kuva selkeyttänee asiaa. 5
Yhdyskäytävä TRANSACTIONx CTXTID1 COMMAND1 COMMAND3 COMMAND2 COMMAND4 CTXTID2 COMMAND1 CTXTID3 COMMAND1 COMMAND2 COMMAND3 Kuva 2. Transaktiot 1.7 Kuljetus H.248 protokollan mukaan kuljetuskerroksen tulee taata luotettava kuljetus mediayhdyskäytävän ja ohjaimen välillä. Kuljetuksen tulee olla riippumaton käskyistä ja sovellusten tilasta. H.248 protokollan liitteissä on lueteltu useita eri kuljetustapoja erilaisiin fyysisiin ympäristöihin ja kuljetustapoja voidaan lisätä tekniikan kehittyessä. Yleisin tämän hetken kuljetustavoista on IP protokolla, jonka päällä käytetään TCP:tä sekä UDP/ALF-protokollia. 1.8 Turvallisuusnäkökulmat H.248 listaa useita erilaisia turvallisuusmekanismeja tunkeutumisyrityksiä vastaan. Näin yritetään estää luvattomien puheluiden muodostus sekä salakuuntelu ja puheluhäirintä. Turvallisuusprotokollana IP-verkkojen yli tapahtuvassa liikenteessä käytetään Ipsec:iä. [RFC2401-RFC2411]. AH Header [RFC2402] mahdollistaa datan alkuperän tarkistamisen ja viestien suojauksen. Lisäksi mediayhdyskäytäväohjain antaa erillisiä istuntoavaimia mediayhdyskäytävälle salakuuntelun estämiseksi. 1.9 MG-MGC kontrollirajapinta H.248 protokolla ei takaa sitä, että usea mediayhdyskäytäväohjain voisi kontrolloida yhtä mediayhdyskäytävää. Sen sijaan yksi mediayhdyskäytävä voidaan jakaa osiin eräänlaisiksi virtuaalisiksi mediayhdyskäytäviksi. Mediayhdyskäytävän terminationit jaetaan tällöin joko staattisesti tai dynaamisesti omiin yksikköihinsä. Nämä virtuaaliset mediayhdyskäytävät näkyvät ulospäin omina yksiköinään, joille jokaiselle voidaan nimetä oma mediayhdyskäytäväohjain. Fyysisistä yhdyskäytävää ohjaa silti vain yksi ohjain. 6
1.10 Esimerkkipuhelu Kappaleessa käydään läpi päälisin puolin puhelun eri vaiheet. Yksityiskohtiin ei mennä, vaan kuvat ovat mukana lähinnä havainnollistamassa puhelun kulkua. 1.10.1 Valinta -äänen saaminen tilaajalle Tilaajalle tulee saada valinta -ääni ennen numeronvalintaa. Mediayhdyskäytäväohjain lähettää mediayhdyskäytävälle Null Contextia sisältäviä sanomia, joilla tarkkaillaan linjan aktiivisuutta. Kuvassa tilaaja ei ole vielä nostanut luuria. User x MG x MGC MG y User y Idle Idle TransReq(TransID=12345 CtxID=null Modify(T1x )) TransAcc(TransID=12345 CtxID=null Resp(OK)) TransReq(TransID=12346 CtxID=null Modify(T1y )) TransAcc(TransID=12346 CtxID=null Resp(OK)) Kuva 3. Valinta -äänen saaminen tilaajalle 1.10.2 Numeroiden valinta Tilaaja x nostaa luurin ja saa valintaäänen. Tilaaja x näppäilee numerot, jotka välitetään mediayhdyskäytäväohjaimelle analysoitavaksi. Tilaaja x:n käyttämä median tyyppi lisätään contextiin. 7
Yhdyskäytävä User x MG x MGC MG y User y Offhook Idle Notify(TermID=T1x ObservedEvents=offhook) Response(OK) TransReq(TransID=12347 CtxID=null Modify(T1x )) TransAcc(TransID=12347 CtxID=null Resp(OK)) Digit Digit Notify(TermID=T1x ObservedEvents=digits) Response(OK) TransReq(TransID=12348 CtxID=uns Add(T1x ) Add(RTP/*, LocalTermDesc )) TransAcc(TransID=12348 CtxID=C1x Resp(OK) Resp(RTP/T2x, LocalTermDesc, RemoteTermDesc)) Kuva 4. Numeroiden valinta 1.10.3 Vastapuolen hälytys Tilaaja y lisätään contextiin. Tilaaja y:n puhelin alkaa soida. Tilaaja x kuulee tilaaja y:n puhelimen hälyttävän. User x MG x MGC MG y User y Offhook TransReq(TransID=12349 Idle CtxID=uns Add(T1y ) Add(RTP/*, LocalTermDesc, RemoteTermDesc )) TransAcc(TransID=12349 CtxID=C1y Resp(OK) Resp(RTP/T2y..)) TransReq(TransID=12350 CtxID=C1y Modify(T1y, SignalDesc=ring )) TransAcc(TransID=12350 CtxID=C1y Resp(OK)) Ringback Ringing TransReq(TransID=12351 Ringing CtxID=C1x Modify(T1x, SignalDesc=ringback ) Modify(RTP/T2x, LocalTermDesc, RemoteTermDesc...)) TransAcc(TransID=12351 CtxID=C1x Resp(OK) Resp(RTP/ID..)) Ringback tone Kuva 5. Vastapuolen hälytys 8
1.10.4 Puheyhteyden avaus Tilaaja y nostaa luurin ja puhekanavat avataan. User x MG x MGC MG y User y Ringback Ringing Offhook Notify(TermID=T1y ObservedEvents=offhook) Response(OK) Offhook TransAcc(TransID=12352 CtxID=C1x Resp(OK)) Stop ringback tone TransReq(TransID=12352 CtxID=C1x Modify(T1x, SignalDescriptor Modify(T2x, TermState=SendAndReceive )) Kuva 6. Puheyhteyden avaus 1.11 Terminologiaa Access Gateway: Yhdyskäytävä, joka tarjoaa UNI (User to Network Interface)- rajapinnan, esimerkiksi ISDN:n. Kuvaaja (Descriptor): Lauseopillinen osa protokollaa, jolla ryhmitellään samankaltaiset ominaisuudet. Esimerkiksi mediayhdyskäytäväohjain (MGC) voi asettaa mediavirran ominaisuudet tietyssä mediayhdyskäytävässä (MG) sisällyttämällä käskyyn sopivan kuvaajan (descriptor). Mediayhdyskäytävä (Media Gateway (MG)): Mediayhdyskäytävä muuntaa lähetysverkosta tulevan median vastaanottajan verkon vaatimaan muotoon. Yhdyskäytävä voi esimerkiksi terminoida PSTN-verkosta tulevat kanavat (ISDN B-channels) ja muuntaa ne pakettivälitteiseksi mediavirraksi (RTP media stream). Mediayhdyskäytävä kykenee yleensä käsittelemään audiota, videota ja T.120-protokollaa (dataa) yksinään tai näiden kaikkien kombinaationa. Mediayhdyskäytävä voi myös välittää käyttäjälle audio/videoviestejä ja suorittaa interaktiivisia äänivastaustoimintoja (Interactive Voice Response). 9
Yhdyskäytävä Mediayhdyskäytäväohjain (Media Gateway Controller (MGC)): Ohjaa mediayhdyskäytävän mediakanavien toimintaa. Monipisteohjain (Multipoint Control Unit (MCU)): Kontrolloi yhteydenmuodostusta ja yhteistyötä useiden käyttäjien konferenssissa, joka normaalisti sisältää audiota, videota ja dataa. Network Access Server: Yhdyskäytävätoiminto mediayhdyskäytävässä, joka muuntaa modeemisignaalit piirikytkentäisestä verkosta IP-verkkoon sopiviksi ja tarjoaa datayhteyden Internetiin. Residential Gateway: Yhdyskäytävä, joka muuntaa analogisen linjan pakettiverkkoon. Residential Gateway sisältää tyypillisesti yhden tai kaksi analogista linjaa ja sijaitsee asiakkaan tiloissa. SCN FAS Signaling Gateway: Yhdyskäytävän osa, joka terminoi SS7-, ISDNtai muut signalointilinkit kanavilta, joissa data ja signalointi kulkevat samassa fyysisessä kanavassa. SCN NFAS Signaling Gateway: Yhdyskäytävän osa, joka terminoi SS7-, ISDNtai muut signalointilinkit kanavilta, joissa data ja signalointi kulkevat erillisissä fyysisissä kanavissa. Stream: Kaksisuuntaista media- tai kontrollivirtaa, jota yhdyskäytävä lähettää tai vastaanottaa puhelun tai konferenssin osana. Trunking Gateway: Yhdyskäytävä piirikytkentäisen ja pakettivälitteisen verkon välillä. Terminoi yleensä suuren määrän kanavia. 1.12 Lähdeluettelo ITU-T Recommendation H.248 White draft (2000): Series H: Audiovisual and multimedia systems, Gateway Control Protocol IETF Internet Draft: Megaco Protocol 04, < http://www.ietf.org/internetdrafts/draft-ietf-megaco-protocol-04.txt > ITU-T Recommendation H.225.0 (1998): "Call Signaling Protocols and Media Stream Packetization for Packet Based Multimedia Communications Systems ". ITU-T Recommendation H.245 (1998): "Control Protocol for Multimedia Communication ITU-T Recommendation H.323 (1998): Packet Based Multimedia Communication Systems 10
ITU-T Recommendation X.680 (1997): Information technology-abstract Syntax Notation One (ASN.1): Specification of basic notation ITU-T Draft Recommendation H.246 (1998), Interworking of H-series multimedia terminals with H-series multimedia terminals and voice/voiceband terminals on GSTN and ISDN RFC 1006, "ISO Transport Service on top of the TCP, Version 3", Marshall T. Rose, Dwight E. Cass, May 1987. RFC 2119, "Key words for use in RFCs to Indicate Requirement Levels", Scott Bradner, March 1997. RFC 2145, "Use and Interpretation of HTTP Version Numbers", J. C. Mogul, R. Fielding, J. Gettys, H. Frystyk, May 1997. RFC 2234, "Augmented BNF for Syntax Specifications: ABNF", D. Crocker, P. Overell, November 1997. RFC 2327, "SDP: Session Description Protocol", M. Handley, V. Jacobson, April 1998. RFC 2402, "IP Authentication Header", S. Kent, R. Atkinson, November 1998. RFC 2406, "IP Encapsulating Security Payload (ESP)", S. Kent, R. Atkinson, November 1998. ITU-T Recommendation E.180/Q.35 (1998): "Technical characteristics of tones for the telephone service" ITU-T Recommendation Q.724 (1988): "Signaling procedures" ITU-T Recommendation Q.931 (1993): "Digital Subscriber Signaling System No. 1 (DSS 1) - ISDN User-Network Interface Layer 3 Specification for Basic Call Control" RFC 1889, "RTP: A Transport Protocol for Real-Time Applications", H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, January 1996. RFC 1890, "RTP Profile for Audio and Video Conferences with Minimal Control", H. Schulzrinne, January 1996. RFC 2401, "Security Architecture for the Internet Protocol", S. Kent, R. Atkinson, November 1998. RFC 2543, " SIP: Session Initiation Protocol", M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg, March 1999. 11