Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Valósidejű kommunikációs kihívások VoIP, H.323, SIP, WebRTC, NAT Enterprise Software Engineering – meetup 03/18/2015.

Hasonló előadás


Az előadások a következő témára: "Valósidejű kommunikációs kihívások VoIP, H.323, SIP, WebRTC, NAT Enterprise Software Engineering – meetup 03/18/2015."— Előadás másolata:

1

2 Valósidejű kommunikációs kihívások VoIP, H.323, SIP, WebRTC, NAT Enterprise Software Engineering – meetup 03/18/2015

3 Copyright © Unify GmbH & Co. KG All rights reserved. 3 VoIP alapok QoS, codec-ek H.323 SIP WebRTC Protocol stack: STUN, TURN, ICE, DTLS-SRTP Media Engine, codec-ek ORTC Browser API-k Realtime Persistent Collaboration / PaaS – Platform-as-a-Service Circuit Távközlési trendek, standardizácó Tartalom

4 Copyright © Unify GmbH & Co. KG All rights reserved. 4 Voice over IP alapok Vonalkapcsolt világ TDM – Time Division Multiplexing, SCN – Switched Circuit Network Garantált sávszélesség Csomagkapcsolt világ (packet-switched) Különböző sávszélességigényű kapcsolatok egy hálózaton VoIP protokollok: H.323, SIP, Skype, WebRTC Jelzésrendszer: Q.931, H.225, SIP Média: RTP, RTCP Codec Titkosítás: TLS, SRTP, MiKEY, SDES, DTLS-SRTP Quality of Service

5 Copyright © Unify GmbH & Co. KG All rights reserved. 5 Quality of Service Lehetséges problémák csomagkapcsolt környezetben: Sávszélesség Csomagvesztés Késleltetés Jitter – változó késleltetés Sorrendhelyesség Sérült csomagok QoS protokollok Layer 2: IEEE 802.1p – Class of Service (CoS) az Ethernet keretben az IEEE 802.1Q által definiált VLAN fejlécben, 8 prioritás szint Layer 3: DiffServ – DSCP (Differentiated Services Code Point) az IP fejléc DS mezőjében

6 Copyright © Unify GmbH & Co. KG All rights reserved. 6 Audio codec-ek Codec-ek összehasonlítási szempontjai: sávszélesség igény, mintavételi frekvencia (átviteli sávszélesség), rendszerbe bevitt késleltetés, számítási teljesítmény igény, licenszdíj, adaptivitás és végül: szubjektív hangminőség. CodecSávszélességSzabadalomMintavételBit / mintaKésleltetésCBRVBRMegjegyzés G.711 A-low64 kbit/s-8 kHz13 bit125 usx-Európa G.711 u-law64 kbit/s-8 kHz13 bit125 usx- Észak-Amerika, Japán G kbit/s-16 kHz14 bit4 msx- G.7298 kbit/sx8 kHz13 bit15 msx- G kbit/sx8 v. 16 kHz16 bit48,9375 msxxCPU kímélőbb G.729 iLBC 13.33, kbit/s ? Ingyenes impl.8 kHz16 bit30, 20 msx- internet Low Bitrate Codec GSM-HR5.6 kbit/s? Ingyenes impl.8 kHz13 bit25 msx-half rate GSM-FR13 kbit/s? Ingyenes impl.8 kHz13 bit20-30 msx-full rate GSM-EFR12.2 kbit/s? Ingyenes impl.8 kHz13 bit20-30 msx-enhanced full rate

7 Copyright © Unify GmbH & Co. KG All rights reserved. 7 Opus Codec: Quality vs Bitrate Forrás:

8 Copyright © Unify GmbH & Co. KG All rights reserved. 8 Opus Codec: Bitrate vs. Latency Forrás: Audio samples:

9 Copyright © Unify GmbH & Co. KG All rights reserved. 9 RTP – Real-time Transport Protocol Általános keretrendszer real-time adatok továbbítására (audio, video,...) UDP-t használ, eredetileg páros portok Támogatja a multicast-ot Biztosítja a helyes csomagsorrendet Alsóbb rétegek biztosítják számára a QoS-t RTP session = IP cím + RTP és RTCP port RTP Audio Video Profile (RTP/AVP), RFC 3551, pár példa: Payload type: 0PCMUG.711 u-law Payload type: 3GSMGSM-FR Payload tpye: 4G723G Payload type: 8PCMAG.711 A-law Dynamic Payload Type, pl.: RFC 2833 – DTMF RFC 2198 – Redundant transmission

