Introduc)on*to*the*Real0Time* Applica)ons*and ...
Transcript of Introduc)on*to*the*Real0Time* Applica)ons*and ...
![Page 1: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/1.jpg)
Introduc)on to the Real-‐Time Applica)ons and Infrastructure Area in the IETF
IETF 88 – Vancouver, BC, Canada!Sunday, November 3, 2013!
!Adam Roach (Presenter) <[email protected]>!
Robert Sparks <[email protected]>!Ben Campbell <[email protected]>!
Gonzalo Camarillo <[email protected]>!Richard Barnes <[email protected]>!
!
![Page 2: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/2.jpg)
What is the area about? • Tools for le)ng people interact with each other with minimal delay using the Internet – Talking – Two-‐ (or more) -‐way video – Gaming – Live collabora@ve music – Instant Messaging
Delay Sensi+ve Interpersonal Communica+on
![Page 3: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/3.jpg)
What is the area about? • Building blocks for real-‐@me services
– Providing (and protec@ng) loca@on – Adver@sing available real-‐@me services – Ge)ng emergency calls to the right responder – Allowing applica@ons to react to a person’s changing ability or willingness to communicate
![Page 4: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/4.jpg)
What’s in the name?
Real-‐Time Applica+ons and Infrastructure
Delay Sensi@ve Interac@ve
Communica@on
Internet Telephony Collabora@ve Performance
IM and Presence Emergency Services
Moving secure voice and video Providing loca@on
RAI is pronounced the same as “Rye”
![Page 5: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/5.jpg)
In today’s overview • Moving real @me media around (RTP) • Se)ng up communica@on sessions (SIP) • Talking about those sessions (SDP) • Presence/Messaging (SIMPLE, XMPP) • Loca@on, Privacy, and Emergency Services
![Page 6: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/6.jpg)
What does RTP do • Carries a @me-‐dependent signal through a packet network, preserving the @ming informa@on
1 2 3 4 5 6
2
3 4 6 1 5
1 2 3 5 jitter buffer
t0 t1 t3
network
t2
![Page 7: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/7.jpg)
What does RTP carry • Signals encoded by codecs • Timed-‐informa@on directly encoded into the payload (avt-‐tones, midi)
Codec (coder / decoder)
RTP Header Payload
![Page 8: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/8.jpg)
What does SIP do? • Adam wants to talk to Radia. SIP (the Session Ini@a@on Protocol) helps with two things – Rendezvous: It helps Adam’s device find the right device of Radia’s to work with on the network
– Nego@a@on: It lets Adam’s and Radia’s devices determine the technologies they will use to carry the conversa@on between Adam and Radia.
![Page 9: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/9.jpg)
Finding “the right” Device • Generally done at the discre@on of the called party’s SIP servers, using implementa@on-‐specific business logic.
• Can include “parallel” aler@ng (all devices at once), “serial” aler@ng (one device at a @me), or hybrid of the two approaches.
• Some standardized tools defined to help. – Callee capabili@es/caller preferences mechanism can express things like “this device can do video” when a phone registers, lets caller say “I want to call a video-‐capable device” when making a call
– Presence documents can express preferences and capabili@es as well.
![Page 10: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/10.jpg)
What does SIP do?
SIP Proxy
RTP
voice Adam Radia’s Desk Phone
SIP
SIP Proxy
Some Domain Some other Domain
Radia’s Home Phone
![Page 11: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/11.jpg)
Session Descrip)on Protocol (SDP) • Describes the technologies (and the parameters chosen within those technologies) for communica@on
• Can be declara@ve – Declaring what a mul@cast session will contain – Used in announcements
• Can be descrip@ve – Describing what an endpoint is willing to do
• Says things like “I’m willing to receive one audio stream and one video stream”.
– Used in nego@a@on
![Page 12: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/12.jpg)
Offer/Answer • SIP Devices use SDP to nego@ate how to communicate
(Offer) Lets use voice and video I’m willing to receive voice encoded this way on port A and video encoded that way on port B
(Answer) I’m only ok doing voice. No video. Send voice to me encoded this third way on port C
![Page 13: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/13.jpg)
What does RTCWeb do? • Real-‐Time Communica@ons in Web Browsers • Na@ve support in the browser
– No need for plug-‐ins • Browsers download javascript-‐based real-‐@me applica@ons from web servers using HTTP
• Encrypted RTP is used to transport real-‐@me media between browsers
• SCTP (Stream Control Transmission Protocol) is used for direct browser-‐to-‐browser data (e.g. for real-‐@me gaming)
• APIs developed by W3C WebRTC group
![Page 14: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/14.jpg)
What does RTCWeb do?
Web Server RTP
Voice & Video Adam’s browser Radia’s browser
Javascript / HTTP Some Domain
![Page 15: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/15.jpg)
Telepresence • CLUE WG
– ControLling mUl@ple streams for tElepresence – Immersive experience – Like “being there”
• Conferencing systems with mul@ple cameras, microphones, and screens – Ability to scale images to true size – Gaze direc@on and eye contact – Spa@al audio
![Page 16: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/16.jpg)
SIP Proxy SIP Proxy
Telepresence
RTP
SIP and CLUE
voice and video
![Page 17: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/17.jpg)
The pressure RTCWeb and CLUE are puOng on the use of SDP and RTP
• Mul@plexing • Mandatory-‐to-‐implement audio and video codecs • Simulcast • Use of codecs with different clock rates in a media stream
• Conges@on control and circuit breakers for real-‐@me media
• Describing rela@onships among RTP streams and groups
![Page 18: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/18.jpg)
Presence and Messaging • Presence “state” describes a user’s ability and willingness to communicate.
• Examples: – What communica@on mechanisms do I prefer right now?
– Am I too busy for non-‐urgent mafers? – Am I in a quiet environment? – Am I engaged in some ac@vity that affects communica@on?
![Page 19: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/19.jpg)
Presence State • Presence State can be a combina@on of soh and hard state – At lunch for the next hour – On holiday un@l I tell you otherwise
![Page 20: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/20.jpg)
Presence State Distribu)on • A presence system distributes state to authorized watchers – Different watchers may see different state
Alice
Bob Mallory
Carol
Personal State
Work State
![Page 21: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/21.jpg)
Contact Lists • Distribute presence state to many
• Gather it from many – aka buddy lists or rosters
– Number of rela@onships scale up quickly.
Alice
Bob
Carol David
Edward
![Page 22: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/22.jpg)
Messaging • Several kinds of messaging
– Page Mode – Short, usually text. Similar to text paging or SMS
– Session Mode – Chat session with a clear beginning and end
– Mul@ User Chat
• Messages can carry arbitrary kinds of content – Including transfer of large content; e.g., file transfer
![Page 23: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/23.jpg)
IETF Presence and Messaging Efforts • Extensible Messaging and Presence Protocol (XMPP)
– Based on XML streams – Client-‐server architecture, with server to server federa@on – Well deployed
• SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) – Primarily SIP based, but includes other protocols (e.g. XCAP, MSRP) – Highly flexible architecture (with resul@ng deployment complexity) – Fewer deployments, but star@ng to grow
• SIP-‐to-‐XMPP Interopera)on (STOX) – New working group chartered to publish documents that detail how to
interoperate Presence & IM between SIP and XMPP – Based on long-‐standing series of individual documents
![Page 24: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/24.jpg)
Loca)on/Privacy • Let an endpoint learn its geographic loca@on
– HTTP-‐Enabled Loca@on Delivery (HELD) – DHCP Extensions
• Let an endpoint tell another element/applica@on where it is. – Loca@on Conveyance in SIP, HTTP or other protocols
• Provide policy on who can see that loca@on and what anyone who sees it can do with it. – The Privacy part of Geopriv – loca@on comes with rules
• Find available services based on current loca@on – Loca@on to Service Transla@on (LoST)
![Page 25: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/25.jpg)
Calling Party Iden)ty Iden)ty • Like email, SIP “From” is easily spoofed. • SIP is a large part of the public telephone network now, and
the ability to spoofed caller ID is becoming problema@c. – Exploits include robocalls, voicemail hacking, bank authen@ca@on
schemes. – Drawing policy afen@on from, e.g., FCC and ITU
• Some exis@ng work already in this space: – RFC 3325 adds proxy-‐controlled ID, but relies on specific architectures. – RFC 4474 allows proxies to sign “From” for their domain, but this
doesn’t work for phone numbers. – VIPR establishes iden@ty for repeated SIP calls; but it doesn’t hinder
robocalling. • New work underway in STIR (Secure Telephone Iden@ty
Revisited) to tackle this problem specifically for phone numbers, to give providers tools for valida@on of calling party iden@ty.
![Page 26: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/26.jpg)
Emergency Services • Provide the ability to reach the right emergency responder for the situa@on
• Provide that responder with the best informa@on for response (loca@on)
• Address legacy and next genera@on service requirements – call-‐back from the responding service
![Page 27: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/27.jpg)
DISPATCH Working Group • Helps find the right home for new proposed work – This is the place to start with a new idea in RAI – Dispatches work to an exis@ng working group – Helps create a charter for a new group focused on the proposal
– Makes explicit decisions to not pursue a proposal
• Does not produce protocol documents
![Page 28: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/28.jpg)
WORKING GROUP OVERVIEWS
![Page 29: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/29.jpg)
WG Overview Real-‐Time Media
• avtcore Audio/Video Transport Core Maintenance
• avtext Audio/Video Transport Extensions • codec Internet Wideband Audio Codec • payload Audio/Video Transport Payloads • rtcweb Real-‐Time Communica@on in WEB
browsers • xrblock Metric Blocks for use with RTCP’s
Extended Report Framework
![Page 30: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/30.jpg)
WG Overview Session Control
• p2psip Peer-‐to-‐Peer Session Ini@a@on Protocol
• mmusic Mul@party Mul@media Session Control • sipcore Session Ini@a@on Protocol Core • soc SIP Overload Control • straw Sip Traversal Required for Applica@ons
to Work • insipid INtermediary-‐safe SIP session ID
![Page 31: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/31.jpg)
WG Overview Loca)on, Privacy, Emergency Services
• ecrit Emergency Context Resolu@on with Internet Technologies
• geopriv Geographic Loca@on/Privacy
![Page 32: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/32.jpg)
WG Overview Applica)on Extensions
• cuss Call Control UUI Service for SIP • salud Sip ALer@ng for User Devices • sipclf SIP Common Log Format • siprec SIP Recording
Recently Concluded
Concluding Soon
Concluding Soon
![Page 33: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/33.jpg)
WG Overview Interdomain Rou)ng
• drinks Data for Reachability of Inter/tra-‐NetworK SIP
• vipr Verifica@on Involving PSTN Reachability
• s@r Secure Telephony Revisited New
Concluding Soon
Concluding Soon
![Page 34: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/34.jpg)
WG Overview Presence and IM
• simple SIP for Instant Messaging and Presence Leveraging Extensions
• xmpp Extensible Messaging and Presence Protocol
• stox Sip-‐TO-‐Xmpp interopera@on
Recently Concluded
New
![Page 35: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/35.jpg)
WG Overview Conferencing, Telepresence, Media Services • bfcpbis Binary Floor Control Protocol Bis
• clue ControLling mUl@ple streams for tElepresence
• mediactrl Media Server Control
Concluding Soon
![Page 36: Introduc)on*to*the*Real0Time* Applica)ons*and ...](https://reader034.fdocuments.net/reader034/viewer/2022052309/628974bab7a3da558618fd7f/html5/thumbnails/36.jpg)
WG Overview Evalua)ng New Proposals
dispatch