11 Halloween, 2011 Cullen Jennings

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Re-INVITE Handling draft-camarillo-sipping-reinvite-00.txt
SIP(Session Initiation Protocol) - SIP Messages
Advanced Piloting Cruise Plot.
Chapter 6 Cost and Choice. Copyright © 2001 Addison Wesley LongmanSlide 6- 2 Figure 6.1 A Simplified Jam-Making Technology.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 5 Author: Julia Richards and R. Scott Hawley.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
SIP, Presence and Instant Messaging
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Factors, Primes & Composite Numbers
Overview of 3D TV drafts Bert Greevenbosch
CLUE REQUIREMENTS IETF 80 Allyn Romanow
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
You will need some paper!
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Year 6 mental test 5 second questions
Around the World AdditionSubtraction MultiplicationDivision AdditionSubtraction MultiplicationDivision.
ZMQS ZMQS
Surface science: physical chemistry of surfaces Massimiliano Bestetti Lesson N° 1 – 6 October 2011.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
ABC Technology Project
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Technology Introducing MPLS VPN Architecture.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
VOORBLAD.
4 Square Questions Are you ready? B A
Quadratic Inequalities
1 4 Square Questions B A D C Look carefully to the diagram Now I will ask you 4 questions about this square. Are you ready?
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
We are learning how to read the 24 hour clock
SYSTEMS OF EQUATIONS.
Do you have the Maths Factor?. Maths Can you beat this term’s Maths Challenge?
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Network Fundamentals – Chapter 4 Sandra Coleman, CCNA, CCAI
Peer-to-peer and agent- based computing “Implementation” of Auctions.
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Test B, 100 Subtraction Facts
11 = This is the fact family. You say: 8+3=11 and 3+8=11
Week 1.
We will resume in: 25 Minutes.
A SMALL TRUTH TO MAKE LIFE 100%
1 Unit 1 Kinematics Chapter 1 Day
1 PART 1 ILLUSTRATION OF DOCUMENTS  Brief introduction to the documents contained in the envelope  Detailed clarification of the documents content.
How Cells Obtain Energy from Food
Introduction to Recursion and Recursive Algorithms
Excel Lesson 16 Protecting, Tracking, and Sharing Workbooks Microsoft Office 2010 Advanced Cable / Morrison 1.
Profile. 1.Open an Internet web browser and type into the web browser address bar. 2.You will see a web page similar to the one on.
THIS IS THE WAY ENUM Variants Jim McEachern Carrier VoIP Standards Strategy THIS IS.
MA 1165: Special Assignment Completing the Square.
RTCWEB Signaling Matthew Kaufman. Scope Web Server Browser.
Curtsy Web
Slide title minimum 48 pt Slide subtitle minimum 30 pt RTCWEB Terminology A Discussion of relation between RTCWEB Media Protocol Terminology and the PeerConnection.
BUNDLE Christer Holmberg, Ericsson Harald Alvestrand, Google IETF#84, Vancouver.
CLUE Overview and Architecture IETF 82 CLUE ad hoc meeting Allyn Romanow
Codec Control for RTCWEB
Presentation transcript:

11 Halloween, 2011 Cullen Jennings

2 PeerConnection emits messages like this: “SDP\n v=0\n o= IN IP \n s= \n c=IN IP \n t= \n m=audio RTP/AVP 0”

3 What if we want to add something else? For instance, a message ID Maybe some structure would be nice….

4 { “sdp”:”v=0\n o= IN IP \n s= \n c=IN IP \n t= \n m=audio RTP/AVP 0” } Now at least we can extend things }

5 Easy to get confused if we have glare We both send SDP at the same time Is the SDP I just got a new call or an answer to my offer?

6 { “messageType”: “OFFER”, “sdp”:”v=0\n o= IN IP \n s= \n c=IN IP \n t= \n m=audio RTP/AVP 0” }

7 We might have multiple sessions going on Either simultaneously or in sequence Message delays can make these look like each other

8 { “messageType”: “ANSWER”, "callerSessionId":" ABCDEF", "calleeSessionId":"abc ", “sdp”:”v=0\n o= IN IP \n s= \n c=IN IP \n t= \n m=audio RTP/AVP 0” } Session ID must be globally unique

9 { “messageType”: “OFFER”, "callerSessionId":" ABCDEF", … } { “messageType”: “ANSWER”, "callerSessionId":" ABCDEF", "calleeSessionId":"abc ", … } Each side contributes a session ID Session defined by combination of each side

10 A session has a sequence of offer/answer pairs Example: upgrade to video We have an audio call You decide to add video This requires multiple offer/answer pairs How do we distinguish them?

11 { “messageType”: “OFFER”, "callerSessionId":" ABCDEF", “seq”:1, “sdp”:”v=0\n o= IN IP \n s= \n c=IN IP \n t= \n m=audio RTP/AVP 0” } Sequence indicates the current offer/answer exchange OFFER and ANSWER have same sequence number

12 It’s not safe to have multiple OFFERs outstanding What happens if I do two changes in succession? Example: Other side adds video I accept but then user changes camera to one with different capabilities I need to re-OFFER but when? After he’s gotten my ANSWER

13 { “messageType”: “OK”, “seq”:”2”, "callerSessionId":" ABCDEF", "calleeSessionId":"abc ”, } OK message indicates ANSWER received and accepted New session parameters are active Safe to do a new OFFER/ANSWER pair

14 ICE is slow (can take 3-5 seconds to converge) We want to start ICE as soon as possible Best experience is to start ICE when Bob receives the OFFER even before he accepts the call But we don’t know the media parameters till he answers the call For instance, he might accept audio but not video

15 { “messageType”: “ANSWER”, "callerSessionId":" ABCDEF", "calleeSessionId":"abc ", “moreComing”:true, “sdp”:… // ICE candidates but recvonly media } moreComing flag means that another ANSWER will follow to this OFFER OFFER/ANSWER transaction isn’t complete till moreComing=false No OK for moreComing=true

16 Need to pass in TURN and STUN servers and credentials Often optimal to use more than one Proposal, array of URL Note Current text broken for IPv6 IP addresses Draft has: new PeerConnection( “TURNS :3478”, … Proposal: New PeerConnection( [“turns:// :3478”,”stun://example.com”], …

17 JS Objects JSON strings Other Use ROAP? Move def of application/html-peer-connection-deta to ROAP?

18 Help ! Draft has All SDP media descriptions for streams represented by MediaStream objects must include a label attribute ("a=label:") whose value is the value of the MediaStream object's label attribute. [SDP] [SDPLABEL] Is this label really the same as the SDP “a=label” ? Can’t require that we have this with legacy things? Why do we have this?

19 Proposal Have a stats method on PeerConnection Have it return a dictionary of stats Define an IANA registry of well known stat names The dictionary value for a stat can be primitive type or an array or object

20 Tell CODECs something about the application that they may need to understand to make good encoding choices Audio: is music or is spoken voice Video: prefer spatial or temporal fidelity Proposal IANA registry of well known hints Have some sort of setHints method on a media streams

21 It happens (lets add video … ) Deal with this in IETF ROAP takes care of it

22 Proposal – Focus on the API Send and receive a string/blob Unreliable delivery ? Reliable delivery ? Out of order delivery? Stream of data ?

23 Need to callback when received DTMF and way to tell audio stream to send DTMF Proposal: Add callback and method to send to audio streams Add a way to disable it when creating stream

24 Draft has The relative order of all tracks in a user agent must be stable. All audio tracks must precede all video tracks. Why do we need audio before video? Complicates mapping to SDP which is not this way