Media Stream Track Suspend/Resume/Remove/Stop

Slides:



Advertisements
Similar presentations
Re-INVITE Handling draft-camarillo-sipping-reinvite-00.txt
Advertisements

CLUE REQUIREMENTS IETF 80 Allyn Romanow
Early Media Authorization Under what conditions should negotiated media flow prior to 200 OK (INVITE)? Richard Ejzak.
Rob Marchand Genesys Telecommunications
MUTE and UNMUTE Extension to RTSP draft-sergent-rtsp-mute-00.txt Aravind Narasimhan
How to. Select members. Here are three ways to find people: Method #1 Find people by scrolling through your Hangouts list.
Remote Call/Device Control IETF82, Dispatch WG, Taipei November 15, Rifaat Shekh-Yusef Cullen Jennings Alan Johnston.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—5-1 Implementing Media Resources, Features, and Applications Implementing Cisco Unified Video.
K. Salah 1 Chapter 28 VoIP or IP Telephony. K. Salah 2 VoIP Architecture and Protocols Uses one of the two multimedia protocols SIP (Session Initiation.
Chapter 2 Network Models.
Improving a Traffic Generator and Analyzer Test-tool for Media Gateway - Support for Real-time Transfer Protocol (RTP) and RTP Control Protocol (RTCP)
Introduction to SDP Issues. Content Background Goals SDP Primer RTP Primer Use cases “New” Functionalities in SDP Multiple RTP Streams in SDP Decision.
SIP Action Referral Rifaat Shekh-Yusef Cullen Jennings Alan Johnston Francois Audet 1 IETF 80, SPLICES WG, Prague March 29, 2011.
Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP) April 2004, RFC3725 Author(s): J. Rosenberg, J. Peterson,
ELecta Live Update What’s new in Version 4.8 What’s New in V. 4.8 February
 Parts of the OnSync environment  Can be moved or closed  Each have their own purpose and provide moderator (or attendees) with additional functionality.
RTCWEB architecture Harald Alvestrand. RTCWEB goals Real Time Communication in the Browser Browser to Browser is Job Number One Usable by JS applications.
SIP/RTSP convergence draft-whitehead-mmusic-sip-for-streaming-media-05
July 10, 2006rtpsec BOF IETF-661 Best Effort SRTP Phil Zimmermann Alan Johnston.
RTCWEB Signaling Matthew Kaufman. Scope Web Server Browser.
Scottsboro City Schools Technology Dept.. Connecting Video Camera to Encoder 1. Power Cable 2. Network Cable (Primary) 3. CVBS-Pb (Yellow - VGA cable)
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
IP Multicast A convention to identify a multicast address Each node must translate between an IP multicast address and a list of networks that contain.
Roni Even Jonathan Lennox Mapping RTP streams to CLUE media captures draft-even-clue-rtp-mapping-03 IETF-84.
Gonzalo Camarillo Advanced Signalling Research Lab 48th IETF MMUSIC WG Gonzalo Camarillo draft-camarillo-sip-sdp-00.txt.
Curtsy Web
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
19 March 2003draft-burger-sipping-netann-05.txt1 Network Announcements with SIP IETF 56 Eric Burger
Christian Groves Describing Captures in CLUE and relation to multipoint conferencing draft-groves-clue-multi-content-00 CLUE Interim meeting (09/13)
Towards Adaptive Congestion Management for Interactive Real- Time Communications Dirk KutscherMirja KühlewindBob Briscoe IAB/IRTF Congestion Control Workshop.
HTML JAVASCRIPT. CONTENTS Javascript Example NOSCRIPT Tag Advantages Summary Exercise.
CLUE RTP usage Andy Pepperell
March 22th, 2001 MMUSIC WG meeting 50th IETF MMUSIC WG meeting The fid attribute draft-ietf-mmusic-fid-00.txt
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
SIP-SIP Video Delayed Offer-Delayed Offer
RTP Usage for CLUE IETF 82 – 14 November 2011 Jonathan Lennox Allyn Romanow Paul Witty.
21/03/ Working with Controls Text and List Boxes.
Tutorial 12 Solutions.
RTP Taxonomy & draft-lennox-raiarea-rtp-grouping-taxonomy-03 IETF 88 1.
MediaStream ● Overview ● Definitions ● getUserMedia() ● Recording ● Cloning/composition.
Codec Control for RTCWEB
Center for Advanced Technology and Training CATT Room Instruction Demo
Dreamweaver – Setting up a Site and Page Layouts
The Transport Layer Congestion Control & UDP
Chapter 9: Transport Layer
Wadley Medical Education Center
Exposing Link-Change Events to Applications
Instructor Materials Chapter 9: Transport Layer
Polycom Video Conferencing Equipment
RTCP Feedback Message for Image Control
Virtual Interim CLUE Signalling discussion
Conferences Presenter Guide
Introduction to Google Tag Manager
Hosting an online meeting
Computer Architecture
Video Calls Skype for Business.
The Access Grid Node: The Operator’s Manual.
VOICE AND VIDEO OVER IP VOIP, RTP, RSVP.
Agenda - Session Session 3: Document Camera; VCR; Laptop; anything else? Break.
Programming the Web using XHTML and JavaScript
Issues from telemedical-callflows
RTCWeb Data Channel Management
Network Announcements with SIP
Zoom Host Training Zoom offers: What is Zoom?
LESSON 14 - Building an App: Image Scroller
CS4470 Computer Networking Protocols
User to User Key Signaling Protocols
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems
Smart Pet Sitter Background System Design Project Overview
Presentation transcript:

