5. přednáška H.323 - deštník pro celou škálu protokolů i Obsah 1. Základní informace 2. Protokol H.225 3. Protokol H.245 4. Protokol RAS 5. Evoluce H.323 6. Příklad konfigurace na Cisco 2 1. Základní informace 3 K popisu H.323 je použita ASN.l Notace ASN.1 zavádí jednoznačnou klasifikaci jednotlivých objektů a metody pro definice jejich vlastností v textové i číselné formě. Tento jazyk je definován v doporučení ITU X.208 a návazných X.680 a X.683. Je určen pro zápisy dobře čitelné pro člověka. Jazyk ASN.1 definuje typy, což jsou pojmenované množiny hodnot. Jako příklad lze uvést typ BOOLEAN s množinou hodnot TRUE a FALSE. Identifikátor typu má syntax podobnou Fortranu či jazyku C a pořadí zápisu jako COBOL či PL/I. Jako příklad lze uvést deklaraci proměnné INTEGER. 4 Příklad popisu objektu v ASN.l OSOBA ::= SEQUENCE { prijmeni Prijmeni, jmeno Jmeno, pohlaví Pohlavi} Prijmeni ::= IAString, Jmeno ::= IAString, Pohlavi ::= BOOLEAN } 5 Příklad zápisu ASN.1 pro prvky H.323 Pro zakódování je použita specifikace PER (Packed Encoding Rules), daná doporučením ITU-T Recommendation X.691. Jméno specifikace bylo vybráno pro rozlišení od jednodgšší specifikace BER (Basic Encoding Rules). Struktura sítě podle H.323 Žargon H.323 (základní komponenty sítě) ■ terminál je základní a jedinou povinnou komponentou H.323 sítě. Používá se pro obousměrnou komunikaci v reálné čase. Terminál představuje např. PC , VoIP /videotelefon, hlasový odpovídač, voicemail; ■ brána (gateway) zabezpečuje spojení s jinou sítí (např. ISDN). Slouží jako případný překladač protokolů mezi různými sítěmi; ■ gatekeeper (volitelný, ale užitečný prvek) umožňující ve specifikované zóně směrování a centrální management koncových bodů sítě, čímž mohou chránit svoji zónu před zahlcením, lze je použít i pro autentizaci, autorizaci, převod jmen a telefonních čísel na IP adresy. V analogii s PSTN se jedná o inteligentní ústřednu; ■ MCU (Multipoint Control Unit) je zařízení, které zajišťuje komunikaci mezi třemi a více terminály. Směšuje datové toky a rozesílá je všem účastníkům ve skupině; umožňuje tedy pořádání konferenčních hovorů. Doména působení protokolu H.323 může obsahovat libovolné množství terminálů, bran nebo MCU jednotek, vždy však pouze jednoho gatekeepera. Mluvíme pak o tzv. H.323 zóně. Signalizace může probíhat přímo mezi koncovými uzly (terminály, bránami) nebo pomocí gatekeeperu. 8 Terminál podle normy 9 Signalizace terminálu Umístění terminálu 11 Brána SCN (Switched Circuit Network) zahrnuje přepínané telefonní sítě včetně PSTN (Public Switched Telephone Network) 12 Gatekeeper Gateway ■ Regulace toku ■ Řízení pásma ■ Call Signalling (Q.931) ■ Call Control (H.245) OpenH323 Gatekeeper GNU Gatekeeper Hoine ■ Download ■ Support 1 Success- Stories ■ Imprint Documentation 1 English Manual ■ French Manual ■ Spanish Manual ■ Persian Manual ■ Portuguese Manual 1 Chinese Manual ■ FAQ ■ Interoperability ■ Intro to H.323 1 Usage Examples ■ ConFiguration Notes ■ GnuGk and SIP Tools & Addons ■ Java GUI ■ ISDN Gateway ■ CTI / ACD ■ GnuGk Addons ■ End points ■ Gate1.■'-■ays ■ MCUs OpenH323 Gatekeeper - The GNU Gatekeeper The GNU Gatekeeper (GnuGk) is a full featured H.323 gatekeeper, available freely under GPL license. It forms the basis for a free IP telephony [VOIP) or video conferencing system. Please read the manual (especially the tutorial) and the FAQ for general information what a gatekeeper does ortake a look at some VOIF and H.323 books to get into the subject. Features Did you know ? You can read about other successful! GnuGk ust News E33 The GNU Gatekeeper is very stable. It is being used commercially by many organizations to provide VOIP or conferencing services. we provide executasles for Linux. Windows. MacOS X, Solaris. FreeBSD. OpenBSD and NetBSD can run as a Windows service accounting and call authorization via SQL database. Radius, file or external application database drivers for ODBC, MySQL, PostgreSQL, SQLite and Firebird flexible call routing number rewriting (calling and called) support for NAT traversal (H.460.18/H.460.19. H.460.23/H.460.24 or own method) full H.323 proxy TCP interface to applications CTI functions (eg. VOIP call-center, call transfers} gatekeeper clustering support (neighbors, parent/child, alternates) H.235 security graphical user interface 4. Jan 2011 GnuGk 2.3.4 released GnuGk 2.3.4 is now available. 20. Aug 2010 2010 User Survey Results The results from the recent user survey are avail; 25. May 2010 XP Install Video Video tutorial how to install GnuGk on Windows i 17. Sep 2009 Point g Meeting The GnuGk presentation from the Point 9 Meetini 14 Protokolový zásobník 15 Protokolové roury 16 Návaznosti jednotlivých protokolů 17 2. Protokol H.225 18 http://www.itu.int/rec/T-REC-H.225.0-200912-I/en D--D Protokol H.225 ■ Slouží pro sestavení spojení mezi dvěma koncovými body. Sestavení hovoru probíhá buď přímo mezi koncovými zařízeními nebo mezi koncovým zařízením a gatekeeperem. ■ Je odvozen od Q.931 (ISDN Call Signaling), ale byl upraven pro použití na paketově orientovaných sítích. ■ Pro přenos na 4. vrstvě OSI se používá transportní protokol TCP. 20 Základní signalizace protokolu H.225 (přenos čísla volaného) port 1720 (informace, že volání je zpracováváno) (hovor není ISDN a další informace je in-band) (informace o tom, že to na druhé straně zvoní) Connect CONNECTED Release Complete > voIiteIné Chrání před vypršením časovačů GW 21 Snaha o H.323/RSVP synchronizaci Caller qPA) Callee(EP B) Setup with H245 address (1) Call p roceeding (Z) <- Terminal capability exchange with qo Scapabilities (3) Op enL ogicalC hannelm essage exchanges(4) Flow Control Command (5) RSVP Path (6) RSVP Rear (7) '--► * RSVP Resv Confirm (8) FbwControlCommand (9) rLuertDig I, iuj C o nnect (1 lj______________ Call Forwarding Výměna zpráv mezi terminály Terminal 1 Setup termCapSet termCapAck masterSlvDet masterSlvDetConfirm openReq openAck endSession Release Terminal 2 Alerting Connect termCapAck termCapSet masterSlvDetAck openAck openRŕq endSession 24 Měření doby Setupu 25 http://www.itu.int/rec/T-REC-H.245-200912-I/en S. ProtokoI H.245 26 27 A^..:..:..:.::.:/::+:+.:+.:^B Protokol H.245 Slouží pro řízení multimediálního přenosu, nastavení parametrů přenosu, otevření a zavření logických kanálů pro přenos, volby zvukového kodeku atd. Vyjednávání parametrů přenosu začíná po sestavení hovoru. Pro přenos paketů se používá protokol TCP. MS Determination —> J TO Š r % MS Determination Ack "a MS Determination Ack \ OLC t <— OLC Confirm Terminal Capability Set (TCS) Open Logical Channel (OLC) >Open a Channel 28 Fast Connect u H.245 V rámci standardního vyjednávání H.245 koncové body potřebují tři kola komunikace, než se dohodnou na parametrech audio či video kanálů (1. dohoda, kdo je Master a kdo Slave, 2. Výměna informací o kapacitách terminálů, a konečně 3. otevření logických kanály). V určitých situacích, a to zejména na linkách s vysokým zpožděním to může to trvat příliš dlouho. Zpoždění lze eliminovat metodou Fast Connect (Fast Start). Koncový bod jednoduše připraví několik variant žádosti o otevření logického kanálu v závislosti na tom, kolik kodeků podporuje. Poté je zakóduje do binární formy a výsledek vloží do H.225.0/Q.931 zprávy (obvykle zpráva Setup). Volaný účastník vybere jednu z variant a potvrdí ji v příští H.225.0/Q.931 zprávě a přiloží vlastní seznam variant logických kanálů. Zbylá část komunikace proběhne standardním způsobem. Pomocí Fast Connect jsou parametry logických kanálů (kodeky, IP adresy a porty) sesouhlaseny v rané fázi výměny zpráv, tj. předtím, než volaný uživatel přijme hovor a tudíž se doba této výměny nepočítá do ceny spojení. Fast Connect a H.245 tunelování mohou být použity současně. 29 Signalizace volby Fast Connect Terminal Capability Set (TCS) Master/Slave Determination (MSD) Open Logical Channel (OLC) 30 4. ProtokoI RAS 31 RAS Protokol RAS (Registration, Admission, Status) je protokol, jehož zprávy jsou umístěny do zpráv protokolu H.225 a slouží pouze při registraci a rušení hovoru. Používá se pro komunikaci gatekeeper - endpoint a naopak. Registration Request (RRQ) Registration Confirmation (RCF) Admission Request (ARQ) Admission Confirmation (ACF) Disengage Request (DRQ) Disengage Confirmation (DCF) Pro unicast je určen UDP port 1719 a pro multicast UDP port 1718 32 Některé zprávy gatekeeperu Doba čekání na odpověď [s] Počet pokusů GRQ 5 2 RRQ 3 2 URQ b 3 1 ARQ 5 2 BRQ 3 2 IRQ 3 1 IRR 5 2 DRQ 3 2 LRQ 5 2| RAI 3 2 SCI 3 2 Gatekeeper Request - GRQ (port 1718) Hledání gatekeeperu Gatekeeper Registration - RRQ Registrace na dobu TTL Unregister Request - URQ Zrušení registrace Admission Request - ARQ Indikace požadavku na pásmo Bandwidth Request - BRQ Vyžádání si změny šířky pásma Information Request - IRQ Vyžádání detailních informací o voláních Disengage Request - DRQ Vyžádání informací potřebných pro účtování Location Request - LRQ Např. pošli IP adresu tohoto čísla. Resource Availability - RAI Jsme blízko limito zdrojů? Service Control Indication - SCI 33 Vyžádání si některého typu služby Reakce na zprávy GRQ a RRQ Reakce na zprávy ARQ, BRQ a LRQ Výpis výkonnostních statistik 36 Sestavení hovoru přes gatekeeper B € Gatekeeper \—......-*RQ 3M2- 1----AFC- 30D1 30:2 -H.225 Sůtup-I -H.225 Call Pracsŕding- f—ARQ Vterlľy— ......-ACF--- -H.225 Alerilng-I -H.22S Ccinnacr- 1. Volající pošle zprávu ARQ (Admissions Request) na gatekeeper (předloží svoji identifikaci a číslo volaného), tato zpráva je součástí RAS protokolu. 2. Gatekeeper odpoví potvrzením ACF (Admissions Confirm) nebo odmítnutém ARJ (Admissions Reject). V případě potvrzení volajícímu tak gatekeeper odpoví, že požadované session je v pořádku (opět protokolem RAS). 3. Volající odešle volanému zprávu H.225 Setup. 4. Volaný odešle volajícímu provizorní zprávu Call Proceeding. Provizorní je proto, protože volaný musí nejprve ověřit autenticitu volajícího předtím, než vytvoří trvalé spojení. 5. Volaný odešle na gatekeeper zprávu ARQ s dotazem, zda je volání legitimní. V tento moment by měl mít gatekeeper uložen záznam o původním ARQ od volajícího k porovnání s ARQ od volaného. 6. Pokud má gatekeeper odpovídající ARQ záznam, pošle volanému potvrzující zprávu ACF. 7. Jakmile je zpráva ACF přijata volaným, pošle H.225 volajícímu zprávu Alerting. Volaný pak pošle 37 H.225 zprávu Connect volající straně. Ta uvolní cestu pro H.245. Popis pfikazu ARQ v ASN.l dmiaaicn^equeat ::= SEQUENCE —(ARQ) { — e que atSeqNum Re que a 13 eqHum, calllype CallType, callMcdel CalLMode-l OPTIONAL, e tidpc intldetitifier Indpc i nt I de nt i = i er deatinaticnlnfc SEQUENCE OF AliaaAddireaa OPTIONAL, de a t Ca11S i gna1Addr e a a TranapcrtAddreaa OPTIONAL, deatlntraCalllnzc SEQUENCE OF AliaaAddreaa OPTIONAL, arclnfa SEQUENCE OF AliaaAddireaa, a r c Ca11S i gna1Addr e a a rranaportAddreaa OPTIONAL, bandwidth Bandwidth, call^efeienceValue Cal 1 He f e re rice Value, ncQ3tandardJata HcnStandardEaraneter OPTIONAL, callEeivicea QaerieaDptiona OPTIONAL, c c nz e r e nc e ID Ccnzerenceldentizier, activeMC BOOLEAN, ananaiCall BOOLEAN, — ansvBring a call canMapAliaa BOOLEAN, — can handle alias address callldentizier Callldentizier, a r c Al t e r na t i ve a SEQUENCE OF Endpoint OPTIONAL, deatilteinativea SEQUENCE OF Endpoint OPTIONAL, gateleeperldentifier Gatekeeperldentifier OPTIONAL, tckena SEQUENCE OF ClearToken OPTIONAL, c e ypt c I c k e na SEQUENCE OF CryptoH323Token OPTIONAL, i nt e gr i t y Che c kValue ICV OPTIONAL, tranapcrtQDS Iranapc-rtOOS OPTIONAL, ui11SupplyUUIIa BOOLEAN, ca11Linkage CallLinkage OPTIONAL, gatewayDatalate DataRate OPTIONAL, capacity CallCapacity OPTIONAL, circuitInzc Circuitlnfo OPTIONAL, de a i r e dEr c t c c c 1 a SEQUENCE Ol SupportedProtocola OPTIONAL, 38 Dva modely volání ■ rychlejší setup ■ vlastnosti poskytují EP ■ nahrazuje trunk ■ gatekeeper může fungovat jako „server vlastností" ■ např. pro audiokonference 39 Signalizace modelu Direct EP EP1 Gatekeeper EP2 ARQ (EP1, EP2, BW) ACF (CSAddr, BW) (open socket) Setup (EP1, EP2, confID) _^ ARQ (EP1, EP2, BW, answer) ACF ^ Call Proceeding ^- ^_ Alerting ^- Connect (h245addr) ^_ (open socke^ capabilities exchange H ^ master-slave determination 1 OpenLogicalChannel (type) ^ OpenLogicalChannelAck (RTP addrs) audio OpenLogicalChannel (type) OpenLogicalChannelAck (RTP addrs) _ L................................................................................................... audio r CSAdr - Call Signal Address BW - bandwith 40 Signalizace modelu Gatekeeper Routed EP1 IARQ (EP1, EP2, BW) Gatekeeper EP2 ACF (CSAddr, BW) (open_socke_t) _ _ _ _ Setup (Ep1", E"P2," confíb)' Call Proceeding Alerting Connect (GKh245addr) io.pe.n_s.ocke^^______________ ^_capabilities _master-slave OpenLogicalChannel (type) Setup (Ep1, EP2, conflb) ARQ (EP1, EP2, BW, answer) Acf ^ Call Proceeding Alerting ■«i- Connect (h245addr) lopj.n jocket) capabilities master-slave OpenLogicalChannel (type) OpenLogicalChannelAck (RTP addrs) OpenLogicalChannelAck (RTP addrs) I audio ^ OpenLogicalChannel (type)| |^ OpenLogicalChannel (type) OpenLogicalChannelAck (RTP addrs) OpenLogicalChannelAck (RTP addrs) audio \ CSAdr - Call Signal Address BW - bandwith 41 Fast Start EP1 Gatekeeper EP2 ARQ (EP1, EP2, BW) ^ ^ ACF (CSAddr, BW) [Setup (EP1, EP2, confID, fastStart) J - m ARQ (EP1, EP2, BW, answer) ACF w Alerting Connect (fastStart) audio audio Pole fastStart obsahuje seznam struktur OpenLogicalChannel 42 Fast Start s vlastností Early Audio EP1 Gatekeeper EP2 ARQ (EP1, EP2, BW) ^ ACF (CSAddr, BW) Setup (EP1, EP2, confID, fastStart) ^ | • ^ ARQ (EP1, EP2, BW, answer) ACF Alerting (fastStart )* audio Connect audio 43 Příklad nároků na porty pro koncové body videa Polycomu Port Required/Opt Port Type Usage direction 389 For ILS Static TCP ILS Registration (LDAP) (Bidirectional) 1718 Required Static UDP Gatekeeper Discovery (Bidirectional) 1719 Required Static UDP Gatekeeper RAS (Bidirectional) 1720 Required Static TCP H.323 Call Setup (Bidirectional) 1731 Required Static TCP Audio Call Control (Bidirectional) 3230-5 Required TCP/UDP Signaling and control audio, volání, video, data (Bidirectional) 3603 Optional Static TCP Web Interface (Bidirectional) 44 Konfigurace FXO pro GnuGK usr/ccnzig? h323 -print .323 stack" relate information RAS mode GEt mode Registration mode Gateway Gatekeeper IF address 1Q.55.ID.51 Gatekeeper ID 3* Registered el64 0 Registered H323 ID gv3 Gatekeeper Discovery Cn Q931 port : 1720 RAS port 16640 RIP port 1Ů3S4 RAS TIL time eo Gatekeeper discovery port : 171S Gatekeeper RAS port : 1719 Allocated port range start port end port Response timeGut Connect timeGut usr/ccnfig$ 1024 65535 5 200 45 Zóna a administrativní doména GW GK MCU Zóna je řízena jedním či více gatekeeperů Administrativní doména je řízena ISP či správcem sítě D- -n -i 46 Gatekeeper mezi branami 47 Intra-Zone Call Setup http://www.cisco.com/warp/public/788/voip/2zone_gw_gk.pdf GK1 Te 415-557-1111 408-667-1111 1) Terminal A dials the phone number 408-667-1111 for Terminal B 2) GWA sends GK1 an ARQ, asking permission to call Terminal B 3) GK1 does a look-up and finds Terminal B registered; returns an ACF with the IP address of GWB 4) GWA sends a Q.931 Call-Setup to GWB with Terminal B's phone number 5) GWB sends GK1 an ARQ, asking permission to answer GWA's call 6) GK1 returns an ACF with the IP address of GWA 7) GWB sets up a POTS call to Terminal B at 4084367-1111 8) When Terminal B answers, GWB sends Q.931 Connect to GWA 9) GWs sends IRR to GK after call is setup IRR - Information_Request_Response Inter-Zone Call Setup ^3? GWA GWB Terminal B 408-667-1111 1) Terminal A dials the phone number 408-667 1111 for Terminal B 2) GWA sends GK1 an ARQ, asking permission to call Terminal B 3) GK1 does a look-up and does NOT find Terminal B registered; GK1 does a prefix look-up and finds a match with GK2; GK1 sends an LRQ GK2, and RIP (Request In Progress) to GWA 4) GK2 does a look-up and finds Terminal B registered; returns an LCF with the IP address of GWB 5) GK1 returns an ACF with the IP address of GWB 6) GWA sends a Q.931 Call-Setup to GWB with Terminal B's phone number 7) GWB sends GK2 an ARQ, asking permission to answer GWA's call 8) GK2 returns an ACF with the IP address of GWA 9) GWB sets up a POTS call to Terminal B at 408-667-1111 10) When Terminal B answers, GWB sends Q.931 Connect to GWA 49 Skálování sítí s gatekeeperem Madium-Larga Network -Multiple Gatekeepers and a Directory Gatekeeper o I I-1 llů lllů lil Inter-Zone Call Setup a Directory Gatekeeper 1) Terminal A dials the phone number 408-667-1111 for Terminal B 2) GWA sends GK1 an ARQ, asking permission to call Terminal B 3) GK1 does a look-up and does NOT find Terminal B registered; GK1 does a prefix look-up and finds a wildcard match with Dir-GK; GK1 sends LRQ to Dir- GK, and to GWA (RIP - Request In Progress, informuje GW o zpracovávaném volání) 4) Dir-GK does a prefix look-up and finds GK2; Forwards the LRQ to GK2 5-11) Same as steps 4-10 in previous scenario 51 Proxy-Assisted Call Setup 52 Call Disconnect GK1 GK2 415-557-1111 408-667-1111 Terminate A and B aw in active conversation... 1) Terminal B hangs up 2) GWB sends DRQ to GK2, disconnecting the call between Terminals A and B. A DCF is received some time later. 3) GWB sends a Q.931 Release Complete to GWA 4) GWA sends DRQ to GK1, disconnecting the call between Terminals A and B. A DCF is received some time later. 5) GWA signals a call disconnect to the voice network (the mechanism differs depending on the trunk used on GWA. If it is a phone set (FXS), then there is no mechanism to signal the disconnect. 5. Evoluce H.323 54 Detailnější struktura protokolů H.323 Základní protokoly •H.225 pro signalizaci volání ■ RAS pro registraci ■ H.235, který definuje zabezpečení v H.323 systému ■ H.245 pro řízení signalizace a řízení toku dat 55 Aktuální stav standardu H.323 Document Status and History The following tables shows the current documents that are under consideration by ITU-T SG15 Working Party 2 that are related to H.323, as well as a historical list of previously approved documents. This list does not represent an official list of publications from the ITU. To see a list of current standards in force, visit the H.323 standards page, Current H.323 Series Documents in Progress Document Most Recent Document Expected Approval H.323 Annex E (Communication over Error-Prone Channels) TD-334/WP2 (07/2010) 12/2011 H.450.1 TD-335/WP2 (07/2010) 03/2011 H.450.2 TD-336/WP2 (07/2010) 03/2011 H.460.23 Amendment 1 C.390 (07/2010) 03/2011 H.460.24 Amendment 1 C.389 (07/2010) 03/2011 Decided/Approved Documents Document l Most Recent Document Determination Decision H-Series Supplement 4 Release 1 (List of GEF Identifiers) TD-74/PL(05/2003) n/a 05/2003 H-Series Supplement 4 Release 2 (List of GEF Identifiers) TD-79/PL(01/2004) n/a 01/2004 H-Series Supplement 4 Release 3 (List of GEF Identifiers) TD-61/PL(11/2004) n/a 11/2004 H-Series Supplement 4 Release 4 (List of GEF Identifiers) TD-111R1/WP (03/2005) n/a 08/2005 H-Series Supplement 4 Release S (List of GEF Identifiers) TD-2S9/PL(04/2006) n/a 04/2006 H-Series Supplement 4 Release 6 (List of GEF Identifiers) TD-419/PL(07/2007) n/a 07/2007 H-Series Supplement 4 Release 7 (List of GEF Identifiers) TD-217/PL(2010/07) n/a 07/2010 H.225.0V3 COM 16-96 + TD-7/PL + TD-8/PL (9/99) OS/1999 09/1999 H.225.0V4 COM 16-134 +TD-91/PL (11/2000) 02/2000 11/2000 H.225.0VS TD-60R1/PL (OS/2003) AAP 05/2003 H.225.0V6 TD-27S/PL(04/2006) AAP 04/2006 H.225.0V7 TD-181/PL(10/2009) AAP 10/2009 H.22S.0v6 Amendment 1 TD-31S (11/2006) AAP 11/2006 H.22S.0 Annex Gvl (Communication Between Administrative Domains) TD-32/PL + TD-S3/PL (5/99) 09/1998 05/1999 -rr>_"7r:/ni /-in/Trin^ ň .<\ n -Ota. H.323 Forum H323I NEWS & EVENTS MEMBERSHIP CONTACT • Why H.323? • H.323 Global Network TM Where it all comes together * H.323 Service Providers • H.323 Products and Services • Papers & Presentations • H.323 Standards H.323 Forum™ Welcome • Open Specifications The H.323 Forum was formed in 2002 to bring more market awareness to the H.323 protocol, to provide a forum for technical discussions, and to serve as a launching board for new ideas that • H.323 Developer Zone will lead us forward in the real-time multimedia application space. • FAQs After its initial launch, the H.323 Forum attracted thousands of people to its mailing lists and web • H.323 Forum Mailina Lists site, held a number of successful events, and successfully brought the needed attention, not just to H.323, but to the entire VoIP and videoconferencing spaces. • More Links While the marketing activities of the H.323 Forum have concluded, work is continuing in the form of technical specifications and white papers referred to as "Open Community Sponsored by: Specifications," some of which are educational and some of which define new functionality for H.323. Discussion of these documents and other topics takes place on the H.323 Forum mailina M- Equallv important, the H.323 Forum, in partnership with the IMTC and Packetizer, continues to serve as a place for people to learn more about H.323, to share ideas, and to develop new technologies related to multimedia communication. 57 Počáteční evoluce protokolu H.323 H.323 je binární protokol využívající syntaxe ASN.1 (PER). Jedná se o otevřený standard, který má blízkou návaznost na technologie používané v ISDN. Doporučené zvukové kodeky G.711, G.723, G.729, videokodeky H.261, H.263. ■ H.323v1 (1996) byl původně určen jen pro sítě LAN, firmy ho ale hned s dobrým výsledkem vyzkoušely pro sítě WAN a Internet. ■ H.323v2 (1998) přináší: bezpečnost, Fast Connect (též FastStart), doplňkové(supplementary) služby, lepší zajištění DTMF, škálovatelnost, TTL (Time to Live), předběžná potvrzeni (Pre-granted ARQ), URL, integrace s T.120 (videokonference). ■ H.323v3 (1999) přináší lepší integraci s PSTN, UDP (Annex E), jednoduché koncové body (Annex F), komunikace mezi administrativními doménami - řeší Annex G (Border Element) či RAS zprávou „Location Request" (LRQ). ■ H.323v4 (2000) - dekomponované brány, alternativní gatekeepery, hlášení kapacity koncových bodů, nové služby, „must have" vlastnosti , Generic Extensibility Framework (GEF) - blíže viz další slajdy. 58 Dekomponované brány MG MG MG MG MG Mz MG MG MG MG MG MG MG MG MG Media Gateway Controller (MGC) - zajišťuje řízení Odděluje funkce MGC od funkcí MG - s více MG lze lépe škálovat kapacitu toku Media Gateway (MG) - převádí mediální tok Komunikaci mezi MGC a MG zajišťuje protokol H.248. 59 Alternativní gatekeepery GK GK GK GK GK X T 60 Hlášení kapacity koncových bodů GK GK GK GK GK \ GW 23% GW 64% GW 48% GW 77% GW 14% GW 36% 61 Nové služby Annex K - Services via HTTP Annex L - Stimulus Control H.450.8 - Name identification H.450.9 - Call Completion H.450.10 - Call Offer H.450.11 - Call Intrusion 62 „Must have" vlastnosti ■ Hlášení použití ■ Identifikace volajícího ■ Mapování aliasů ■ lepší management pásma pro multicast ■ použití pro fax ■ tunelování jiných protokolů (Annex M.x) ■ H.323 specifická URL ■ Výpočet kreditů ■ Přenos DTMF přes RTP (RFC 2833) 63 Generic Extensibility Framework ■ Stanovení způsobu, jak lze doplňovat volitelné vlastnosti beze změny platné syntaxe ASN.1 ■ Odolnost proti výpadkům (Annex E pro UDP transport) ■ Jsou zde procedury zajišťující robustnost adres (Annex R) ■ Přenosnost lokálních čísel (Annex H) 64 H.323v5 (2003) ■ Annex M.3 - tunelování DSS1 (Digital Subscriber Signalling System No. 1, (Euro-ISDN či E-DSS1) signalizace uvnitř H.323 systémů ■ Annex O - definuje, jak použít H.323 URL a další DNS služby ■ Annex P - přenos přes modemy (jak použít protokol V.150.1) ■ Annex Q - řízení vzdálených kamer pro videokonference ■ Annex R - řeší fault tolerant systémy - volání není přerušeno v případě výpadku mezilehlé signalizační entity jako je softswitch (GEF) ■ H.460.1 - úvod do GEF a „author's guide" ■ H.460.2 - portabilita čísel (GEF) ■ H.460.3 - mapa stavu obvodů (GEF), využití je pro přenos do PSTN ■ H.460.4 - řešení priorit volání (GEF) ■ H.460.5 - přenos duplicitních částí IE zpráv protokolu Q.931 (GEF) ■ H.460.6 - rozšíření Fast Connectu z verze 2 (GEF) ■ H.460.7 - digitální mapování v koncových bodech spojení (GEF) ■ H.460.8 - fronty a alternativní směry (GEF) ■ H.460.9 - monitorování a hlášení QoS (GEF) 65 Bezpečnostní profily v dodatcích protokolu H.235 První verze protokolu H.235 vydalo ITU v roce 1998, po ní následovala v roce 2000 významná verze 2, která standardizovala podporu šifrovacímu standardu AES (Advanced Encryption Standard) a kryptografii eliptických křivek. Pro interoperabilitu definovala některé bezpečnostní profily v dodatcích: ■ Annex D - Shared secrets and keyed hashes ■ Annex E - Digital signatures on every message ■ Annex F - Digital signatures and shared secret establishment on first handshake, afterwards keyed hash usage ■ Annex G - SRTP & MIKEY usage 66 Verze protokolu H.235 a jeho dodatky ■ Annex D - Shared secrets and keyed hashes, v němž byl pro výměnu klíčů v rámci protokolů H.225 a H.245 standardizován algoritmus Diffieho-Hellmana a pro šifrování a kontrolu integrity algoritmus HMAC-SHA1-96, pro šifrování v rámci RTP DES. Triple-DES a AES; ■ Annex E - Digital signatures on every message, v němž byly pro autentizaci a kontrolu integrity standardizovány algoritmy SHA1 a MD5; ■ Annex F - Digital signatures and shared secret establishment on first handshake, afterwards keyed hash usage, v němž bylo doplněno šifrování pro H.225 a H.245 na bázi RSA. H.235 ve verzi 3 z roku 2003 doplňuje verzi 2 o procedury pro šifrování signálů DTMF (toutch tone), identifikaci objektů pro šifrování zátěže algoritmem AES a speciální mód EOFB (Enhanced Outer FeedBack) pro šifrování proudů hlasových paketů. Během dalších dvou let vyšly další dodatky verze 2 protokolu H.235, z nichž je zvláště významný dodatek G: • Annex G - SRTP & MIKEY usage, který byl zpracován pro podporu protokoluj RTP . Annex D Shared secrets and keyed hashes, v němž byl pro výměnu klíčů v rámci protokolů H.225 a H.245 standardizován algoritmus Diffieho-Hellmana a pro šifrování a kontrolu integrity algoritmus HMAC-SHA1-96, pro šifrování v rámci RTP DES. Triple-DES a AES; 68 Řešení klíčového managementu MIKEY (Multimedia Internet Keying) Protokol SRTP sám o sobě nedefinuje klíčový management, nýbrž pracuje se sadami parametrů, z nichž odvozuje klíče relací pro šifrování, autentizaci a kontrolu integrity. Preferovaným řešením klíčového managementu je MIKEY, které bylo navrženo v rámci pracovní skupiny MSEC IETF a které bylo publikované v RFC 3830. Řešení MIKEY má široké použití - jak pro RTSP tak pro SIP, tok řídicích i multimediálních paketů, pro unicast i multicast přenosy atd.). 69 Klíčový management pomocí MIKEY Definovány jsou tři volby pro autentizaci a vyjednávání tzv. master key, všechny jsou přitom založeny na dvoucestném handshakingu. Tyto volby jsou: ■ distribuce symetrických klíčů - předsdílené klíče, kontrola integrity pomocí MAC (message authentication code); ■ distribuce asymetrických klíčů; ■ dohoda o klíči na bázi algoritmu Diffieho-Hellmana chráněná digitálními podpisy před útokem MitM (Man-in-the-Middle). V H.235v3 je uvažována ještě čtvrtá možnost, ta však není součástí specifikací MIKEY; předpokládá se zde výměna Diffieho-Hellmanových klíčů pomocí předsdílených symetrických šifrovacích algoritmů. Pro přenos klíčů je povinně určen algoritmus AES v módu CTR resp. Counter. MIKEY používá 160bitový autentizační tag generovaný pomocí HMAC s SHA-1, tak jak je to popsáno v RFC 2104. Při použití asymetrických mechanismů je další povinnou záležitostí použití certifikátů podle standardu X.509v3 pro šifrování veřejným klíčem a digitální podpisy. 70 Firewally jako problém pro H.323 Jde o zvlášť nepříjemný problém. S výjimkou „Q.931.like" protokolu H.225 je všechen H.323 provoz je směrován přes dynamické porty. Pro Fast Start protokolu H.323 je obvykle využit port 1720. Pokud přidáme komunikaci RAS protokolu H.225 přes gatekeeper (UDP), je použit port 1719. Každý další kanál znamená přiřazení dalšího portu. Bylo by třeba mít dlouhodobě otevřeny desetitisíce UDP portů. Zprávy H.323 je schopen zpracovávat pouze stavový firewall. Ani pro tyto firewally není provoz protokolu H.323 triviální záležitost. Zprávy protokolu H.323 jsou kódovány v binárním formátu založeném na ASN.1. ASN.1 nepracuje s pevným umístěním adresní informace (offset) v paketu a takový provoz je obtížné dekódovat, neporadí si s ním nejen paketové filtry, ale i jednodušší stavové firewally. Prohledávání obsahu paketů zakódovaných pomocí ASN.1 zanáší další zpoždění do citlivých zařízení zajišťujících přenos hlasu. 71 NAT jako problém pro H.323 NAT je dalším problémem pro systémy na bázi VoIP používající pro navázání spojení protokol H.323. Pro tyto potřeby musí být speciálně uzpůsoben, aby mezi konci spojení správně protékaly dvojice IP adresa/port. 72 Šifrování a HMAC jako problém pro H.323 Šifrování není pro hlasové služby bezpečnostní problém, protože u proudové šifry jde jen o jednobitové zpoždění. Naopak operace algoritmu HMAC potřebují pro své zpracování celý blok dat, a to na straně vysílání i příjmu. To může vést ke zpožděním, která způsobují velké zkreslení hlasu. Někteří návrháři se domnívají, že autentizace při navazování spojení stačí a použití HMAC v průběhu vlastní konverzace omezují. 73 Shrnutí problémů H.323 • firewally - desetitisíce UDP portu • NAT - speciálně uzpUsoben • šifrování - malé zpoždění • HMAC - velké zpoždění 74 Security Framework a.k.a. H.235v4 Od roku 2005 lze na webu nalézt návrhy nového bezpečnostního rámce (Security Framework -a.k.a. H.235v4) pro protokol H.323 zpracované ITU-T Study Group 16. Otázkou je další dostupnost norem, které nejsou u ITU tradičně bezplatně dostupné. Mód je rovněž znám pod názvy Integer Counter Mode (ICM) a Segmented Integer Counter (SIC). Od roku 2005 nebyl protokol H.235 dále rozvíjen, pouze v roce 2008 byl bezpečnostní rámec doplněn o Amendment 1 (ITU-T Rec. H.235.6 Amendment 1 „H.323 security: Voice encryption profile with native H.235/H.245 key management: Support for 192 and 256 bits AES"), který je odezvou na potřebu použití AES s delším klíčem. 75 Jednotlivé složky rámce Security Framework a.k.a. H.235v4 Security framework forH-series (H.323 and otherH.245-based) multimedia systems (a.k.a: H.235v4) Baseline Security Profile Signature Security Profile Hybrid Security Profile Direct and Selective Routed Call Security Framework for secure authentication in RAS using weak shared secrets Voice encryption profile with native H.235/H.245 kej\management (See also Amendment 1) Usage of the MIKE Y Key Management Protocol for SR.TP Key Exchange forSRTP using secure Signalling Channels Security Gateway Support for H.323 76 H.323v6 (2006) ■ Primární změnou je koncept „Assigned Gatekeeper" (k nim jsou koncové body registrované, např. z důvodu geografické vzdálenosti). Rozdíl oproti alternativním gatekeeperů je v tom, že si po přepnutí na alternativní gateway stav přidělených gatekeeperů neustále monitoruje a po eliminaci důvodu přepnutí se vše vrací do původního stavu. Takovýto postup umožňuje efektivní hospodaření se zdroji. ■ Pro podporu doporučení ITU-T V.151 byly k Annex G zpracovány dodatky pro podporu ToIP prolínaného s audiem. ■ Dále byly doplněny nové kodeky GSM, iLBC, a H.264. ■ V oblasti bezpečnosti byl dokument H.235 rozčleněn na H.235.0 až H.235.9 atd. a byla přidána podpora pro SRTP. ■ Řada nových funkcí byla doplněna inkrementálně, byly vytvořeny i další nové dokumenty. 77 Nové dokumenty H.323v6 ■ H.239 - management rolí (živé video, prezentace atd.) ■ H.241 - rozšíření procedur videa (např. o podporu H.264 - AVC) ■ H.249 - rozšíření User Input Indications o událostí typu klik či pohyb kurzoru ■ H.361 - End-to-End QoS a signalizace priorit služeb ■ H.460.10 - transport pole ISUP „Call Party Category" ■ H.460.11 - nastavení zpožděného volání např. při průchodu firewallem ■ H.460.12 - mechanismus řešení kolize při výběru stejného obvodu GK ■ H.460.13 - dohled nad speciálními voláními (pohotovost atd.) ■ H.460.14 - Podpora MLPP (Multi-Level Precedence and Pre-emption) ■ H.460.15 - možnost shodit a přesměrovat volání ■ H.460.16 - zajištění handshakingu pro doručení zprávy Release Complete (obrana před vyhazováním zpráv TCP po uzavření soketu) ■ H.460.17 - tunelování RAS přes H.225.0 (část NAT/FW řešení) ■ H.460.18 - přenosy signalizace přes NAT a firewally ■ H.460.19 - přenosy média přes NAT a firewally jako proxy ■ H.460.20 - transport „location number" (obdobně ISUP - ISDN User Part) ■ H.460.21 - rozhlašování zpráv H.323v7 (2009) Změny základních specifikací (H.225.0, a H.245) byly omezeny na minimum. Nicméně byla doplněna řada nových důležitých vlastností, což se opět řešilo pomocí GEF: ■ "single transmitter multicast", což je užitečné např. pro MoH (Music on Hold) šířené ze známé IP adresy a známého portu. ■ Vlastnost umožňující H.323 síťovému prvku (např. MCU) kontaktovat H.323 terminály (např. videokonferenční či teleprezentační systém) a doručit jim kontaktní informace a na terminálu pak stačí pro připojení do konference jen stlačit tlačítko. ■ Schopnost přenášet v rámci H.225.0 informaci o volání ve více jazycích. Je to užitečné např. u mezinárodních poboček, kdy si může volaný zobrazit identifikaci volajícího v preferovaném jazyku. ■ Přenos varovných a poplašných zpráv protokolu CAP (Common Alerting Protocol, viz doporučení ITU-T Recommendation X.1303) systémem H.323. 79 Nové specifikace H.323v7 ■ H.460.22 - zajišťuje před vlastním voláním sesouhlasení bezpečnostních procedur mezi koncovými body. To například umožňuje před zahájením volání zjistit, zda volaný podporuje daný bezpečnostní signalizační mechanismu (např. IPSec či TLS). ■ H.460.23 - umožňuje pro H.323 zařízení za NAT/FW v koordinaci s gatekeeperem a STUN serverem zjistit typ NAT/FW, což se využívá v rámci H.460.24. ■ H.460.24 - definuje, jak zajistit komunikaci mezi koncovými body oddělenými NAT/FW zařízeními. Pokud dané zařízení nemá podporu protokolu pro přímé toky, je použito proxy v souladu s H.460.19. Strategie použití H.460.23 a H.460.24 vychází z použití těchto protokolů před zahájením volání, neboli většinou nezatěžují ALG (Application Layer Gateway), media proxy či jiné zařízení. 80 Protokol H.235 ■ Stanovuje bezpečností profily. To je nezbytné, protože H.323 nemá implementovány žádné bezpečnostní mechanismy. ■ Definované profily zavádějí různé stupně ochrany a zahrnují množinu bezpečnostních mechanismů. 81 Výhody H.323 ■ Výborná integrace s PSTN ■ Použití pro hlas, obraz i data ■ Vhodný jak pro audiokonference, tak pro videokonference ■ Standard přijatý výrobci i organizacemi jako je ETSI ■ Rychlé přidávání nových služeb 82 Kritika H.323 ■ Přílišná komplexnost - není ale nezbytné realizovat každou komponentu ■ Kodeky podle ITU - není problém doplnit libovolný kodek ■ Gatekeepery jako prvek zesložiťující řešení - mohou zabezpečovat rozklad adres - komunikace mezi jednoduchými telefony a složitými zařízeními - platforma pro doplňování nových služeb - a nakonec - nejde o povinný prvek 83 6. Příklady konfigurace na Cisco 84 1. konfigurace konfigurace brány H.323 Router(config)#voice service voip Router(conf-voi-serv)#h323 Router(conf-voi-serv)#no shutdown Router(config)#interface loopback 0 Router(config-if)#ip address 10.10.1.1 255.255.255.0 Router(config-if)#h323-gateway voip interface Router(config-if)#h323-gateway voip h323-id gw1 Router(config-if)#h323-gateway voip bind srcaddr 10.10.1.1 Router(config)#voice class codec 100 Router(config-class)#codec preference 1 g711alaw Router(config-class)#codec preference 2 g729br8 Router(config)#dial-peer voice 500 voip Router(config-dial-peer)#codec g711alaw Router(config)#voice class h323 600 Router(config-class)#h225 timeout tcp establish 10 Router(config-class)#h225 timeout setup 10 Router(config)#dial-peer voice 500 voip Router(config-dial-peer)#voice-class h323 600 Router(config)#voice service voip Router(conf-voi-serv)#h323 Router(conf-serv-h323)#h225 timeout tcp call-idle never 2. Konfigurace (konfigurace gatekeeperu mezi dvěmi branami) 86 Konfigurace směrovače R2 (gatekeeper) gatekeeper zone local ZoneA acme.com 10.7.7.1 zone local ZoneB acme.com zone prefix ZoneA 1... zone prefix ZoneB 2... gw-type-prefix 1#* default-technology arq reject-unknown-prefix bandwidth interzone default 64 bandwidth session default 16 no shutdown 87 Konfigurace směrovače Rl (brána) interface Serial0 bandwidth 128 ip address 10.1.1.2 255.255.255.0 encapsulation ppp h323-gateway voip interface h323-gateway voip id ZoneA ipaddr 10.7.7.1 1719 h323-gateway voip h323-id R1 h323-gateway voip tech-prefix 1# ! gateway dial-peer voice 2222 voip destination-pattern 2222 88 session target ras Konfigurace směrovače R3 (brána) interface Serial0 bandwidth 2000 ip address 10.7.7.2 255.255.255.0 encapsulation ppp clock rate 2000000 h323-gateway voip interface h323-gateway voip id ZoneB ipaddr 10.7.7.1 1719 h323-gateway voip h323-id R3 interface Serial0 h323-gateway voip tech-prefix 1# ! gateway dial-peer voice 1111 voip destination-pattern 1111 session target ras Kontrola na Rl Rl#show gateway H.323 ITU-T Version: 4.0 H323 Stack Version: 0.1 H.323 service is up Gateway R1 is registered to Gatekeeper ZoneA Alias list (CLI configured) E164-ID 1111 H323-ID R1 Alias list (last RCF) E164-ID 1111 H323-ID R1 H323 resource thresholding is Disabled 90 Kontrola na R3 R3#show gateway H.323 ITU-T Version: 4.0 H323 Stack Version: 0.1 H.323 service is up Gateway R3 is registered to Gatekeeper ZoneB Alias list (CLI configured) E164-ID 2222 H323-ID R3 Alias list (last RCF) E164-ID 2222 H323-ID R3 H323 resource thresholding is Disabled 9l Kontrola na R2 R2#show gatekeeper endpoints GATEKEEPER ENDPOINT REGISTRATION CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags 10.1.1.2 1720 10.1.1.2 52605 ZoneA VOIP-GW E164-ID: 1111 H323-ID: R1 Voice Capacity Max.= Avail.= Current.= 1 10.7.7.2 1720 10.7.7.2 52354 ZoneB VOIP-GW E164-ID: 2222 H323-ID: R3 Voice Capacity Max.= Avail.= Current.= 1 Total number of active registrations = 2 92 Aktivita RAS na směrovací R1 (konec příkladu) R1#show h323 gateway ras RAS STATISTICS AT 00:25:56 RAS MESSAGE REQUESTS SENT CONFIRMS RCVD REJECTS RCVD GK Discovery grq 5 gcf 1 0 Registration rrq 34 rcf 34 rrj 0 Admission arq 1 acf 1 arj 0 Bandwidth brq 0 bcf 0 brj 0 Disengage drq 0 dcf 0 drj 0 Unregister urq 0 ucf 0 urj 0 Resource Avail rai 0 rac 0 Req In Progress rip 0 93 3. konfigurace GW_1 - ECV-2600-17 - cast 1 hostname ECV-2610-17 ! interface Ethernet0/0 ip address 10.52.218.49 255.255.255.0 h323-gateway voip interface !----This command enables VoIP GW functions on the interface. h323-gateway voip id gk-zonel.test.com ipaddr 10.52.218.47 1718 !----This command defines the GK this GW works with. h323-gateway voip h323-id gw_1 !----This command defines the GW alias for the GK. h323-gateway voip tech-prefix 1# !----It is desirable to have tech prefix on the GW for !----reliable registration and call routing. h323-gateway voip bind srcaddr 10.52.218.49 !----This comnmand is not necessary in this simple topology, !----but for complex networks, it is recommended to use it. 95 GW_1 - ECV-2600-17 - cast 2 voice-port 1/1/1 ! dial-peer voice 1 voip destination-pattern 16.. session target ras !---- All IP addresses for the destination pattern 16.. should !----be resolved through the requests to the GK. ! dial-peer voice 2 pots destination-pattern 1711 port 1/1/1 no register e164 !----This command prevents registration of this number with !----the GK. The GW is registered with the GK with this alias only. ! gateway ! end 96 GW_2 - ECV-2600-16 hostname ECV-2610-16 ! interface Ethernet0/0 ip address 10.52.218.48 255.255.255.0 h323-gateway voip interface h323-gateway voip id gk-zone2.test.com ipaddr 10.52.218.46 1718 h323-gateway voip h323-id gw_2 h323-gateway voip tech-prefix 1# h323-gateway voip bind srcaddr 10.52.218.48 voice-port 1/1/1 ! dial-peer voice 1 voip destination-pattern 17.. session target ras ! dial-peer voice 2 pots destination-pattern 1611 port 1/1/1 no register e164 97 GKl ECV-2600-15 hostname ECV-2610-15 ! interface Ethernet0/0 ip address 10.52.218.47 255.255.255.0 ! gatekeeper zone local gk-zone1.test.com test.com 10.52.218.47 !----This command defines the local zone. The GK name and !----zone name have the same meaning. zone remote gk-zone2.test.com test.com 10.52.218.46 1719 !----This comnmand defines the name of the remote GK (zone) . zone prefix gk-zone2.test.com 16.. !----This comnmand explicitly defines the number length with !----the number of dots. zone prefix gk-zone1.test.com 17.. gw-priority 10 gw_1 !----This comnmand explicitly defines which GW handles !----calls for 17.. numbers that could be done for the !---- local zones only. gw-type-prefix 1#* default-technology !----This comnmand defines the default technology prefix !----that is necessary for routing decisions. GK_2 ECV-2600-14 hostname ECV-2610-14 ! interface Ethernet0/0 ip address 10.52.218.46 255.255.255.0 ! gatekeeper zone local gk-zone2.test.com test.com 10.52.218.4 6 zone remote gk-zone1.test.com test.com 10.52.218.47 1719 zone prefix gk-zone2.test.com 16.. gw-priority 10 gw_2 zone prefix gk-zone1.test.com 17.. gw-type-prefix 1#* default-technology no shutdown ! end 99 Informační zdroje ■ Packetizer http://www.packetizer.com/ ■ H.323 Forum http://www.h323forum.org/ ■ H.323 Plus http://www.h323plus.org/ 100