IETFWebRTC L. Miniero History Legacy ways A novel approach Remote participation Janus Architecture Troubleshooting Sessions Participation Director room Recordings Next steps Enabling remote participation in a World-Wide engineering organization: How WebRTC is used in the IETF meetings Lorenzo Miniero @elminiero WebRTC Stockholm Meetup 16 th February 2017, Stockholm
45
Embed
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Enabling remote participation in a World-Wide engineeringorganization: How WebRTC is used in the IETF meetings
Lorenzo Miniero@elminiero
WebRTC Stockholm Meetup16th February 2017, Stockholm
1 A bit of historyHow did remote participation work in the IETF just a few years ago?Meetecho: How We Turned an IETF Experiment into an IETF Tool
2 Using WebRTC as a tool for remote participation at the IETFChoosing a WebRTC engine: remember Janus?Capturing and streaming: the typical layout of a sessionDetecting issues in advance: the Self-test application
3 What it all looks likeAttending remotely: attendees, presenters and the virtual queueMonitoring and controlling sessions remotelyRecording sessions and making them available for replay
4 Next steps
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
First of all, what is the IETF?
• Internet Engineering Task Force (IETF)• Standardized pretty much all the protocols you use everyday...• HTTP, SMTP, POP3, IMAP, SNMP, SIP, SDP, RTP, XMPP, ...• All work done by volunteers (which means YOU could write an RFC!)
• Several different Working Groups in different Areas• Routing, Security, Transport, Applications and Real-Time, ...• Each Working Group (WG) collaborates on mailing lists
• General meetings three times a year all over the world• Typically once in America, once in Europe, once in Asia• On average ~1200 local participants• Most WGs meet to present and discuss the latest documents
• Internet Engineering Task Force (IETF)• Standardized pretty much all the protocols you use everyday...• HTTP, SMTP, POP3, IMAP, SNMP, SIP, SDP, RTP, XMPP, ...• All work done by volunteers (which means YOU could write an RFC!)
• Several different Working Groups in different Areas• Routing, Security, Transport, Applications and Real-Time, ...• Each Working Group (WG) collaborates on mailing lists
• General meetings three times a year all over the world• Typically once in America, once in Europe, once in Asia• On average ~1200 local participants• Most WGs meet to present and discuss the latest documents
• Internet Engineering Task Force (IETF)• Standardized pretty much all the protocols you use everyday...• HTTP, SMTP, POP3, IMAP, SNMP, SIP, SDP, RTP, XMPP, ...• All work done by volunteers (which means YOU could write an RFC!)
• Several different Working Groups in different Areas• Routing, Security, Transport, Applications and Real-Time, ...• Each Working Group (WG) collaborates on mailing lists
• General meetings three times a year all over the world• Typically once in America, once in Europe, once in Asia• On average ~1200 local participants• Most WGs meet to present and discuss the latest documents
• Internet Engineering Task Force (IETF)• Standardized pretty much all the protocols you use everyday...• HTTP, SMTP, POP3, IMAP, SNMP, SIP, SDP, RTP, XMPP, ...• All work done by volunteers (which means YOU could write an RFC!)
• Several different Working Groups in different Areas• Routing, Security, Transport, Applications and Real-Time, ...• Each Working Group (WG) collaborates on mailing lists
• General meetings three times a year all over the world• Typically once in America, once in Europe, once in Asia• On average ~1200 local participants• Most WGs meet to present and discuss the latest documents
How did IETF remote participation work just a few years ago?
• A few instruments to use together for each WG session• Jabber room (instant messaging)• MP3 stream (audio)• Downloadable slides (datatracker)
• Kinda worked, but also quite awkward...• Attendees needed to manually download and open slides• Dedicated “Scribe” had to track every slide change, comment, etc.• Jabber room only way to interact• MP3 stream had several seconds of delay
Making it simpler: the Meetecho Experiment (“eat your own dog food!”)• Web interface that included everything• Integrated Jabber room, automated slide feed, real-time audio/video feed
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
How did IETF remote participation work just a few years ago?
• A few instruments to use together for each WG session• Jabber room (instant messaging)• MP3 stream (audio)• Downloadable slides (datatracker)
• Kinda worked, but also quite awkward...• Attendees needed to manually download and open slides• Dedicated “Scribe” had to track every slide change, comment, etc.• Jabber room only way to interact• MP3 stream had several seconds of delay
Making it simpler: the Meetecho Experiment (“eat your own dog food!”)• Web interface that included everything• Integrated Jabber room, automated slide feed, real-time audio/video feed
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
How did IETF remote participation work just a few years ago?
• A few instruments to use together for each WG session• Jabber room (instant messaging)• MP3 stream (audio)• Downloadable slides (datatracker)
• Kinda worked, but also quite awkward...• Attendees needed to manually download and open slides• Dedicated “Scribe” had to track every slide change, comment, etc.• Jabber room only way to interact• MP3 stream had several seconds of delay
Making it simpler: the Meetecho Experiment (“eat your own dog food!”)• Web interface that included everything• Integrated Jabber room, automated slide feed, real-time audio/video feed
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Experimenting with Meetecho @ IETF 80 (Prague)
• Dynamic web application that wrapped the WG Jabber room• Slides pre-converted to images and “triggered by us” at slide change• Java RTP applet implemented audio/video from the room• IETF team allowed us to use resources (e.g., mixer board)
• Experiment covered 7-8 RAI (now ART) working groups• Funnily enough, RTCWEB BOF was one of the first we supported!• https://www.ietf.org/jabber/logs/rtcweb/2011-03-29.txt
• Got very helpful feedback (both positive and negative)• “One page to rule them all” made participation much easier• Live audio (although lower quality) and addition of video widely praised
• ... although some local attendees were confused by the presence of cameras
• Integrated slides allowed attendees and scribes to relax ,• Most did not like the Java application to replay recordings, though...
• HTML5 web app to replay recordings implemented during IETF week!!
• Dynamic web application that wrapped the WG Jabber room• Slides pre-converted to images and “triggered by us” at slide change• Java RTP applet implemented audio/video from the room• IETF team allowed us to use resources (e.g., mixer board)
• Experiment covered 7-8 RAI (now ART) working groups• Funnily enough, RTCWEB BOF was one of the first we supported!• https://www.ietf.org/jabber/logs/rtcweb/2011-03-29.txt
• Got very helpful feedback (both positive and negative)• “One page to rule them all” made participation much easier• Live audio (although lower quality) and addition of video widely praised
• ... although some local attendees were confused by the presence of cameras
• Integrated slides allowed attendees and scribes to relax ,• Most did not like the Java application to replay recordings, though...
• HTML5 web app to replay recordings implemented during IETF week!!
• Dynamic web application that wrapped the WG Jabber room• Slides pre-converted to images and “triggered by us” at slide change• Java RTP applet implemented audio/video from the room• IETF team allowed us to use resources (e.g., mixer board)
• Experiment covered 7-8 RAI (now ART) working groups• Funnily enough, RTCWEB BOF was one of the first we supported!• https://www.ietf.org/jabber/logs/rtcweb/2011-03-29.txt
• Got very helpful feedback (both positive and negative)• “One page to rule them all” made participation much easier• Live audio (although lower quality) and addition of video widely praised
• ... although some local attendees were confused by the presence of cameras
• Integrated slides allowed attendees and scribes to relax ,• Most did not like the Java application to replay recordings, though...
• HTML5 web app to replay recordings implemented during IETF week!!
• IETF 87 (Berlin)• Presented our Opus efforts at Technical Plenary• Tutorial recording experiments
• IETF 88 (Vancouver)• First experiments with WebRTC SFU video
• IETF 89 (London)• First time four sessions covered in parallel• First deployment of statistics collector
• IETF 90 (Toronto)• First time six sessions covered in parallel
• IETF 91 (Honolulu)• All sessions covered for the first time• Janus used as audio/video backend for the first time• First deployment of docker-based architecture
• Audio backend is Asterisk’s ConfBridge + Janus SIP plugin• All attendees join the bridge via Janus• Opus-encoded thanks to our asterisk-opus patch
• Streaming laptop in the room acts as a participant• Gets audio from mixer board (all mics) and sends it to the bridge• Remote bridge audio passed to mixer board as input (speakers)
• Another laptop gets the overall mix (local+remote) for the MP3 streaming
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Handling video (1): static camera and projector
• Static feeds are not originated by WebRTC• Static camera, remotely controllable• Projector feed, obtained via a splitter
• Both captured and streamed (RTP+VP8) by FFmpeg• Janus Streaming plugin turns unicast RTP in WebRTC broadcast• Two static mountpoints attendees can subscribe to
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Handling video (2): remote speakers
• Remote speakers send their video via WebRTC
• Publish/subscribe mechanism
• Janus VideoRoom acting as SFU
• Laptop in the room acts as a regular subscriber
• Used to display remote participants on a 2nd screen (Virtual Queue)
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
The Virtual Queue
• Chairs moderate the in-room mic line questions• Remote attendees typically type questions in Jabber• Scribe relays them at the mic
• ... but remote speakers belong to the mic line too!• Speaking directly solves long waiting times
• Virtual Queue tries to solve that• In-room mic lines work as usual• Remote speakers appear in separate queue (2nd screen)• Chair can mute/unmute them with a “Big Red Button”
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Chairs love the “Big Red Button” ,
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Detecting issues in advance: the Self-test application
• Problems can happen with WebRTC all the time• Network constraints or OS/browser issues
• Big trouble if they happen during a session, though!• Wastes precious session time, and disrupts the flow
• Worked on a Self-test application, to test everything in advance• Check microphone availability/levels• Check webcam availability• Connectivity checks (with/without STUN/TURN)• Record & Play for quality assessment• Generates JSON report we can evaluate to help
• Since IETF 98, available on a permanent basis• https://selftest.conf.meetecho.com
Detecting issues in advance: the Self-test application
• Problems can happen with WebRTC all the time• Network constraints or OS/browser issues
• Big trouble if they happen during a session, though!• Wastes precious session time, and disrupts the flow
• Worked on a Self-test application, to test everything in advance• Check microphone availability/levels• Check webcam availability• Connectivity checks (with/without STUN/TURN)• Record & Play for quality assessment• Generates JSON report we can evaluate to help
• Since IETF 98, available on a permanent basis• https://selftest.conf.meetecho.com
Detecting issues in advance: the Self-test application
• Problems can happen with WebRTC all the time• Network constraints or OS/browser issues
• Big trouble if they happen during a session, though!• Wastes precious session time, and disrupts the flow
• Worked on a Self-test application, to test everything in advance• Check microphone availability/levels• Check webcam availability• Connectivity checks (with/without STUN/TURN)• Record & Play for quality assessment• Generates JSON report we can evaluate to help
• Since IETF 98, available on a permanent basis• https://selftest.conf.meetecho.com
• Two different types, typically• Virtual Interim Meetings (everybody online)• Physical Interim Meetings (mostly local, some remotes)
• Virtual Interim Meetings• Meetecho as web conferencing platform• Several tools available (audio, video, chat, screensharing, etc.)
• Physical Interim Meetings• Meetecho “IETF-style”• Would need local support and custom setup (mixers, webcams, etc.)
Are we going towards a completely Virtual IETF meeting too?• First discussions started for Buenos Aires (Zika virus risk)• Discussion restarted recently for entirely different reasons...
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Interim Meetings? Why not!
• Two different types, typically• Virtual Interim Meetings (everybody online)• Physical Interim Meetings (mostly local, some remotes)
• Virtual Interim Meetings• Meetecho as web conferencing platform• Several tools available (audio, video, chat, screensharing, etc.)
• Physical Interim Meetings• Meetecho “IETF-style”• Would need local support and custom setup (mixers, webcams, etc.)
Are we going towards a completely Virtual IETF meeting too?• First discussions started for Buenos Aires (Zika virus risk)• Discussion restarted recently for entirely different reasons...
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Interim Meetings? Why not!
• Two different types, typically• Virtual Interim Meetings (everybody online)• Physical Interim Meetings (mostly local, some remotes)
• Virtual Interim Meetings• Meetecho as web conferencing platform• Several tools available (audio, video, chat, screensharing, etc.)
• Physical Interim Meetings• Meetecho “IETF-style”• Would need local support and custom setup (mixers, webcams, etc.)
Are we going towards a completely Virtual IETF meeting too?• First discussions started for Buenos Aires (Zika virus risk)• Discussion restarted recently for entirely different reasons...
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
Interim Meetings? Why not!
• Two different types, typically• Virtual Interim Meetings (everybody online)• Physical Interim Meetings (mostly local, some remotes)
• Virtual Interim Meetings• Meetecho as web conferencing platform• Several tools available (audio, video, chat, screensharing, etc.)
• Physical Interim Meetings• Meetecho “IETF-style”• Would need local support and custom setup (mixers, webcams, etc.)
Are we going towards a completely Virtual IETF meeting too?• First discussions started for Buenos Aires (Zika virus risk)• Discussion restarted recently for entirely different reasons...
IETFWebRTC
L. Miniero
HistoryLegacy ways
A novel approach
RemoteparticipationJanus
Architecture
Troubleshooting
SessionsParticipation
Director room
Recordings
Next steps
What to do next?
• Keep the WebRTC implementation aligned• We don’t want to wake up one day and nothing works anymore!
• We’re not forgetting other browsers• Edge already supported, but only did H.264 so far...• ... although dev versions should have VP8 now?
• Improve the monitoring/troubleshooting tools• Self-test application helped greatly• Event Handlers could help even more
• Scale Scale Scale! Test Test Test!• Remote users will very likely increase (especially from “some” countries...)
See you in Chicago for IETF 98!• https://ietf98.conf.meetecho.com/• https://www.ietf.org/meeting/98/remote-participation.html