34
July 2013 Emergency Services and WebRTC 2 nd of July 2013 Bernard Aboba

Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

  • Upload
    buimien

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Emergency Services and WebRTC2nd of July 2013

Bernard Aboba

Page 2: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Outline

• Disclaimer

• Challenges for Next Generation Emergency Services

• Introduction to WebRTC

• WebRTC suitability for emergency calling

• WebRTC in the PSAP

• References

Page 3: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Disclaimer

• This presentation does not represent the views of

any government or regulatory agency, the IETF,

IAB, NENA, EENA, FCC, EAAC or my employer.

• WebRTC is an experimental technology that is

not presently suitable for any life critical use.

• IP-based emergency communications may not be

advisable in all circumstances.

– Where accurate location is unavailable (or the device

does not have access to the Internet) alternatives may

be preferred.

Page 4: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

The Road to Next GenerationEmergency Services

• Today information technology is evolving more rapidly than at any time in the last twenty years.

• Key trends: Social, Mobile, Analytics, Cloud (SMAC)

• Plain Old Telephone Service (POTS) is (rapidly) headed toward obsolescence.

• The rapid evolution of the new and decline of the old makes planning for the transition to next generation emergency services very challenging.

Page 5: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

The Death of POTS and theBirth of Mobile Data & Video

• Worldwide, consumers are abandoning POTS….

– IAB wiki: http://trac.tools.ietf.org/group/iab/trac/wiki

– IETF 86 Technical Plenary slides: http://www.ietf.org/proceedings/86/slides/slides-86-iab-techplenary-4.pdf

• for mobile platforms:

– Smartphone share of total wireless handset sales still low, but growing rapidly…

– Fraction of smartphones sold with data plans also growing rapidly…

– Very rapid growth in Internet (and mobile) video traffic…

– http://wiki-brands.com/we-overestimate-the-short-term-underestimate-the-long-term-10-big-olympic-sized-changes-over-the-next-4-years/

Page 6: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Big Questions

• What role could the web play in the development of emergency services applications?

• What role could the web play in next generation PSAPs?

Page 7: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Partial HTML5 Taxonomy

Add: RTCpeerConnection,

WebTelephony, UDP/TCP, etc.

Page 8: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

HTML5 versus Mobile Applications: Today

• Only a fraction (~20 percent) of mobile usage spent in the browser.

• HTML5 not yet competitive with native mobile application development:

• http://www.businessinsider.com/html5-vs-native-apps-for-mobile-2013-6?op=1

• However:• Several new mobile platforms based on HTML5 (e.g.

Firefox OS).

• Many ―native‖ mobile applications leverage web technology and protocols (e.g. hybrid applications).

Page 9: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

What is Missing?

• ―There are a few things that are critically missing. One is tooling support — having a debugger that actually works, performance tools that tell you where the memory is running out…Because those two things don’t exist, people are falling back to native. It’s not that HTML5 isn’t ready; it’s that the ecosystem doesn’t support it. … There are tools, but they’re at the beginning. People are just figuring out the basics.‖

• Kiran Prasad, ―Why LinkedIn dumped HTML5 & went native for its mobile apps‖http://venturebeat.com/2013/04/17/linkedin-mobile-web-breakup/#7j9E8exspVLJM3sM.99

Page 10: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

What is WebRTC?

• ―WebRTC‖ refers to APIs as well as protocols used to enable realtime communications within Web browsers, without requiring plugins.

• IETF RTCWEB WG is standardizing protocols used in WebRTC.

• W3C WEBRTC WG is standardizing Javascript APIs implemented in Web browsers.

– getUserMedia API provides access to media streams from webcams and microphones

– RTCPeerConnection API enables mediastreams to be sent peer-to-peer

Page 11: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

getUserMedia API

if (hasGetUserMedia())

getUserMedia(constraints, success, failure);

else

alert("Your browser does not support getUserMedia()");

Page 12: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC Architecture

• http://www.sloreto.com/slides/Aalto022013WebRTC/slides.html#1

• Signaling is (in theory) out of scope for WebRTC standardization, so WebRTC applications can use any signaling mechanism they see fit.

• Signaling typically runs over HTTP/HTTPS/Websockets.