Media Stream Track Suspend/Resume/Remove/Stop Adam Roach Tuesday, November 12th, Shenzen, China Monday, November 11th, Kirkland, WA, USA

What are the operations we care about here? Hardware or OS mute/unmute Javascript disables/enables a track Javascript suspends/resumes RTP for a track Javascript stops a track or removes it from the session

User Presses Hardware or OS “Mute” Button on Camera or Mic Application in sending browser receives “onmute” event Assuming the browser can figure out that the user did this Sending browser may either: Continue to feed whatever is coming off the hardware into the codec, or Encode black frames / silence / comfort noise RTP flows as normal Receiving party receives no events, produces no state changes.

Sender Blacks Out/Silences Media Javascript sets “enabled=false” on sending MediaStreamTrack RTP keeps flowing, but encodes black frames or silence / comfort noise, according to media type No events are triggered on sending end Receiving party receives no events, produces no state changes

Receiver Blacks Out/Silences Media Javascript sets “enabled=false” on receiving MediaStreamTrack RTP keeps flowing, but playout (e.g. into <audio> or <video> tag) is suspended Browser may elect to generate comfort noise No events are triggered on receiving end Sending party receives no events, produces no state changes, cannot detect this condition at all.

Sender Suspends RTP Javascript twiddles “new thing” on sending track “onnegotiationneeded” is triggered; media direction is updated in SDP m=audio 25384 RTP/SAVPF 0 96 a=msid:ma ta a=recvonly On receipt of this offer, the other side triggers “onmute.”

Receiver Suspends RTP Javascript twiddles “new thing” on receiving track “onnegotiationneeded” is triggered; media direction is updated in SDP m=audio 25384 RTP/SAVPF 0 96 a=msid:ma ta a=sendonly On receipt of resulting answer, this side triggers “onmute.” Other side doesn’t trigger any events

RTP Suspended Both Ways Javascript twiddles “new thing” on both sending and receiving track “onnegotiationneeded” is triggered; media direction is updated in SDP m=audio 25384 RTP/SAVPF 0 96 a=msid:ma ta a=inactive On receipt of this offer, the other side triggers “onmute” for stream we’re sending On receipt of resulting answer, this side triggers “onmute” for stream we’re receiving

Remove Sending Track Javascript calls stop() or removeStream on sending track “onnegotiationneeded” is triggered MSID is removed Media direction is updated in SDP m=audio 25384 RTP/SAVPF 0 96 a=msid:ma ta a=recvonly Other side calls “onended” If the track is later re-added, it triggers an onaddstream Does this cause issues? It’s not clear that anything breaks.

Remove Received Stream Javascript calls stop() or removeStream on received stream “onnegotiationneeded” is triggered; media direction is updated in SDP m=audio 25384 RTP/SAVPF 0 96 a=msid:ma ta a=sendonly Other side doesn’t trigger any events Issue: SDP signaling is indistinguishable from suspended RTP Do we care?

Remove Both Streams Javascript calls stop() or removeStream on both streams Although not necessarily at the same time “onnegotiationneeded” is triggered; port is set to 0 m=audio 0 RTP/SAVPF 0 a=msid:ma ta a=sendrecv Other side calls “onended” for stream it was receiving Issue: Is there some event called on the stream it had been sending?

Event Summary Operation Local Event Remote Event HW or OS Mute onmute - HW or OS Unmute onunmute Disable sending MST Enable sending MST Disable receiving MST Enable receiving MST Suspend sending MST onnegotiationneeded Resume sending MST onnegotiationneded Suspend receiving MST onnegotiationneded, ? Resume receiving MST Stop or remove sending MST onended Stop or remove receiving MST