10 Copyright © Unify GmbH & Co. KG All rights reserved. 10 RTCP – Real-time Control Protocol QoS adatokat szállít: jitter, round-trip delay Információkat szállít a résztvevőkről: CNAME – canonical end-point identifier UDP – eredetileg páratlan portokon, RTP.Port + 1 Hierarchiába szervezhetők a jelentések (multicast esetén hasznos, pl. IPTV) Adaptív jelentés-gyakoriság, max. 5% sávszélesség Üzenettípusok Sender report (SR) Receiver report (RR) Source description (SDES) End of participation (BYE) Application-specific message (APP)

11 Copyright © Unify GmbH & Co. KG All rights reserved. 11 H.323 áttekintés és basic call-flow ITU-T esernyő-szabvány Q.931 alapján, H.225.0, H.245, T120, T38 stb. Hang, videó, fax/adatkapcsolat. Bináris, ASN.1 struktúrákat használ Entitások: Terminal, Gatekeeper, Gateway Forrás: FastConnect Titkosítás: H.235, MiKEY, TLS

12 Copyright © Unify GmbH & Co. KG All rights reserved. 12 H.323 Protocol Stack Forrás:

13 Copyright © Unify GmbH & Co. KG All rights reserved. 13 Session Initiation Protocol (SIP) Szöveges üzenetek, UTF-8 karakter kódolással a HTTP protokoll alapján Kliens-szerver architektúra, Entitások: UA, Proxy, Registrar, SBC. Tranzakció orientált, request/response A DNS koncepió és URI újrahasználásával Uniform Resource Identifier, pl.: End-to-end intelligens végpontok és buta hálózat, ellentétben az ISDN/PBX modellel a route-oláson kívül minden logika a végpontokban van SDP – Session Description Protocol, média leírására RTP / RTCP – média átvitelére

14 Copyright © Unify GmbH & Co. KG All rights reserved. 14 SIP üzenetek Request-Line INVITE SIP/2.0 Message Header Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice ;tag=9fxced76sl To: Bob Call-ID: CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 151 Blank Line Message Body (SDP) v=0 o=alice IN IP4 client.atlanta.example.com s=- c=IN IP t=0 0 m=audio RTP/AVP 0 a=rtpmap:0 PCMU/8000 SDP – Session Description Protocol (RFC 4566) Média kiegyezésre, offer / answer protokoll RFC 3264 alapján Szöveges leírás

15 Copyright © Unify GmbH & Co. KG All rights reserved. 15 SIP trapezoid / call-flow

16 Copyright © Unify GmbH & Co. KG All rights reserved. 16 SIP NAT mögött RTP dinamikusan kiosztott portokat használ, problémás a tűzfalaknak Megoldások: Elkerülni a NAT-ot ahol lehet IP tunneling Nyilvános SIP szolgáltatók használata (SIP OPTIONS) Hivatalos megoldások ALG (Application Layer Gateways), pl.: SBC – Outbound proxy a kliensben STUN (Session Traversal Utilities for NAT), RFC 5389 TURN (Traversal Using Relays around NAT), RFC 5766 ICE (Interactive Connectivity Establishment), RFC 5245 Megkerülő megoldások (workarounds) NAT átkonfigurálása, pl. port forwarding VoIP HTTP protokollon, pl.: IAX (Inter Asterisk eXchange)

17 Copyright © Unify GmbH & Co. KG All rights reserved. 17 WebRTC vs RTCweb IETF RTCWEB Working Group https://tools.ietf.org/html/draft-ietf-rtcweb-overview-13 Protocols, STUN, TURN, ICE W3C WebRTC Working Group Browser API, RTCPeerConnection, GetUserMedia Source Libjingle – Google implementation, library