• Examples: SIP or XMPP over websockets.

• However, RTCPeerConnection API utilizes Session Description Protocol (SDP) and the Offer/Answer model.

Page 13: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC Ecosystem:The World Beyond Standards

• Many of the key aspects of WebRTC are not being standardized:

– Javascript APIs used outside web browsers (e.g. node.js): enables development of WebRTC gateways as well as HTML5 applications

– WebRTC APIs for C/Objective C/C++, Java, C#, etc.: enables development of WebRTC-compatible mobile applications

– SDKs supporting WebRTC as well as plugins: enables development of applications that work where WebRTC is not available

– Cloud services for WebRTC (e.g. rental of STUN/TURN servers, SIP proxies, XMPP Connection Managers, video mixers, etc.): enables development and deployment of WebRTC backend services.

Page 14: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Believe it or NOT!

• It is possible to develop native mobile applications compatible with WebRTC protocols without using either Javascript or APIs standardized by the W3C!

Page 15: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC Protocols

• WebRTC protocols raise the bar significantly, compared with ―legacy VoIP‖ technology:

– End-to-End Media and data security: mandatory to implement (and use)

– Codecs: Support for HD audio and video, ability to adapt to bandwidth constraints

– RTP profile with feedback: improved support for diagnostics, feedback and repair

Page 16: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC: Dream orNightmare?

• Dream

– WebRTC APIs and SDKs enable more rapid development of accessible emergency applications (e.g. realtime text, combined audio/video/text)

– Web-based applications enable cost effective development of transitional (and next generation) emergency services capabilities.

• Nightmare

– Use of SDP in the WebRTC JS API hinders interop: http://blog.webrtc.is/2013/06/17/sdp-inside-webrtc-is-bad-for-sip/

– Issues with location accuracy delay emergency responders

– Web vulnerabilities threaten security of PSAPs.

Page 17: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Emergency Services Architecture

Access Network

Communication

Network

Emergency

Network

Location

Server

Caller

Emergency

Service

Gateway

Voice

Provider

PSAPRoute

Server

Page 18: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC on the Caller Side

• To use WebRTC for emergency calling, the following issues need to be addressed:

– Interoperability with PSAPs

• Media

• Signaling

– Location determination

–Call routing

–Accessibility

Page 19: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Text Communications

• Instant Messaging

– Instant Messaging can be supported in Javascript• SIP MESSAGE [RFC3428], MSRP [RFC4975]

• XMPP [RFC6121]

• Timed Text

– W3C TTML 1.0 specification (2nd edition): http://www.w3.org/TR/ttaf1-dfxp/

– WebVTT: http://dev.w3.org/html5/webvtt/

• Realtime Text

– Realtime Text (RFC 4103) unlikely to be implemented in browsers

• RFC 4103 typically implemented along with SIP signaling [RFC5194].

– XEP-0301 implementable in Javascript for both point-to-point and multi-user-chat [XEP-045] scenarios.

Page 20: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

XEP-0301: XMPP Realtime Text

• Specification: http://xmpp.org/extensions/xep-0301.html

• Realjabber implementation by Mark Rejhon: http://www.realjabber.org/

• JavaScript implementation of XEP-0301 by Christian Vogler of Gallaudet available on GitHub under the Apache 2.0 license:https://github.com/cvogler/trophyjs

• For a live demonstration, see http://tap.gallaudet.edu/rtt/

Page 21: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Audio Support

• G.711 and OPUS codecs mandatory-to-implement in WebRTC.

– Should OPUS be supported in the PSAP? It provides higher quality audio at lower bandwidth than G.722!

• Echo cancellation required in WebRTC implementations

• Control of silence suppression supported in the API.

Page 22: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

OPUS (RFC 6716) Test Resultshttp://www.opus-codec.org/comparison/

Page 23: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Video Support

• WebRTC-enabled browsers may not support ECRIT PhoneBCP video requirements (H.264/AVC Baseline Profile).

• Does it matter?

– In emergency services, requirements need not be symmetric on the browser and the PSAP. PSAP can support multiple codecs, and browser then only needs to support one of them to enable interoperability.

