Valsidej kommunikcis kihvsok Vo IP H 323 SIP

  • Slides: 35
Download presentation

Valósidejű kommunikációs kihívások Vo. IP, H. 323, SIP, Web. RTC, NAT Enterprise Software Engineering

Valósidejű kommunikációs kihívások Vo. IP, H. 323, SIP, Web. RTC, NAT Enterprise Software Engineering – meetup peter. pusztai@unify. com 03/18/2015

Tartalom Vo. IP alapok Qo. S, codec-ek H. 323 SIP Web. RTC Protocol stack:

Tartalom Vo. IP alapok Qo. S, codec-ek H. 323 SIP Web. RTC Protocol stack: STUN, TURN, ICE, DTLS-SRTP Media Engine, codec-ek ORTC Browser API-k Realtime Persistent Collaboration / Paa. S – Platform-as-a-Service Circuit Távközlési trendek, standardizácó Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 3

Voice over IP alapok Vonalkapcsolt világ TDM – Time Division Multiplexing, SCN – Switched

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 Vo. IP protokollok: H. 323, SIP, Skype, Web. RTC Jelzésrendszer: Q. 931, H. 225, SIP Média: RTP, RTCP Codec Titkosítás: TLS, SRTP, Mi. KEY, SDES, DTLS-SRTP Quality of Service Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 4

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

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 Qo. S protokollok Layer 2: IEEE 802. 1 p – Class of Service (Co. S) az Ethernet keretben az IEEE 802. 1 Q által definiált VLAN fejlécben, 8 prioritás szint Layer 3: Diff. Serv – DSCP (Differentiated Services Code Point) az IP fejléc DS mezőjében Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 5

Audio codec-ek Codec Sávszélesség Szabadalom Mintavétel Bit / minta Késleltetés CBR VBR G. 711

Audio codec-ek Codec Sávszélesség Szabadalom Mintavétel Bit / minta Késleltetés CBR VBR G. 711 A-low 64 kbit/s - 8 k. Hz 13 bit 125 us x - Európa G. 711 u-law 64 kbit/s - 8 k. Hz 13 bit 125 us x - Észak-Amerika, Japán G. 722 64 kbit/s - 16 k. Hz 14 bit 4 ms x - G. 729 8 kbit/s x 8 k. Hz 13 bit 15 ms x - G. 729. 1 8 -32 kbit/s x 8 v. 16 k. Hz 16 bit 48, 9375 ms x x CPU kímélőbb G. 729 i. LBC 13. 33, 15. 20 kbit/s ? Ingyenes impl. 8 k. Hz 16 bit 30, 20 ms x - internet Low Bitrate Codec GSM-HR 5. 6 kbit/s ? Ingyenes impl. 8 k. Hz 13 bit 25 ms x - half rate GSM-FR 13 kbit/s ? Ingyenes impl. 8 k. Hz 13 bit 20 -30 ms x - full rate 12. 2 kbit/s ? Ingyenes impl. 8 k. Hz 13 bit 20 -30 ms x - enhanced full rate GSM-EFR Megjegyzés 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. Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 6

Opus Codec: Quality vs Bitrate Forrás: http: //opus-codec. org/comparison/ Copyright © Unify Gmb. H

Opus Codec: Quality vs Bitrate Forrás: http: //opus-codec. org/comparison/ Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 7

Opus Codec: Bitrate vs. Latency Forrás: http: //opus-codec. org/comparison/ Audio samples: http: //opus-codec. org/examples/

Opus Codec: Bitrate vs. Latency Forrás: http: //opus-codec. org/comparison/ Audio samples: http: //opus-codec. org/examples/ Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 8

RTP – Real-time Transport Protocol Általános keretrendszer real-time adatok továbbítására (audio, video, . .

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 Qo. S-t RTP session = IP cím + RTP és RTCP port RTP Audio Video Profile (RTP/AVP), RFC 3551, pár példa: Payload type: 0 PCMU G. 711 u-law Payload type: 3 GSM-FR Payload tpye: 4 G 723 G. 723. 1 Payload type: 8 PCMA G. 711 A-law Dynamic Payload Type, pl. : RFC 2833 – DTMF RFC 2198 – Redundant transmission Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 9

RTCP – Real-time Control Protocol Qo. S adatokat szállít: jitter, round-trip delay Információkat szállít

RTCP – Real-time Control Protocol Qo. S 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) Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 10

H. 323 áttekintés és basic call-flow ITU-T esernyő-szabvány Q. 931 alapján, H. 225. 0,

