Soumettre la recherche
Mettre en ligne
WebRTC with Java
•
12 j'aime
•
16,754 vues
A
amithap07
Suivre
WebRTC with Java
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 44
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Crocodile WebRTC SDK and Cloud Signalling Network
EMEA Airheads ClearPass guest with MAC- caching using Time Source
EMEA Airheads ClearPass guest with MAC- caching using Time Source
Aruba, a Hewlett Packard Enterprise company
Introduction to SAML 2.0
Introduction to SAML 2.0
Mika Koivisto
WebRTC on Mobile
WebRTC on Mobile
Buşra Deniz, CSM
SOAP To REST API Proxy
SOAP To REST API Proxy
Vince Soliza
REST-API introduction for developers
REST-API introduction for developers
Patrick Savalle
Airwaveand arubabestpracticesguide
Airwaveand arubabestpracticesguide
Aruba, a Hewlett Packard Enterprise company
Network Packet Analysis with Wireshark
Network Packet Analysis with Wireshark
Jim Gilsinn
Recommandé
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Crocodile WebRTC SDK and Cloud Signalling Network
EMEA Airheads ClearPass guest with MAC- caching using Time Source
EMEA Airheads ClearPass guest with MAC- caching using Time Source
Aruba, a Hewlett Packard Enterprise company
Introduction to SAML 2.0
Introduction to SAML 2.0
Mika Koivisto
WebRTC on Mobile
WebRTC on Mobile
Buşra Deniz, CSM
SOAP To REST API Proxy
SOAP To REST API Proxy
Vince Soliza
REST-API introduction for developers
REST-API introduction for developers
Patrick Savalle
Airwaveand arubabestpracticesguide
Airwaveand arubabestpracticesguide
Aruba, a Hewlett Packard Enterprise company
Network Packet Analysis with Wireshark
Network Packet Analysis with Wireshark
Jim Gilsinn
Tacacs
Tacacs
1 2d
Cisco switch commands cheat sheet
Cisco switch commands cheat sheet
3Anetwork com
Ccna rse chp7 Access Control List (ACL)
Ccna rse chp7 Access Control List (ACL)
newbie2019
Dynamic Routing RIP
Dynamic Routing RIP
Kishore Kumar
Breeze overview
Breeze overview
Yang Cheng
Radius vs. Tacacs+
Radius vs. Tacacs+
Netwax Lab
Integrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
Christian Posta
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
Aruba, a Hewlett Packard Enterprise company
Aruba Remote Access Point (RAP) Networks Validated Reference Design
Aruba Remote Access Point (RAP) Networks Validated Reference Design
Aruba, a Hewlett Packard Enterprise company
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
Aruba, a Hewlett Packard Enterprise company
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
Aruba 802.11ac networks: Validated Reference Designs
Aruba 802.11ac networks: Validated Reference Designs
Aruba, a Hewlett Packard Enterprise company
ASP.NET MVC 3.0 Validation
ASP.NET MVC 3.0 Validation
Eyal Vardi
WebRTC presentation
WebRTC presentation
Veselin Pizurica
Expanding Asterisk with Kamailio
Expanding Asterisk with Kamailio
Fred Posner
WebRTC Overview
WebRTC Overview
Arin Sime
Apple Captive Network Assistant Bypass with ClearPass Guest
Apple Captive Network Assistant Bypass with ClearPass Guest
Aruba, a Hewlett Packard Enterprise company
Socket Programming
Socket Programming
elliando dias
Linux Networking Explained
Linux Networking Explained
Thomas Graf
Campus Network Design version 8
Campus Network Design version 8
Aruba, a Hewlett Packard Enterprise company
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
Oracle
The WebRTC Continuum - The Next Wave
The WebRTC Continuum - The Next Wave
WebRTCConferenceJapan
Contenu connexe
Tendances
Tacacs
Tacacs
1 2d
Cisco switch commands cheat sheet
Cisco switch commands cheat sheet
3Anetwork com
Ccna rse chp7 Access Control List (ACL)
Ccna rse chp7 Access Control List (ACL)
newbie2019
Dynamic Routing RIP
Dynamic Routing RIP
Kishore Kumar
Breeze overview
Breeze overview
Yang Cheng
Radius vs. Tacacs+
Radius vs. Tacacs+
Netwax Lab
Integrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
Christian Posta
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
Aruba, a Hewlett Packard Enterprise company
Aruba Remote Access Point (RAP) Networks Validated Reference Design
Aruba Remote Access Point (RAP) Networks Validated Reference Design
Aruba, a Hewlett Packard Enterprise company
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
Aruba, a Hewlett Packard Enterprise company
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
Aruba 802.11ac networks: Validated Reference Designs
Aruba 802.11ac networks: Validated Reference Designs
Aruba, a Hewlett Packard Enterprise company
ASP.NET MVC 3.0 Validation
ASP.NET MVC 3.0 Validation
Eyal Vardi
WebRTC presentation
WebRTC presentation
Veselin Pizurica
Expanding Asterisk with Kamailio
Expanding Asterisk with Kamailio
Fred Posner
WebRTC Overview
WebRTC Overview
Arin Sime
Apple Captive Network Assistant Bypass with ClearPass Guest
Apple Captive Network Assistant Bypass with ClearPass Guest
Aruba, a Hewlett Packard Enterprise company
Socket Programming
Socket Programming
elliando dias
Linux Networking Explained
Linux Networking Explained
Thomas Graf
Campus Network Design version 8
Campus Network Design version 8
Aruba, a Hewlett Packard Enterprise company
Tendances
(20)
Tacacs
Tacacs
Cisco switch commands cheat sheet
Cisco switch commands cheat sheet
Ccna rse chp7 Access Control List (ACL)
Ccna rse chp7 Access Control List (ACL)
Dynamic Routing RIP
Dynamic Routing RIP
Breeze overview
Breeze overview
Radius vs. Tacacs+
Radius vs. Tacacs+
Integrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
Aruba Remote Access Point (RAP) Networks Validated Reference Design
Aruba Remote Access Point (RAP) Networks Validated Reference Design
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
EMEA Airheads - Aruba Remote Access Point (RAP) Troubleshooting
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
Aruba 802.11ac networks: Validated Reference Designs
Aruba 802.11ac networks: Validated Reference Designs
ASP.NET MVC 3.0 Validation
ASP.NET MVC 3.0 Validation
WebRTC presentation
WebRTC presentation
Expanding Asterisk with Kamailio
Expanding Asterisk with Kamailio
WebRTC Overview
WebRTC Overview
Apple Captive Network Assistant Bypass with ClearPass Guest
Apple Captive Network Assistant Bypass with ClearPass Guest
Socket Programming
Socket Programming
Linux Networking Explained
Linux Networking Explained
Campus Network Design version 8
Campus Network Design version 8
Similaire à WebRTC with Java
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
Oracle
The WebRTC Continuum - The Next Wave
The WebRTC Continuum - The Next Wave
WebRTCConferenceJapan
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Software Guru
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
Pavel Bucek
Oracle REST Data Services
Oracle REST Data Services
Chris Muir
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
terrencebarr
Lightweight Java in the Cloud
Lightweight Java in the Cloud
Bruno Borges
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Bart Jonkers
IMS WebRTC Workshop Oracle
IMS WebRTC Workshop Oracle
Alan Quayle
Soa suite12c presentation @AMIS by Simone Geib
Soa suite12c presentation @AMIS by Simone Geib
Getting value from IoT, Integration and Data Analytics
JavaOne 2015: CON3434 - Bringing IoT Cloud Services ...
JavaOne 2015: CON3434 - Bringing IoT Cloud Services ...
terrencebarr
SOACS-Overview.pdf
SOACS-Overview.pdf
SlavikGimelbrand
Embracing SOA and the Cloud
Embracing SOA and the Cloud
Heba Fouad
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Pavel Bucek
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
Workshop web rtc customers and use cases
Workshop web rtc customers and use cases
Douglas Tait
Workshop intro web rtc
Workshop intro web rtc
Douglas Tait
How to Obtain Peak Performance from Your Virtual Environment
How to Obtain Peak Performance from Your Virtual Environment
eG Innovations
Similaire à WebRTC with Java
(20)
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
The WebRTC Continuum - The Next Wave
The WebRTC Continuum - The Next Wave
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
Oracle REST Data Services
Oracle REST Data Services
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
JavaOne 2015: CON 3437 - Smart Devices for the Internet of Things ...
Lightweight Java in the Cloud
Lightweight Java in the Cloud
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
IMS WebRTC Workshop Oracle
IMS WebRTC Workshop Oracle
Soa suite12c presentation @AMIS by Simone Geib
Soa suite12c presentation @AMIS by Simone Geib
JavaOne 2015: CON3434 - Bringing IoT Cloud Services ...
JavaOne 2015: CON3434 - Bringing IoT Cloud Services ...
SOACS-Overview.pdf
SOACS-Overview.pdf
Embracing SOA and the Cloud
Embracing SOA and the Cloud
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Workshop web rtc customers and use cases
Workshop web rtc customers and use cases
Workshop intro web rtc
Workshop intro web rtc
How to Obtain Peak Performance from Your Virtual Environment
How to Obtain Peak Performance from Your Virtual Environment
Dernier
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nathaniel Shimoni
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
Dernier
(20)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
WebRTC with Java
1.
WebRTC With Java Binod
PG, Architect, Oracle Amitha Pulijala, Oracle Product Management Communications Business Unit October 27, 2015 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
2.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Oracle Confidential – Internal/Restricted/Highly Restricted 2
3.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Program Agenda WebRTC Introduction WebRTC Architecture Components Java in WebRTC Eco-System Common Development/Architecture Issues Demo 1 2 3 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 3
4.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Real Time Communications Meets The WEB Oracle Confidential – Internal/Restricted/Highly Restricted 4 Voice Video Data • A state-of-the-art audio/video/data communication stack in your WEB*client • Communications at web speed • Billions of end-points • Allows communications to be integrated into the “web” experience Machine to Machine/Embedded Mobile Browsers *WEB here is referred in a broader sense than just browsers
5.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 5 Communications as a feature Audio Video Data Connecting Customer’s journey through your application with Communications • Context Awareness • Personalized Service • Connected Interactions • Rewarding Relationship Document Share Screen Share Chat Audio/Video Call
6.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | • Web Customer Service • Advanced Customer Experience Oracle Confidential – Internal/Restricted/Highly Restricted 6 • Unified Communications WebRTC Enabling Enterprises to Create Value for Customers • Offer faster web-based service tools where most interactions with a business begin, on the Web • Offer a ‘Mayday Bundle’ for advanced live engagement, but make it available for any website across any devices • Provide BYOD mobile UC clients to employees as an extension of existing desk phone experience for mobility & remote worker
7.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | 7 WebRTC Services Video MessagingVideo Calling
8.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 8 What Does WebRTC Really Provide? Lowers Technology Barriers WebRTC.org WebRTC 1.0 Standards Specifications Software Stack WebRTC 1.0 WebRTC.org IETF + W3C Lowers Technology Barriers NAT Traversal Secure Media Data Transport Free, Open Source Media APIs & SDK Media Codecs No Plug-ins
9.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Agenda WebRTC Introduction WebRTC Architecture Components Java in WebRTC Eco-System Common Development/Architecture Issues Demo 1 2 3 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 9
10.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC Simple View Oracle Confidential – Internal/Restricted/Highly Restricted 10 Signaling Signaling Media (SRTP) App App
11.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 11 WebRTC Server-Side Considerations Media Mixing Transcoding Reliability PSTN /SIP Trunk Signaling and Media GW Media Interworking Identity Push Notifications Reliability STUN TURN Signaling NAT Traversal WebRTC Notification GW
12.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC Session Controller Signaling Engine WebRTC “Real-World” Architecture Oracle Confidential – Internal/Restricted/Highly Restricted 12 Identity Server App Notification Server Signaling Normalization Media Engine Media Normalization Transcoding STUN/TURN APNS, GCM Web Server Browser PSTN GatewayJSON/ WebSocket SIP REST RTP JSON/ WebSocket SRTP SRTP MCU/SFU REST/ JSR 309 RTP
13.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 13 WSC Client-Side Considerations HW Platforms HW acceleration Quality Audio Fall back “Look & Feel” Mobile UX/CX Browser Compatibility IE /Safari Codec Support JS SDK Native SDK Browser Frameworks SDK WebRTC Device Handoffs
14.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 14 WebRTC Client Side SDK SDK SDK • Broader client side reach – Native, Browsers, versions, hardware architectures •Non-WebRTC Browser support •Consistent feature evolution across native and browser SDKs •Application specific signaling extensions and optimizations 32 64
15.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Program Agenda WebRTC Introduction WebRTC Architecture Components Java in WebRTC Eco-System Common Development/Architecture Issues Demo 1 2 3 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 15
16.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Typical Web Application Oracle Confidential – Internal/Restricted/Highly Restricted 16 HTTP Traffic Java EE Server handles HTTP Requests. JSF JSP JAX-RS WebSocket MVC
17.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC is a W3C JavaScript API in the Browser Oracle Confidential – Internal/Restricted/Highly Restricted 17 JavaScript API Protocols • Acquire Audio and Video • Communicate Audio and Video Streams • Communicate Arbitrary Data (Text, File
18.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | 18 RTCMediaStream • Fundamental block of WebRTC API • Represents Communication with a Peer • Codec, Security, Bandwidth etc etc. RTCPeerConnection • Represents stream of audio or video • Stream from camera or microphone • Navigator.getUserMedia HTML App SDP Browser PeerConnection RTCPeerConnection
19.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC API is in browser Oracle Confidential – Internal/Restricted/Highly Restricted 19 How to get two PeerConnections to communicate?
20.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Add WebRTC to your Java EE Web Application Oracle Confidential – Internal/Restricted/Highly Restricted 20 WebRTC Signaling WebRTC Signaling Media (SRTP) JSF JSP JAX-RS WebSocket MVC HTTP Traffic HTTP Traffic
21.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | JSEP (JavaScript Session Establisment Protocol Oracle Confidential – Internal/Restricted/Highly Restricted 21 WebRTC Signaling WebRTC Signaling Media (SRTP) JSF JSP JAX-RS WebSocket MVC HTML App SDP Browser PeerConnection RTCPeerConnection HTML App SDP Browser PeerConnection RTCPeerConnection
22.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC Signaling Choices • JAX-RS + SSE – Standard Paradigm – Wait for incoming (eg: disconnect) messages – How about incoming calls? • Java API for WebSocket (JSR 356) – Bi directional – Suits communication signaling 22 Signaling Signaling Media (SRTP)
23.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC in Web Application (Add a WebSocket Endpoint) Oracle Confidential – Internal/Restricted/Highly Restricted 23 onOpen() onOpen() javax.websocket.server.ServerEndpoint onMessage(offer) Session.getBasicRemote().sendText(answer) onMessage(answer) Session.getBasicRemote().sendText(offer) <Candidate Exchange> <Candidate Exchange> Media (SRTP)
24.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Extend Communication To Legacy Phone Networks • SIP Servlet 2.0 API (JSR 359) – Integrates with Java EE 7 – Allows you to connect with traditional SIP networks – Also supports SIP over WebSockets 24 voice
25.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC to SIP with SIP Servlets Oracle Confidential – Internal/Restricted/Highly Restricted 25 onOpen() ServerEndpoint + SipServlet onMessage(offer) Session.getBasicRemote().sendText(answer) SIP/183 (answer) SIP INVITE (offer) <Candidate Exchange> Media (SRTP) SIP/INFO/OK (candidate) SIP/200 ()Session.getBasicRemote().sendText()
26.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | How about Conferencing? • Media Server Control API – Server Side Java API (JSR 309) – Abstract Interaction with Media Server • Dialogic, Radisys – Connect your ServerEndpoint with a Media Server 26 Voice,Video Media Mixer / SFU
27.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Media Server Control with WebRTC Oracle Confidential – Internal/Restricted/Highly Restricted 27 WebSocket App (ServerEndPoint) PeerConnection MediaGroup (Record, Play, DTMF) NetworkConnectionMediaMixer Media Server JSR 309 WebRTC Signaling WebRTC Signaling WebRTC Signaling
28.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | How about a MicroService for WebRTC? Oracle Confidential – Internal/Restricted/Highly Restricted 28 WebRTC Signaling WebRTC Signaling Media (SRTP) Http Traffic Http Traffic Java EE ServerWebRTC Server Jax-RS/RxJava
29.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | • WebRTC Java Binding – RTCPeerConnectionFactory – https://chromium.googlesource.com/external/webrtc/ – Google’s open source project – Matches with W3C JavaScript API 29 WebRTC in Android
30.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | 30 WebRTC in Android - Architecture Android Platform WebRTC Stack (webrtc.org) WebRTC Java Binding (webrtc.org) Java WebSocket Client (eg: Tyrus) Android App
31.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | 31 PeerConnectionFactory pcf = …; PeerConnection pc = pcf.createPeerConnection(iceSrvrs, constraints, obsrvr); pc.addStream(localStream); //add the stream from local camera/mic pc.createOffer(this, offerConstraints); public void onCreateSuccess(final SessionDescription offer) { sendMessage(offer) ; // send on signaling channel } Initiate a WebRTC call in Android
32.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | 32 Java WebRTC SDKs for Android Android Platform WebRTC Stack (webrtc.org) WebRTC Java Binding (webrtc.org) Java WebSocket Client (eg: Tyrus) Android App WebRTC Java SDK (eg: WSC) Similar stack exists for IOS as well
33.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Program Agenda WebRTC Introduction WebRTC Architecture Components Java in WebRTC Eco-System Common Development/Architecture Issues Demo 1 2 3 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 33
34.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Security, Authentication and Authorization Oracle Confidential – Internal/Restricted/Highly Restricted 34 WSS (Signaling + Identity Assertion) Media (DTLS/SRTP) Identity Provder Get Assertion Verify Assertion Alice Bob WSS (Signaling + Identity Assertion) Java EE Security
35.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Peer Authentication • Alice calls Bob • Alice’s browser fetches assertion from IDP (JAX-RS) • Alice’s browser app sends the assertion to Bob (Java WebSocket) • Bob’s browser verifies the assertion (JAX-RS) • Bob’s browser displays authorization • Bob accepts the call 35
36.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Session Connectivity and Reliability • Customers expect a seamless experience across – Web-style Browser reloads – Web-style “Back Button” navigation – Native app crashes – IP network connectivity changes (WiFi <-> 4G) – Device Handoffs – Server-side failures • This can be solved using the concept of Session Rehydration – Ability to keep the session alive when connectivity is interrupted and recreate it as soon as the connectivity is re-established 36
37.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Session Rehydration • In the event that the local app state is reinitialized, either due to a user reload of the page, or a decision within the app to reload itself it is possible to keep an existing session alive, via a process called "rehydration“ • Inspired by the approach described in IETF rtcweb-jsep-03 draft • Upon reconnect, resurrect the session (voice, video, Data Channel) – Client Information (sessionId etc) is stored in LocalStorage – Completely reliable signaling protocol – WebSocket connection is kept for a short time and the message resynchronization happens when clients is reconnected – Restart ICE procedures, send new SDP 37
38.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | The World is a Chatty Place! • Customers expect to stay “engaged” when they wander away from the app without draining device resources – battery power • This can be solved by: – Optimizing the WebSocket connections with Push Notifications • Hibernation of the session during periods of inactivity • Session rehydration upon wake up/ call resume – Mobile Push Notification Gateway • Manages connectivity to APNS, GCM; registers and activates multiple apps • Supports templates • Delivers push notifications to iOS and Android – Chrome Push Notifications – Service Worker, W3C API • On desktop and mobile browsers – WebRTC server uses JAX-RS to send messages to notification server 38
39.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Is network that simple? No! Oracle Confidential – Internal/Restricted/Highly Restricted 39 WebRTC Signaling WebRTC Signaling Media (SRTP) NAT NAT STUN STUN Media (SRTP) TURN Server
40.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | WebRTC with Java Oracle Confidential – Internal/Restricted/Highly Restricted 40 Identity Provider SIP Network JAX-RS Android Java Binding Conference Server Notification Server
41.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Additional Developer Resources • Oracle WebRTC Developer Page : http://www.oracle.com/technetwork/developer- tools/webrtc/overview/index.html • Oracle WebRTC Session Controller: http://www.oracle.com/us/products/applications/communications/web- rtc-session-controller/overview/index.html • Oracle WebRTC Documentation: http://docs.oracle.com/en/industries/communications/webrtc-session- controller/index.html • Sandbox (partner maintained): http://tadhack.optaresolutions.com/ Oracle Confidential – Internal/Restricted/Highly Restricted 41
42.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Demo Oracle Confidential – Internal/Restricted/Highly Restricted 42
43.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. | Session Surveys Help us help you!! • Oracle would like to invite you to take a moment to give us your session feedback. Your feedback will help us to improve your conference. • Please be sure to add your feedback for your attended sessions by using the Mobile Survey or in Schedule Builder. Oracle Confidential – Internal/Restricted/Highly Restricted 43
Télécharger maintenant