Janus è un server WebRTC open source e modulare, concepito per essere a tutti gli effetti uno strumento "general purpose" per la realizzazione di complessi scenari multimediali. In quanto tale, si presta a supportare applicazioni di vario tipo, a partire da scenari più tradizionali quali conferencing, e-learning e streaming multimediale, per arrivare ad applicazioni più innovative che coinvolgano dispositivi eterogenei. La presentazione partirà da una breve panoramica su WebRTC, per coprire poi l'architettura di Janus e le possibili topologie di utilizzo, fino a presentare alcuni esempi reali di utilizzo e casi d'uso di successo.
Lorenzo Miniero
Lorenzo Miniero è uno dei fondatori di Meetecho, azienda specializzata in applicazioni multimediali e comunicazioni in real-time. Lorenzo ha conseguito laurea e dottorato di ricerca presso l'Università di Napoli Federico II, università della quale la stessa Meetecho è spin-off accademico. È un attivo "contributor" alle attività di standardizzazione della Internet Engineering Task Force (IETF), ed è noto principalmente come l'autore del server WebRTC open source Janus.
Janus: an open source and general purpose WebRTC (gateway) server
1. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Janus: an open source and general purpose
WebRTC gateway (application) server
Lorenzo Miniero
@elminiero
25th January 2017, DevDay Napoli
2. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Outline
1 A brief introduction
2 Some context
WebRTC and standardization activities
3 Janus: a general purpose WebRTC gateway (application) server
Modular architecture: plugins and APIs
Deploying Janus: a few possible topologies
Monitoring and troubleshooting
4 Some practical examples
What is Janus used for today, and by whom?
5 Next steps
3. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Proudly brewed in sunny Napoli(*)
, Italy
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Several activities
• Consulting services
• Commercial support & licenses
• Streaming of live events (e.g., IETF, ACM SIGCOMM, ...)
• Products (conferencing, webinar, ...)
4. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Proudly brewed in sunny Napoli(*)
, Italy
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Several activities
• Consulting services
• Commercial support & licenses
• Streaming of live events (e.g., IETF, ACM SIGCOMM, ...)
• Products (conferencing, webinar, ...)
5. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What’s Meetecho?
• Co-founded in 2009 as an academic spin-off
• University research efforts brought to the market
• Recently got my Ph.D @ UniNA
• Proudly brewed in sunny Napoli(*)
, Italy
• Focus on real-time multimedia applications
• Web conferencing only, at first
• Then widened the scope to multimedia in general
• Strong perspective on standardization and open source
• WebRTC rulez!
• Several activities
• Consulting services
• Commercial support & licenses
• Streaming of live events (e.g., IETF, ACM SIGCOMM, ...)
• Products (conferencing, webinar, ...)
7. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Ok, ok, enough about you... what’s WebRTC about?
• Real-time media in a browser
• Up to some time ago, no standard solution!
• No interoperability
• Plugins needed to be installed anyway
WebRTC = Joint standardization efforts
• Internet Engineering Task Force (IETF)
• World Wide Web Consortium (W3C)
• RTCWEB (IETF)
• Real-Time Communication in WEB browsers WG
• Defines protocols and formats to use
• WEBRTC (W3C)
• Web Real-Time Communications WG
• Defines UI and API to access devices
8. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Ok, ok, enough about you... what’s WebRTC about?
• Real-time media in a browser
• Up to some time ago, no standard solution!
• No interoperability
• Plugins needed to be installed anyway
WebRTC = Joint standardization efforts
• Internet Engineering Task Force (IETF)
• World Wide Web Consortium (W3C)
• RTCWEB (IETF)
• Real-Time Communication in WEB browsers WG
• Defines protocols and formats to use
• WEBRTC (W3C)
• Web Real-Time Communications WG
• Defines UI and API to access devices
9. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Ok, ok, enough about you... what’s WebRTC about?
• Real-time media in a browser
• Up to some time ago, no standard solution!
• No interoperability
• Plugins needed to be installed anyway
WebRTC = Joint standardization efforts
• Internet Engineering Task Force (IETF)
• World Wide Web Consortium (W3C)
• RTCWEB (IETF)
• Real-Time Communication in WEB browsers WG
• Defines protocols and formats to use
• WEBRTC (W3C)
• Web Real-Time Communications WG
• Defines UI and API to access devices
12. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
The WebRTC protocol suite
• Signalling (well, sort of) and Negotiation
• Javascript Session Establishment Protocol (JSEP)
• Session Description Protocol (SDP) adaptation
• Connection Establishment and NAT Traversal
• Session Traversal Utilities for NAT (STUN)
• Traversal Using Relay NAT (TURN)
• Interactive Connectivity Establishment (ICE)
• Media Transport and Control
• Real-time Transport (and Control) Protocol (RTP/RTCP)
• Secure Extensions to RTP (SRTP)
• Datagram Transport Layer Security (DTLS)
• Multimedia codecs
• Opus audio codec (MTI, Mandatory-to-implement)
• VP8 and H.264 video codecs (MTI, Mandatory-to-implement)
• Generic Data
• WebRTC Data Channels (SCTP)
13. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
The WebRTC protocol suite
• Signalling (well, sort of) and Negotiation
• Javascript Session Establishment Protocol (JSEP)
• Session Description Protocol (SDP) adaptation
• Connection Establishment and NAT Traversal
• Session Traversal Utilities for NAT (STUN)
• Traversal Using Relay NAT (TURN)
• Interactive Connectivity Establishment (ICE)
• Media Transport and Control
• Real-time Transport (and Control) Protocol (RTP/RTCP)
• Secure Extensions to RTP (SRTP)
• Datagram Transport Layer Security (DTLS)
• Multimedia codecs
• Opus audio codec (MTI, Mandatory-to-implement)
• VP8 and H.264 video codecs (MTI, Mandatory-to-implement)
• Generic Data
• WebRTC Data Channels (SCTP)
18. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Janus: a general purpose WebRTC gateway server
“In ancient Roman religion and
myth, Janus [..] is the god of
beginnings and transitions, and
thereby of gates, doors, passages,
endings and time. He is usually
depicted as having two faces, since
he looks to the future and to the
past.”
— http://en.wikipedia.org/wiki/Janus
19. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Janus: a general purpose WebRTC gateway server
• A door between the communications past and future
• Legacy technologies (the “past”)
• WebRTC (the “future”)
Janus
General purpose, open source WebRTC gateway
• https://github.com/meetecho/janus-gateway
• Demos and documentation: https://janus.conf.meetecho.com
• Community: https://groups.google.com/forum/#!forum/meetecho-janus
20. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT (new!)
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Some proof of concept plugins implemented
• Echo Test
• Streaming (→ Plain RTP to WebRTC!)
• Video Room (→ Selective Forwarding Unit!)
• SIP Gateway (→ “Legacy” SIP!)
• ...
21. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT (new!)
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Some proof of concept plugins implemented
• Echo Test
• Streaming (→ Plain RTP to WebRTC!)
• Video Room (→ Selective Forwarding Unit!)
• SIP Gateway (→ “Legacy” SIP!)
• ...
22. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT (new!)
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Some proof of concept plugins implemented
• Echo Test
• Streaming (→ Plain RTP to WebRTC!)
• Video Room (→ Selective Forwarding Unit!)
• SIP Gateway (→ “Legacy” SIP!)
• ...
23. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Modular architecture
• The core only implements the WebRTC stack
• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...
• Plugins expose Janus API over different transports
• Currently HTTP / WebSockets / RabbitMQ / Unix Sockets / MQTT (new!)
• “Application” logic implemented in plugins too
• Users attach to plugins via the Janus core
• The core handles the WebRTC stuff
• Plugins route/manipulate the media/data
• Some proof of concept plugins implemented
• Echo Test
• Streaming (→ Plain RTP to WebRTC!)
• Video Room (→ Selective Forwarding Unit!)
• SIP Gateway (→ “Legacy” SIP!)
• ...
26. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Plugins as “bricks”
• Each plugin is a feature, not an application
• Application can be composed out of different features
• Features as “bricks” for a complex scenario
• A few examples...
• Multimedia conferencing with PSTN support
• Video Room (participants video & screen) + SIP (participants audio)
• Webinar with Q&A
• Video Room (screen) + Video Room (speakers) + Audio Bridge (questions)
• Social TV
• Streaming (TV channel) + Video Room (interaction)
• Contact center / Communication in social networks
• SIP plugin (calls) + Echo Test (diagnostics) + Record & Play (messaging)
27. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Plugins as “bricks”
• Each plugin is a feature, not an application
• Application can be composed out of different features
• Features as “bricks” for a complex scenario
• A few examples...
• Multimedia conferencing with PSTN support
• Video Room (participants video & screen) + SIP (participants audio)
• Webinar with Q&A
• Video Room (screen) + Video Room (speakers) + Audio Bridge (questions)
• Social TV
• Streaming (TV channel) + Video Room (interaction)
• Contact center / Communication in social networks
• SIP plugin (calls) + Echo Test (diagnostics) + Record & Play (messaging)
30. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
How do I...
• ... use Janus in my web app?
• JavaScript library available (janus.{nojquery.}js)
• https://janus.conf.meetecho.com/docs/JS
• You can use HTTP or WebSockets transports
• Several demos available to start from
• ... use Janus, but keeping my API?
• Wrap the Janus API on the server side
• https://janus.conf.meetecho.com/docs/rest
• https://janus.conf.meetecho.com/docs/resources
• Effective way to control what users can do
• Also helps to orchestrate pool of Janus servers
• ... and allows you to use RabbitMQ, MQTT and UnixSockets transports
• ... ask questions, report issues, contribute, or do this/that?
• https://git.io/v2hWD (contributing guidelines)
• https://groups.google.com/forum/#!forum/meetecho-janus
• https://janus.conf.meetecho.com/docs/FAQ
31. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
How do I...
• ... use Janus in my web app?
• JavaScript library available (janus.{nojquery.}js)
• https://janus.conf.meetecho.com/docs/JS
• You can use HTTP or WebSockets transports
• Several demos available to start from
• ... use Janus, but keeping my API?
• Wrap the Janus API on the server side
• https://janus.conf.meetecho.com/docs/rest
• https://janus.conf.meetecho.com/docs/resources
• Effective way to control what users can do
• Also helps to orchestrate pool of Janus servers
• ... and allows you to use RabbitMQ, MQTT and UnixSockets transports
• ... ask questions, report issues, contribute, or do this/that?
• https://git.io/v2hWD (contributing guidelines)
• https://groups.google.com/forum/#!forum/meetecho-janus
• https://janus.conf.meetecho.com/docs/FAQ
32. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
How do I...
• ... use Janus in my web app?
• JavaScript library available (janus.{nojquery.}js)
• https://janus.conf.meetecho.com/docs/JS
• You can use HTTP or WebSockets transports
• Several demos available to start from
• ... use Janus, but keeping my API?
• Wrap the Janus API on the server side
• https://janus.conf.meetecho.com/docs/rest
• https://janus.conf.meetecho.com/docs/resources
• Effective way to control what users can do
• Also helps to orchestrate pool of Janus servers
• ... and allows you to use RabbitMQ, MQTT and UnixSockets transports
• ... ask questions, report issues, contribute, or do this/that?
• https://git.io/v2hWD (contributing guidelines)
• https://groups.google.com/forum/#!forum/meetecho-janus
• https://janus.conf.meetecho.com/docs/FAQ
40. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Anything wrong? Check the Admin API!
• Requests/response API to interrogate Janus
• Query server capabilities
• Control some aspects (e.g., enable/disable debugging)
• Inspect handles and WebRTC “internals”
• What about asynchronous events? More on that in a minute!
http://www.meetecho.com/blog/understanding-the-janus-admin-api/
41. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
An asynchronous approach to monitoring/troubleshooting
• Admin API is cool, but is request/response...
• What about an asynchronous approach?
• A new mechanism: Event Handlers
• Core and plugins generate events
• Custom modules can subscribe to and handle them
• e.g., save to DB, send to external service, CDR, etc.
• Sample Event Handler forwards JSON events via HTTP
• Learning more with practical examples (node.js + DB)
• http://www.meetecho.com/blog/event-handlers-a-practical-example/
• http://www.meetecho.com/blog/correlating-janus-event-handlers/
• A couple of potentially interesting integrations
• Homer/HEP (originally conceived for SIP calls)
• Live stats collection via callstats.io
42. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
An asynchronous approach to monitoring/troubleshooting
• Admin API is cool, but is request/response...
• What about an asynchronous approach?
• A new mechanism: Event Handlers
• Core and plugins generate events
• Custom modules can subscribe to and handle them
• e.g., save to DB, send to external service, CDR, etc.
• Sample Event Handler forwards JSON events via HTTP
• Learning more with practical examples (node.js + DB)
• http://www.meetecho.com/blog/event-handlers-a-practical-example/
• http://www.meetecho.com/blog/correlating-janus-event-handlers/
• A couple of potentially interesting integrations
• Homer/HEP (originally conceived for SIP calls)
• Live stats collection via callstats.io
43. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
An asynchronous approach to monitoring/troubleshooting
• Admin API is cool, but is request/response...
• What about an asynchronous approach?
• A new mechanism: Event Handlers
• Core and plugins generate events
• Custom modules can subscribe to and handle them
• e.g., save to DB, send to external service, CDR, etc.
• Sample Event Handler forwards JSON events via HTTP
• Learning more with practical examples (node.js + DB)
• http://www.meetecho.com/blog/event-handlers-a-practical-example/
• http://www.meetecho.com/blog/correlating-janus-event-handlers/
• A couple of potentially interesting integrations
• Homer/HEP (originally conceived for SIP calls)
• Live stats collection via callstats.io
44. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
An asynchronous approach to monitoring/troubleshooting
• Admin API is cool, but is request/response...
• What about an asynchronous approach?
• A new mechanism: Event Handlers
• Core and plugins generate events
• Custom modules can subscribe to and handle them
• e.g., save to DB, send to external service, CDR, etc.
• Sample Event Handler forwards JSON events via HTTP
• Learning more with practical examples (node.js + DB)
• http://www.meetecho.com/blog/event-handlers-a-practical-example/
• http://www.meetecho.com/blog/correlating-janus-event-handlers/
• A couple of potentially interesting integrations
• Homer/HEP (originally conceived for SIP calls)
• Live stats collection via callstats.io
45. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Stressing Janus: Jattack!
• Jattack = Janus Attack (or J’attacque )
• Controllable (via WebSockets) WebRTC client stack
• Allows dynamic creation/monitoring of tons of WebRTC PeerConnections
• Still WIP, but already in a usable state
• Presented at IPTComm in Chicago just a few months ago!
46. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing and Webinars
• WebRTC-to-SIP gateway
• Streaming of live events (e.g., IETF meetings)
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• TV broadcasting and Social TV
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• New third-party tools are starting to come out
• https://janus.conf.meetecho.com/docs/resources
47. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing and Webinars
• WebRTC-to-SIP gateway
• Streaming of live events (e.g., IETF meetings)
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• TV broadcasting and Social TV
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• New third-party tools are starting to come out
• https://janus.conf.meetecho.com/docs/resources
48. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What is Janus used for today, and by whom?
• We use it ourselves for many things (obviously)
• Web conferencing and Webinars
• WebRTC-to-SIP gateway
• Streaming of live events (e.g., IETF meetings)
• Many folks/companies also using it in creative ways!
• E-learning
• Coworking
• Contact centers
• TV broadcasting and Social TV
• Surveillance systems
• E-health
• Home automation & Internet of Things
• Mobile devices, Raspberry Pis, drones, etc.
• New third-party tools are starting to come out
• https://janus.conf.meetecho.com/docs/resources
49. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Streaming IETF meetings: the “director” room
Remote participation completely WebRTC-based
• Slides as a video feed from the beamer
• Static video feed from the room
• Dynamic video feeds for remote speakers
61. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Slack (team co-working)
https://webrtchacks.com/dear-slack/
https://webrtchacks.com/slack-webrtc-slacking/
https://slack.engineering/calls-is-it-you-or-is-it-me-f5d36749e8ed
https://webrtchacks.com/slack-video/
62. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Mattermost (team co-working)
https://docs.mattermost.com/deployment/webrtc.html
https://github.com/mattermost/mattermost-webrtc
69. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What to do next?
• Finalize the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Keep on improving and fixing things
• Code cleanup, reference counters, new modules, ...
• A monitoring/troubleshooting framework on top of Event Handlers
• Test Test Test!
• Jattack will greatly help here
Help us improve this!
• Play with it, more testing is important
• Write your own applications/wrappers/plugins!
70. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What to do next?
• Finalize the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Keep on improving and fixing things
• Code cleanup, reference counters, new modules, ...
• A monitoring/troubleshooting framework on top of Event Handlers
• Test Test Test!
• Jattack will greatly help here
Help us improve this!
• Play with it, more testing is important
• Write your own applications/wrappers/plugins!
71. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What to do next?
• Finalize the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Keep on improving and fixing things
• Code cleanup, reference counters, new modules, ...
• A monitoring/troubleshooting framework on top of Event Handlers
• Test Test Test!
• Jattack will greatly help here
Help us improve this!
• Play with it, more testing is important
• Write your own applications/wrappers/plugins!
72. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
What to do next?
• Finalize the WebRTC implementation
• Work on effective renegotiation (ICE restarts almost ready)
• Implement multistream (Unified Plan)
• Keep on improving and fixing things
• Code cleanup, reference counters, new modules, ...
• A monitoring/troubleshooting framework on top of Event Handlers
• Test Test Test!
• Jattack will greatly help here
Help us improve this!
• Play with it, more testing is important
• Write your own applications/wrappers/plugins!
73. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Next events
• FOSDEM 2017
• February 4-5, Bruxelles (Belgium)
• Talk on Event Handlers in Real-Time devroom on the 4th
, 17:10
• https://fosdem.org/2017/schedule/track/real_time_communications/
• WebRTC Stockholm
• February 16, Stockholm (Sweden)
• Talk on how we provide remote participation at the IETF with WebRTC
• https://www.meetup.com/WebRTC-Stockholm/
• IETF 98
• March 26-31, Chicago (USA)
• No talk, just hard work!!
• https://www.ietf.org/meeting/98/
74. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Next events
• FOSDEM 2017
• February 4-5, Bruxelles (Belgium)
• Talk on Event Handlers in Real-Time devroom on the 4th
, 17:10
• https://fosdem.org/2017/schedule/track/real_time_communications/
• WebRTC Stockholm
• February 16, Stockholm (Sweden)
• Talk on how we provide remote participation at the IETF with WebRTC
• https://www.meetup.com/WebRTC-Stockholm/
• IETF 98
• March 26-31, Chicago (USA)
• No talk, just hard work!!
• https://www.ietf.org/meeting/98/
75. DevDay
L. Miniero
Intro
WebRTC
Standardization
Janus
Modules and APIs
Deploying
Troubleshooting
Examples
A few examples
Next steps
Next events
• FOSDEM 2017
• February 4-5, Bruxelles (Belgium)
• Talk on Event Handlers in Real-Time devroom on the 4th
, 17:10
• https://fosdem.org/2017/schedule/track/real_time_communications/
• WebRTC Stockholm
• February 16, Stockholm (Sweden)
• Talk on how we provide remote participation at the IETF with WebRTC
• https://www.meetup.com/WebRTC-Stockholm/
• IETF 98
• March 26-31, Chicago (USA)
• No talk, just hard work!!
• https://www.ietf.org/meeting/98/