H. 323 áttekintés és basic call-flow ITU-T esernyő-szabvány Q. 931 alapján, H. 225. 0, H. 245, T 120, T 38 stb. Hang, videó, fax/adatkapcsolat. Bináris, ASN. 1 struktúrákat használ Entitások: Terminal, Gatekeeper, Gateway Fast. Connect Titkosítás: H. 235, Mi. KEY, TLS Forrás: http: //en. wikipedia. org/wiki/H. 323 Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 11

H. 323 Protocol Stack Forrás: http: //en. wikipedia. org/wiki/H. 323 Copyright © Unify Gmb.

H. 323 Protocol Stack Forrás: http: //en. wikipedia. org/wiki/H. 323 Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 12

Session Initiation Protocol (SIP) Szöveges üzenetek, UTF-8 karakter kódolással a HTTP protokoll alapján Kliens-szerver

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. : sip: username: password@host: port 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 Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 13

SIP üzenetek Request-Line Message Header INVITE sip: bob@biloxi. example. com SIP/2. 0 Via: SIP/2.

SIP üzenetek Request-Line Message Header INVITE sip: bob@biloxi. example. com SIP/2. 0 Via: SIP/2. 0/TCP client. atlanta. example. com: 5060; branch=z 9 h. G 4 b. K 74 bf 9 Max-Forwards: 70 From: Alice <sip: alice@atlanta. example. com>; tag=9 fxced 76 sl To: Bob <sip: bob@biloxi. example. com> Call-ID: 3848276298220188511@atlanta. example. com CSeq: 1 INVITE Contact: <sip: alice@client. atlanta. example. com; transport=tcp> Content-Type: application/sdp Content-Length: 151 Blank Line Message Body (SDP) v=0 o=alice 2890844526 IN IP 4 client. atlanta. example. com s=c=IN IP 4 192. 0. 2. 101 t=0 0 m=audio 49172 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 Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 14

SIP trapezoid / call-flow Copyright © Unify Gmb. H & Co. KG 2015. All

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

SIP NAT mögött RTP dinamikusan kiosztott portokat használ, problémás a tűzfalaknak Megoldások: Elkerülni a

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 Vo. IP HTTP protokollon, pl. : IAX (Inter Asterisk e. Xchange) Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 16

Web. RTC vs RTCweb IETF RTCWEB Working Group https: //tools. ietf. org/html/draft-ietf-rtcweb-overview-13 Protocols, STUN,

Web. RTC vs RTCweb IETF RTCWEB Working Group https: //tools. ietf. org/html/draft-ietf-rtcweb-overview-13 Protocols, STUN, TURN, ICE W 3 C Web. RTC Working Group http: //www. w 3. org/TR/webrtc/ Browser API, RTCPeer. Connection, Get. User. Media Source http: //www. webrtc. org/ Libjingle – Google implementation, library Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 17

Web. RTC codec-ek Audio Opus – IETF RFC 6716, Firefox/Chrome, 6– 510 Kbit/s Skype’s

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

Web. RTC Audio / Video engines Encoding/decoding, Noise Reduction, Packet Loss Concealment, Adaptive Jitter-buffer

Web. RTC Audio / Video engines Encoding/decoding, Noise Reduction, Packet Loss Concealment, Adaptive Jitter-buffer Acquiring Audio and Video with get. User. Media Forrás: http: //chimera. labs. oreilly. com/books/1230000000545/ch 18. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 19

NAT Traversal Mapping hiányában a kívülről jövő csomagokat eldobja a NAT tűzfal Forrás: http:

NAT Traversal Mapping hiányában a kívülről jövő csomagokat eldobja a NAT tűzfal Forrás: http: //chimera. labs. oreilly. com/books/1230000000545/ch 03. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 20

STUN Session Traversal Utilities for NAT (STUN), RFC 5389 Segít felfedezni a NAT tűzfalat

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: http: //chimera. labs. oreilly. com/books/1230000000545/ch 03. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 21

TURN Traversal Using Relays around NAT (TURN), RFC 5766 Ha nem működik a STUN,

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: http: //chimera. labs. oreilly. com/books/1230000000545/ch 03. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 22

ICE Interactive Connectivity Establishment (ICE), RFC 5245 A leghatékonyabb kapcsolat felderítése: közvetlen, STUN, TURN

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: http: //chimera. labs. oreilly. com/books/1230000000545/ch 03. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 23