18 Copyright © Unify GmbH & Co. KG All rights reserved. 18 WebRTC codec-ek Audio Opus – IETF RFC 6716, Firefox/Chrome, 6–510 Kbit/s Skype’s SILK codec + Xiph.org’s CELT codec G.711 – not used by Chrome SILK – Microsoft/Skype, nem kompatibilis Opus-szal Video VP8 – Google, ingyenes, 100–2,000+ Kbit/s H.264 – OpenH264/Cisco, Firefox – download on install Squared/Spark miatt MPEG Licensing Administration, (MPEG LA) VP9, Chrome in beta, SVC – Scalable Video Codec H.265

19 Copyright © Unify GmbH & Co. KG All rights reserved. 19 WebRTC Audio / Video engines Encoding/decoding, Noise Reduction, Packet Loss Concealment, Adaptive Jitter-buffer Acquiring Audio and Video with getUserMedia Forrás:

20 Copyright © Unify GmbH & Co. KG All rights reserved. 20 NAT Traversal Mapping hiányában a kívülről jövő csomagokat eldobja a NAT tűzfal Forrás:

21 Copyright © Unify GmbH & Co. KG All rights reserved. 21 STUN Session Traversal Utilities for NAT (STUN), RFC 5389 Segít felfedezni a NAT tűzfalat a hálózatban és megállapítani a külső IP:port párt Külső STUN szervert igényel, STUN binding request Keepalive a NAT route bejegyzések megtartására Probléma: UDP általában le van tiltva vállalati proxy-kban Forrás:

22 Copyright © Unify GmbH & Co. KG All rights reserved. 22 TURN Traversal Using Relays around NAT (TURN), RFC 5766 Ha nem működik a STUN, TURN relay, UDP, fallback to TCP Külső TURN szervert igényel, TURN allocate request, permission negotiation Probléma: már nem peer-to-peer, TURN kapacitás Forrás:

23 Copyright © Unify GmbH & Co. KG All rights reserved. 23 ICE Interactive Connectivity Establishment (ICE), RFC 5245 A leghatékonyabb kapcsolat felderítése: közvetlen, STUN, TURN Probléma: ICE candidate gathering megnövelheti a hívásfelépítési időt, nagy SDP Trickle ICE: inkrementális gyűjtés, signalling channelen küldi át menetközben Forrás:

24 Copyright © Unify GmbH & Co. KG All rights reserved. 24 WebRTC Protocol Stack DTLS: Datagram Transport Layer Security (RFC 6347) – pl. SRTP kulcskiegyezés Javához: SCTP: Stream Control Transport Protocol (RFC 4960) p2p adatcsatornához, TCP szerű Naked SCTP nem működik együtt a NAT tűzfalakkal Multiplexing: több SRTP, SRTCP stream ugyanazon a porton Forrás:

25 Copyright © Unify GmbH & Co. KG All rights reserved. 25 WebRTC vs ORTC Forrás: ORTC API Update, Robin Raymond/Peter Thatcher/Bernard Aboba, IIT RTC Conference, Chicago, IL, Sept. 30, 2014.

26 Copyright © Unify GmbH & Co. KG All rights reserved. 26 WebRTC 1.0 to ORTC 1.1 ORTC – Object-RTC Objektum orientált API SDP manipulációra a Microsoft elképzelése, talán a Spartan böngészővel érkezik, Windows 10 WebRTC imlementálható az ORTC API-n A vonalon elvileg megegyeznek: protokollok, codec-ek Forrás: ORTC API Update, Robin Raymond/Peter Thatcher/Bernard Aboba, IIT RTC Conference, Chicago, IL, Sept. 30, 2014.

27 Copyright © Unify GmbH & Co. KG All rights reserved. 27 WebRTC charter Media Stream Functions API functions to manipulate media streams for interactive real-time communications, connecting various processing functions to each other, and to media devices and network connections, including media manipulation functions for e.g. allowing to synchronize streams. Supplementary functions such as recording of media streams are also in scope. Audio Stream Functions An extension of the Media Stream Functions to process audio streams, to enable features such as automatic gain control, mute functions and echo cancellation. Video Stream Functions An extension of the Media Stream Functions to process video streams, to enable features such as bandwidth limiting, image manipulation or "video mute". Functional Component Functions API functions that allow to query for the components present in an implementation, instantiate them, and connect them to media streams. P2P Connection Functions API functions to provide interfaces that enable the conveyance of parameters necessary to establish peer to peer connections, based on the protocols selected by the IETF RTCWeb Working Group. Included in this category are also API functions to allow identification of the peer. Forrás:

28 Copyright © Unify GmbH & Co. KG All rights reserved. 28 WebRTC charter / Device API WG Media Capture and Streams JavaScript APIs that allow local media, including audio and video, to be requested from a platform MediaStream Recording a JavaScript API to record MediaStreams MediaStream Image Capture a JavaScript API to capture still images from a video MediaStream Media Capture Depth Stream Extensions An extension to the Media Capture and Streams API to capture depth streams (e.g. from 3D cameras) Media Capture from DOM Elements An extension to DOM elements to allow to capture a media stream from their content Audio Output Devices API JavaScript APIs that let a Web application manage how audio is rendered on the user audio output devices Screen Capture API An extension to the Media Capture and Streams API to use a user's display, or parts thereof, as the source of a MediaStream.

29 Copyright © Unify GmbH & Co. KG All rights reserved. 29 WebRTC vállalati környezetben RETURN – Recursively Encapsulated TURN for Connectivity and Privacy WebRTC gateways https://tools.ietf.org/html/draft-alvestrand-rtcweb-gateways-01 Security Considerations for WebRTC https://tools.ietf.org/html/draft-ietf-rtcweb-security-07 https://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-09 HTTP Proxy tunneling Simulcast, layered video https://tools.ietf.org/html/draft-garcia-simulcast-and-layered-video-webrtc-00https://tools.ietf.org/html/draft-garcia-simulcast-and-layered-video-webrtc-00 - multiple streams Second screen: - make webapps more similiar to desktop apps Statistics:

30 Copyright © Unify GmbH & Co. KG All rights reserved. 30 WebPush https://w3c.github.io/push-apihttps://w3c.github.io/push-api - cél az energiahatékonység növelése Regisztráció WebApp engedélyt kér a böngészőtől/felhasználótól PushServer megválaszolja a regisztrációt Böngésző visszatér a PushService objektummal és az URL-lel ahova üzenetet küldhet az AppServer WebApp elküldi az AppServernek a Push URL-t Üzenet kézbesítés AppServer üzen a Push URL-en keresztül PushServer értesíti a böngészőt Böngésző értesíti a megfelelő WebApp-et

31 Copyright © Unify GmbH & Co. KG All rights reserved. 31 Realtime Persistent Collaboration Ismertebb implementációk Slack - https://slack.com/https://slack.com/ Circuit – Unify, https://www.yourcircuit.com/https://www.yourcircuit.com/ Squared/Spark – Cisco, Skype for Business – Microsoft, Lync & Skype, várható megjelenés Április, Box, Dropbox, Glip, Hipchat, Asana, Sococo, Moxtra, Talko, Voxer Platform-as-a-Service PaaS SDK, API TokBox, Twilio, Digium: Respoke

32 Copyright © Unify GmbH & Co. KG All rights reserved. 32 Circuit

33 Copyright © Unify GmbH & Co. KG All rights reserved. 33 További trendek, kihívások Firefox hello – WebRTC / Telefonica WebRTC/DTLS/ICE interworking with SIP/SDES/MiKEY Közös codec-ek Transcoding VS Distributing: 50:1 QoS az interneten Authentication unauthenticated origins -> TLS SIP Source Identity FCC (Federal Communications Commission) to shut down PSTN (Public Switched Telephone Network)

34 Copyright © Unify GmbH & Co. KG All rights reserved. 34 Vészhívások / Emergency Service Lokáció meghatározása IP cím alapján nem lehetséges. Forrás: NICC ND 143 V1.1.1 ( )

35 Copyright © Unify GmbH & Co. KG All rights reserved. 35 Köszönöm a figyelmet!


Letölteni ppt "Valósidejű kommunikációs kihívások VoIP, H.323, SIP, WebRTC, NAT Enterprise Software Engineering – meetup 03/18/2015."

Hasonló előadás


Google Hirdetések