• Observation: Native PSAP support for popular codecs is more scalable (and probably less expensive) than transcoding.

Page 24: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Location and Call Routing

• Automatically obtaining location suitable for emergency use is highly desirable for WebRTC emergency applications.

• Potential approaches:

–GeoLocation API

–HELD & LoST implementation in Javascript

–WebTelephony API

Page 25: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

GeoLocation API Use for Emergency Services

• GeoLocation API not developed with emergency uses in mind.

– Example: source of the location information not provided, and can be difficult to infer.

• Implementation Issues

– Geolocation API implementations often ―hardwired‖ to a location service, do not use the underlying OS location APIs

– Example: might not be able to use GPS even if available

• Geolocation service issues

– Geolocation services often disclaim applicability for emergency uses

– Services do not consistently provide the required accuracy.

– Accuracy may vary substantially in the same location based on the browser and connectivity (e.g. Ethernet, WiFi, LTE, etc.)

Page 26: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Geolocation API Accuracy

http://internaut.com:8080/~baboba/geoloc/geoloc.html

Page 27: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

HELD and LoST in Javascript

• Both HELD [RFC5985] and LoST [RFC5222] are implementable in Javascript

• Biggest challenge is server location:

– Mechanisms described in [RFC5986] and [RFC5223] based on DHCP option typically not retrievable by a browser application.

– Draft-ietf-geopriv-res-gw-lis-discovery can potentially provide the domain for LIS discovery (DNS queries handled on server-side)

– LoST server could be provided by the emergency services application.

Page 28: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebTelephony API

• Where accurate location is unavailable (or the device does not have access to the Internet), alternatives may be preferable.

• W3C WebTelephony API enables access to the underlying (cellular) telephony platform.

• http://www.w3.org/2012/sysapps/telephony/

Page 29: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebTelephony APIExample

var telCall = navigator.telephony.dial('112');

telCall.onactive = function(e) {

window.console.log('Connected!');

}

telCall.ondisconnected = function(e) {

window.console.log('Disconnected!');

// update call history

}

telCall.onerror = function(e) {

window.console.error(e);

}

Page 30: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

WebRTC in the PSAP

Page 31: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Emergency Services Challenges for PSAPs

• In the coming years, PSAPs will be expected to support an increased range of services, despite limited funding. Examples:

– Support for SMS and ―over the top‖ text

– IP-based Video Relay Services

– Combination of text, video, voice (e.g. ―Total Conversation‖)

• Web-based applications may offer benefits in terms of cost and time.

– Example: Web application for support of SMS versus use of TTY

Page 32: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Security Issues

• SRTP is mandatory to use in WebRTC.

• Key management schemes:

– DTLS/SRTP (mandatory-to-implement)

– SDES/SRTP (available in some current implementations)

– DTLS/SRTP-EKT (under discussion)

• Implication: PSAP SBC may need to support (multiple) key WebRTC management schemes.

Page 33: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

References

• ―Emergency Services Support in WebRTC‖, http://tools.ietf.org/html/draft-aboba-rtcweb-ecrit

• IETF RTCWEB WG: http://datatracker.ietf.org/wg/rtcweb/

• W3C WebRTC WG: http://www.w3.org/2011/04/webrtc/

• IETF GEOPRIV WG: http://datatracker.ietf.org/wg/geopriv/

• W3C Geolocation WG: http://www.w3.org/2008/geolocation/

• ECRIT WG: http://datatracker.ietf.org/wg/ecrit/

• Emergency services architectures

– US: NENA i3 architecture <http://www.nena.org/standards/technical/voip/functional-interface-NG911-i3>

– Canada: Canadian i2 <http://www.crtc.gc.ca/eng/archive/2006/dt2006-60.htm>

– UK: NICC architecture still in progress; presentation to emergency services workshop here: <http://geopriv.dreamhosters.com/esw6/UK-i2-Nov-2009.ppt>

Page 34: Emergency Services and WebRTC - EENA - · PDF fileEmergency Services and WebRTC 2nd of July 2013 ... –WebRTC APIs and SDKs enable more rapid development of ... •Echo cancellation

July 2013

Thank you!!

Bernard Aboba: [email protected]