Web. RTC Protocol Stack DTLS: Datagram Transport Layer Security (RFC 6347) – pl. SRTP

Web. RTC Protocol Stack DTLS: Datagram Transport Layer Security (RFC 6347) – pl. SRTP kulcskiegyezés Javához: http: //openjdk. java. net/jeps/219 SCTP: Stream Control Transport Protocol (RFC 4960) p 2 p 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: http: //chimera. labs. oreilly. com/books/1230000000545/ch 18. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 24

Web. RTC vs ORTC Forrás: ORTC API Update, Robin Raymond/Peter Thatcher/Bernard Aboba, IIT RTC

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

Web. RTC 1. 0 to ORTC 1. 1 ORTC – Object-RTC Objektum orientált API

Web. RTC 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 Web. RTC 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. 26 Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved.

Web. RTC charter Media Stream Functions API functions to manipulate media streams for interactive

Web. RTC 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. P 2 P 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: http: //www. w 3. org/2015/02/webrtc-charter. html Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 27

Web. RTC charter / Device API WG Media Capture and Streams Java. Script APIs

Web. RTC charter / Device API WG Media Capture and Streams Java. Script APIs that allow local media, including audio and video, to be requested from a platform Media. Stream Recording a Java. Script API to record Media. Streams Media. Stream Image Capture a Java. Script API to capture still images from a video Media. Stream Media Capture Depth Stream Extensions An extension to the Media Capture and Streams API to capture depth streams (e. g. from 3 D 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 Java. Script 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 Media. Stream. Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 28

Web. RTC vállalati környezetben RETURN – Recursively Encapsulated TURN for Connectivity and Privacy http:

Web. RTC vállalati környezetben RETURN – Recursively Encapsulated TURN for Connectivity and Privacy http: //tools. ietf. org/html/draft-schwartz-rtcweb-return-04 Web. RTC gateways https: //tools. ietf. org/html/draft-alvestrand-rtcweb-gateways-01 Security Considerations for Web. RTC https: //tools. ietf. org/html/draft-ietf-rtcweb-security-07 https: //tools. ietf. org/html/draft-ietf-rtcweb-security-arch-09 HTTP Proxy tunneling http: //tools. ietf. org/html/draft-ietf-httpbis-tunnel-protocol-00 Simulcast, layered video https: //tools. ietf. org/html/draft-garcia-simulcast-and-layered-video-webrtc-00 - multiple streams Second screen: http: //www. w 3. org/2014/secondscreen/ - make webapps more similiar to desktop apps Statistics: http: //w 3 c. github. io/webrtc-stats/ Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 29

Web. Push Regisztráció Web. App engedélyt kér a böngészőtől/felhasználótól Üzenet kézbesítés Push. Server megválaszolja

Web. Push Regisztráció Web. App engedélyt kér a böngészőtől/felhasználótól Üzenet kézbesítés Push. Server megválaszolja a regisztrációt Push. Server értesíti a böngészőt Böngésző visszatér a Push. Service objektummal és az URL-lel ahova üzenetet küldhet az App. Server Böngésző értesíti a megfelelő Web. App-et Web. App elküldi az App. Servernek a Push URL-t App. Server üzen a Push URL-en keresztül Web. Push https: //w 3 c. github. io/push-api - cél az energiahatékonység növelése Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 30

Realtime Persistent Collaboration Ismertebb implementációk Slack - https: //slack. com/ Circuit – Unify, https:

Realtime Persistent Collaboration Ismertebb implementációk Slack - https: //slack. com/ Circuit – Unify, https: //www. yourcircuit. com/ Squared/Spark – Cisco, http: //www. webex. com/ciscospark/index. html Skype for Business – Microsoft, http: //wwww. skype. com/en/business/ Lync & Skype, várható megjelenés Április, 2015. Box, Dropbox, Glip, Hipchat, Asana, Sococo, Moxtra, Talko, Voxer Platform-as-a-Service Paa. S SDK, API Tok. Box, Twilio, Digium: Respoke Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 31

Circuit Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 32

Circuit Copyright © Unify Gmb. H & Co. KG 2015. All rights reserved. 32

További trendek, kihívások Firefox hello – Web. RTC / Telefonica Web. RTC/DTLS/ICE interworking with

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

Vészhívások / Emergency Service Lokáció meghatározása IP cím alapján nem lehetséges. Forrás: NICC ND

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

Köszönöm a figyelmet! Copyright © Unify Gmb. H & Co. KG 2015. All rights

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