23:56:04 RRSAgent has joined #webrtc 23:56:04 logging to http://www.w3.org/2015/10/28-webrtc-irc 23:56:12 RRSAgent, make logs public 23:56:26 Meeting: WebRTC TPAC 2015 F2F 23:56:49 Agenda: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015#Thursday_October_29 23:57:01 Chair: Harald & Stefan 23:58:02 Present+ Maire_Reavy, Randel_Jesup 00:01:00 Shijun has joined #webrtc 00:01:20 Information for presenters if you have slides for today (and I hope you do ;) please sned them to vivien@w3.org and I'll take of adding them to the wiki 00:02:06 on webex we have: Maire & Randel 00:02:14 vr000m has joined #webrtc 00:02:14 Present+ Kevin_Fleming, Adam_Alfar, Shijun, PeterT, MartinT, AdamR, Varun, Cullen, Matthieu, Alex, AndrewH, Vivien, DanB, StefanH, Harald, Dom 00:02:22 juberti has joined #webrtc 00:02:33 mt_____ has joined #webrtc 00:02:40 adamR has joined #webrtc 00:02:46 Is there a dial-in for this meeting? 00:02:58 it's on the agenda page 00:03:04 just added apparently 00:03:19 burn has joined #webrtc 00:03:22 dom has changed the topic to: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 00:03:27 Agenda: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 00:03:29 s/Is there a dial-in for this meeting?// 00:03:37 s/it's on the agenda page// 00:03:38 jesup has joined #webrtc 00:03:45 s/just added apparently// 00:04:00 Topic: Agenda review for Thursday 00:04:05 stefan: Going throigh agenda 00:04:08 scribe: mathieucitrix 00:04:30 s/throigh/through/ 00:05:38 ... is everybody ok swapping simulcast and webrtc privacy afternoon sessions? 00:05:49 toddg has joined #webrtc 00:05:50 Present+: Justin_Uberti 00:05:52 Present+ Justin_Uberti 00:06:04 masato has joined #webrtc 00:06:50 mreavy has joined #webrtc 00:08:25 harald: adding agenda bashing tomorrow morning for friday 00:08:45 Present+ gmandyam 00:08:58 stefan: moving on to added functionality 00:09:26 so: agenda is: transceiver and other 1.0 stuff this morning; simulcast in afternoon; IP privacy tomorrow morning? 00:09:49 wydong_CM has joined #webrtc 00:10:31 Topic: Added functionality in WebRTC-1.0 after interim meeting 00:10:49 stefan going through list of what was agreed since seattle 00:10:56 igarashi_ has joined #webrtc 00:11:26 toddg has left #webrtc 00:11:28 martin: didn't have time to finish PR for pre-negotiation 00:11:39 toddg has joined #webrtc 00:12:27 stefan: almost all done for items since seattle. separate discussion for simulcast 00:12:51 ... peter can go for slides on transciever 00:14:48 -> https://www.w3.org/2011/04/webrtc/wiki/File:RtpTransceivers_at_TPAC_2015.pdf PeterT's slides on Transceiver 00:15:04 peter: Things that we added: 1:1 mapping between mline and transceiver 00:15:43 ... method for creating transceiver 00:16:35 martin: why do we have get transciver as getter 00:17:53 ... should mid be on transceiver ? 00:18:18 peter: for linking back to sender 00:18:35 martin: there is no attribute ? 00:18:39 peter: no 00:19:38 So martin said we need to mark the sender and receiver objects as “saome object” in webild 00:19:43 seemed to agrement on that 00:20:20 hta has joined #webrtc 00:20:20 going afk for a bit; back in ~1hr 00:21:20 Present+ Taylor_Brandstetter 00:21:53 fluffy: is removing offerToReceive not a problem for breaking what's out there already ? 00:22:22 martin: remove from spec but keep in implem and deprecate 00:22:45 adam: we're prefixed anyway so not a problem: 00:23:01 martin: FF 44 has webrtc unprefixed 00:23:22 ... will have both prefix and unprefix because of broken polyfills 00:23:55 masato has joined #webrtc 00:24:00 peter: leave to browser to handle as implem decision but remove from spec 00:24:38 fluffy: document in backwards compatibility section ? 00:24:53 martin: ok either way 00:25:43 harald: consensus is removing 00:26:14 peter: removeTrack deactivates instead of removing sender 00:27:24 ... simplified version of examples 00:28:13 kpfleming has joined #webrtc 00:29:18 can someone update the wiki page with the agenda changes? ( http://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 ) 00:29:45 hta: ^^^ 00:29:51 jib has joined #webrtc 00:30:34 fluffy: media before signalling: if I ever got the video before answer is applied, it would render to video tag in this case ? 00:30:57 harald: if things are wired that packets manage to come in, then yes 00:32:11 it's very hard to hear many of the people due to the mic-ing.... some aren't hearable due to distance, mic, or voice frequency (hta ;-) 00:32:54 I'm sorry - my voice is gone, so I'm more handicapped than usual by the fact that the mike stopped moving. 00:33:12 peter: if iframe comes in before fingerprint, we can rprocess it but not render it 00:33:18 Present+ Jan-Ivar_Bruaroey 00:34:14 dom: that example in not in any PR 00:34:23 peter: will fix that 00:34:36 ... next, remaining questions 00:34:59 ... when does addtrack reuse sender 00:35:05 mishizaw has joined #webrtc 00:36:02 ... option a: reuse sender if inactive 00:37:00 fluffy: can we drop whole problem of replace track onto JSEP ? 00:37:21 peter: JSEP doesn't fully solve it yet ? 00:38:19 peter: option C, recommended, reuse sender if never been active 00:38:30 fluffy: that's what jsep does 00:38:52 ... worried this is defined in 2 places 00:39:18 peter: already refers to jsep 00:39:37 dozawa has joined #webrtc 00:39:54 fluffy: this sounds like agreement on solution, we need to figure out how to put it correcty in spec 00:40:40 dan: shouldn't use word "resuse", since it's really use if never been used 00:41:29 harald: concensus on C. need to figure out which document writes it 00:42:09 adam: theres a discrpeency with jsep. 00:42:59 s/discrpeency/discrepancy/ 00:43:00 martin: jsep says you can revive if both sides know it's gone, port 0 00:43:08 ... we're missing that here 00:43:24 ... not using what justin carefully crafted 00:43:56 peter: justin said use case was too complicated and so didn't have to handle it 00:44:00 wonsuk has joined #webrtc 00:44:50 harald: receiver is gonna see the wrong thing on other end. so only solution is to signal. 00:45:55 martin: I think what happen is that new transciever sender and receiver might reuse mid 00:46:33 fluffy: at any given point one to one relationship between mline and transceiver 00:47:01 ... but if mline is gone and transceiver gone, then new one might end up on same mline 00:48:04 martin: there is a concern. all good on sender side, but receiver might not know. solution is to change mid 00:48:23 fluffy: need justin and ekr and whiteboard this 00:48:58 martin: can try to solve it tomorrow. ekr will be here. 00:49:13 fluffy: record strawman so justin can catch up 00:49:13 mishizaw has joined #webrtc 00:51:53 The general shape of the solution is: (1) We will recycle m= sections, as described in draft-ietf-rtc-jsep; (2) We will use *new* transceivers whenever an m= line is recycled; and (3) we *probably*, subject to further analysis, need to change MID on a recyled m= section 00:52:20 peter: question 2 00:53:10 ... how to activate transceiver without calling addTrack 00:53:31 ... option a: setActive 00:55:08 harald: should we make all senders active by default ? 00:55:51 peter: would need to change addTrack logic to behave like replaceTrack ? 00:56:20 harald: it's in case of never been used, so shouldn't need to change anything 00:57:49 peter: idea is sender are automatically activate, and redefine addTrack as if active sender that never had track, use replaceTrack logic ? 00:58:05 ... this might work 00:59:15 fluffy: deafult in SDP is send receive. still need a way to "deactivate" 01:00:18 peter: option b: put activate sender on transceiver 01:00:21 ... sound like one off 01:00:59 fluffy: setDirection on transceiver might make more sense. and reflects what's going on in SDP. wouldn't feel weird 01:02:34 ... active is not a good name 01:03:02 wonsuk has joined #webrtc 01:03:06 tomoyuki_ has joined #webrtc 01:03:19 kinjim has joined #webrtc 01:03:20 peter: so everybody happy with transceiver ."setHorrible" ? 01:03:55 harald: setRemoteDescrition might change thos bits 01:04:30 ... transceiver need to go muck with sender and receiver 01:05:33 peter: is all this worth it compared to say, if you do warm up, you'll have to do re-offer 01:06:06 fluffy: you might just be able to do offer, provisional answer, answer 01:06:28 peter: if that's true we dont need setHorrible ? 01:07:36 peter: scenario already fine in non-warm up 01:07:37 present+ Erik_Lagerway, Bernard_Aboba, Robin_Raymond 01:07:47 fluffy: are we trying to solve a non-problem 01:08:03 wonsuk has joined #webrtc 01:08:53 ... this example is not enough to see where the issue is 01:10:19 fluffy: nice option with this is we dont need pranswer 01:10:37 ... but it's still 2 signalling messages 01:10:55 peter: 2 q: is ugly bit worth it? what is exactyly the ugly bit 01:11:17 martin & fluffy: yes needed, peter to decide what api looks like 01:11:47 (that was option B) 01:11:49 peter: question 3, harder question, rollback 01:12:29 ... option a, never remove transceiver 01:13:06 fluffy: if it's there, is it functional, how do you know ? 01:13:22 martin: how do you diff between good & bad 01:13:27 peter: not good option 01:13:37 ... option b: always remove 01:14:28 martin: crux of problem: are you rolling back remote offer, or everything done since left stable ? 01:15:30 martin: what if stable, call addTrack, then setRemote. track might be added to existing transceiver . what do you do on roolback ? 01:15:46 fluffy: you go back to stable 01:17:08 martin: this doesn't work, describing issue if some tracks were added, others not 01:17:24 ... should roll back offer, not add tracks 01:17:34 .. let tracks sit there 01:17:51 fluffy: ok, that;s about negotiated offer 01:17:58 peter: option b no god 01:18:08 s/god/good/ 01:18:37 peter: option c, ... out not possible 01:18:58 peter: option D, 01:20:08 martin raising an issue 01:20:23 peter: option E is meh 01:20:30 peter: option E 01:20:43 s/option E is meh/option D is meh/ 01:21:50 fluffy: this is weird but might be less weird, more fitting mline 01:21:51 s/that;s 01:22:02 martin: this might be combined with others 01:22:08 s/that;s/that's/g 01:22:12 peter: E is potential, option F 01:23:12 ... has potential too 01:23:34 kinjim has joined #webrtc 01:23:53 martin: option F is very close to current FF implementation of rollback, so it's kinda right, but need better model 01:23:58 peter: option G 01:24:41 martin: sounds like option D with extra thing 01:24:59 ... so better than D 01:25:19 fluffy: it's consistent with everything else we've done 01:25:21 mishizaw has joined #webrtc 01:25:39 peter: option H 01:26:35 harald: there's one case where you need to rollback remote offer: glare 01:27:03 peter: but you roll back local offer, not remote 01:28:35 martin: existing session, receive remote offer, apply it, some tracks appear, don't like all the new stuff, and want to rollback to stop receiving all that 01:29:20 peter: all sounds like weird edge cases 01:29:40 fluffy: need to do something to get back to stable state though 01:31:01 martin & adam: H looks better and better 01:31:41 harald: on rollback, transceiver that haven't been used, go in mid bucket 01:32:21 peter: G might not actually solve problem 01:33:24 ... down to E, F, H 01:35:16 martin: G by itself is not enough but might give you a good base 01:35:55 peter wants to revive part of B 01:37:35 peter: go with G, call addtrack, add to pending, rollback, pending ones stay around ? 01:38:24 harald: need way to find pending and kill them 01:40:27 back 01:41:19 addTrack creates a pending transceiver 01:41:27 setRemote(offer) creates a pending transceiver 01:41:47 summary, martin & peter to work on G + F 01:41:51 addTrack adds a sender to the transceiver; setRemote(offer) adds a receiver to the transceiver 01:42:28 on rollback, transceivers are removed from the pending unless they have an active sender 01:42:48 H is needed as long as we want to be able to reject offers. 01:43:23 (this has the consequence of activateSender() being persisted 01:43:42 juberti: is that back to front? H is to now permit rejecting of offers 01:44:22 sorry, H is to not permit rejecting offers 01:44:43 H is to not permit rollback; I was making the point that that implies no rejection, which seems drastic. 01:45:22 are we taking a break, or moving to the next preso? 01:45:31 hta: can you (or someone) update the wiki page with the agenda changes? ( http://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 ) 01:46:17 mishizaw has joined #webrtc 01:56:51 Lags has joined #webrtc 01:58:23 mishizaw has joined #webrtc 02:06:22 mishizaw has joined #webrtc 02:07:46 everybody is coming back to the room, about to resume 02:08:05 stefan: next up, codec selection 02:09:22 martin: application might want to exert control over what browser negotiates 02:09:55 kinjim has joined #webrtc 02:10:41 ... I sent email to mmusic, will simulcast allow you negotiate things in one direction but not other 02:10:56 adam: were reluctant to spec that out so far. 02:11:16 martin: simulcast is asymetric 02:11:22 let's just keep it simple and be asymmetric 02:11:30 adam: don't want to make mandatory for webrtc 02:11:34 er, symmetric 02:11:52 martin: let get to the question first 02:12:18 on slide 4 02:13:24 fluffy: weird that you get list from one object and set on another 02:13:34 martin: that's why there's other slide 02:15:11 aaa: appliation is basically ordering list, what if codec is not ... 02:15:30 marting: something about hardware codec 02:16:01 fluffy: I have proposal to be in line with SDP 02:16:19 ... person that generates answer need to accept preference order of offer 02:16:38 ... order set here controls what is in offer 02:17:08 martin: question is on answer, what do you follow, spd, local setting, browser implem 02:17:28 fluffy: need to be deterministic 02:18:22 martin: should affect sdp 02:18:34 ... we working on this so we don;t have to munch sdp 02:19:45 adam: sdp is pretty thorough. order is meaningful. but both sides don't have to have same order 02:21:32 martin: reduce number of codec easy. ordering. set order of things in sdp, and when you receive sdp, you're supposed to follow sdp rules 02:21:45 ... next, alternative (slide 5) 02:22:55 peter: 2 things set availble and set order 02:24:00 martin: this is closer to getCapabilities and Prederence on sender and receiver but issue 02:25:40 martin: first option seem better way to do it 02:25:56 fluffy: with adaptations from adam 02:26:20 martin: PR might already have been merged? 02:27:08 peter: already have non active flag when no track on transceiver 02:27:56 martin: conclusion option 1, with adam interpretation of SDP. 02:28:16 martin: affect both offer and answer 02:30:00 fluffy: have to define on re-offer what you do with order. should maintain. 02:30:13 all agreed 02:30:21 martin has asked me to type into IRC that it is important to capture key discussion points in the minutes in addition to the final decisions 02:30:28 DrAlex has joined #Webrtc 02:30:37 When we do a reoffer, we maintain the previoulsy negotated ordering 02:33:10 stefan: end of morning sessions, can we sneak in soenthing before lunch break 02:33:37 conclusion is that the codec ordering determines what is put in SDP 02:34:09 Did we discuss what happens if telephone-event, CN, red, FEC, rtx appear in codec preferences? 02:34:11 SDP determines what - absent overriding preferences - a sender uses 02:34:22 Topic: Stats 02:34:29 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 02:34:30 juberti - I mentioned those as being overriding preferences 02:34:30 doing stats (originally Friday afternoon) 02:34:41 ? 02:35:05 as in if they are ordered above more useful things, then they won't get chosen just because they come first 02:35:28 I guess we could decide that these generate errors, or ordering of them are ignored 02:35:41 juberti: This is normal SDP processing — if a codec can’t encode the input media, you skip it and move on to the next thing. 02:35:43 I don't think that's particularly important to address now, we can nut that out in the PR discussion 02:36:25 vr000m has joined #webrtc 02:36:30 https://docs.google.com/presentation/d/12VCXshmaiM1W_cbJiMrhVZVNuzTaCDpJOjkJsHKEkng/edit?usp=sharing 02:36:33 well, I was wondering if we would always stuff these at the end regardless of setCodecPreferences. Agree this is small beer 02:37:19 varun: 2 updates since TPAC 2014 02:37:26 I'm happy to just echo whatever crap the application feeds us, but equally happy to require they be pushed to the back 02:37:35 varun: open issue #5 02:39:07 ... question is to knwo where to define RTCStats, in webrtc-pc or webrtc-stats 02:40:01 fluffy: stats document cpuld be considered as first official extension 02:40:11 ... base doc has base object definition 02:40:45 harald: might need to repeat definition of object 02:40:50 ... for convenience 02:41:10 geheimnis` has joined #webrtc 02:41:44 varun: stats document would stay open longer 02:42:05 fluffy: can't implement living standards. need to have one doc with mti, and then open another one 02:42:38 ... some stats normative in webrtc spec, then add more in extensions doc for stats. 02:43:11 for setCodecPreferences, we just need to ensure that ordering is maintained across reoffers, regardless of browser preferences. That prevents oscillation. 02:43:59 harald: action item for dom to share link to document on naming 02:44:07 ... for hyphen 02:44:20 varun: issue #7 02:44:32 ... PR not merged 02:45:02 "Enumeration values: Lowercase, dash-delimited " in http://w3ctag.github.io/design-principles/#casing-rules 02:45:53 ... if non controversial, go ahead and merge 02:46:03 varun: issue #11 02:46:44 RTCIceCandidateAttributeInfoStats... sounds like Java 02:46:56 ... should we add "info" to all too ? 02:47:11 martin: can't we just have "Stats" 02:48:47 mathieucitrix: don't we have some of the "static" stuff on other objects? 02:48:55 peter: we have both now 02:49:25 justin: odd we have 2 dict that have same info 02:49:38 martin: should all be interfaces 02:50:05 justin: peter can't we go use the ice objects directly and do away with stats 02:50:13 http://www.w3.org/TR/2014/WD-webrtc-stats-20141021/#icecandidate-dict* 02:50:37 bbb: can't we share same object 02:50:42 harald: no 02:51:29 martin: or have Stats interface implement RTCCandidate 02:52:03 ... not possible with dict but might be possible with interface here ? 02:52:47 justin: need to at least make them look the same 02:53:07 martin: if they're copy of each other, ok 02:53:27 peter: stats has one more field with associated turn / stun url 02:54:00 justin: stats object is also missing a field 02:54:47 martin: have stats have everything, or both have everything 02:54:58 peter: or embed? 02:55:08 harald: filed issue #31 02:55:48 martin: peter has suggestion: put address in stats, and embed RTCCandidate 02:56:19 harald: something about serializer 02:57:42 justin: remove RTCIceCandidateAttributes, and embed RTCIceCandidate in the PairStats 02:57:54 harald: lots of duplication 02:58:18 bbb: we want to avoid duplicating all that info 02:58:36 bbb=Jan-Ivar 02:59:01 s/bbb/Jan-Ivar 02:59:51 Good by me 03:00:07 fluffy: lets get rid of Attributes and Info, everybody agree, done 03:00:15 RTCIceCandidateStats and RTCIceCandidate. Sold. 03:00:20 varun: issue #13 03:00:52 fluffy: should reference IETF spec 03:01:12 harald: draft expired 2012 03:01:33 fluffy: tell to resubmit, w3c shouldn't define this stuff 03:01:52 Did we discuss #12? 03:02:06 varun: conclusion: tell magnus to put definition in active draft 03:02:16 RTCIceCandidateStats.addressSourceUrl is different than RTCIceCandidateEvent.url 03:03:00 harald: action for adam to ping magnus 03:03:12 varun: issue #16 03:04:33 martin: opposed, raise risk of app parsing and changing behavior based on content like user agent. 03:05:20 harald: should have standard way to parse info. but only if can make it useful for stats 03:10:48 martin: massive fingerprinting surface 03:11:21 mathieucitrix: can we get info of whether hardware of software decoder is used in stats 03:11:45 adam: does not belong in stats 03:12:18 fluffy: ok with one bit of info, but not in stats 03:12:32 varun: issue # 03:12:57 all: undefined 03:13:21 justin: did we discuss #12 03:13:28 varun: has already been fixed 03:13:42 justin: it's inconstitent 03:13:51 harald: noted that in issue #31 03:14:18 ((#issue 21) 03:14:47 s/#31/#21 03:15:19 fluffy: we need some stats being defined as MTI in webrtc-pc 03:16:13 varun: add new metrics. packetsDiscarded/Repaired 03:16:34 fluffy: useful, should be defined, maybe not MTI 03:16:48 justin: what does repair mean 03:16:54 varun: retransmit or fec 03:18:33 varun: process for adding new metrics ? 03:19:07 fluffy: should we bundle that with extensibility discusssion of media capture later this afternoon ? 03:19:34 ... process in IETF is you can define whatever, and anyone can chose to implement or not 03:20:03 ... so here, define, and then main doc can bring in what is deemed good 03:21:58 dan: difference with extensibility discussion later, is this is only data structure 03:22:55 fluffy: living document not ok 03:23:27 harald: want to avoid DOM experience with levels 03:24:16 fluffy: usually only adding, so new ones can go in new document 03:24:54 discussion to continue over lunch for those interested 03:25:45 jxck has joined #webrtc 03:49:33 frodek has joined #webrtc 04:01:47 jxck has joined #webrtc 04:02:50 tomoyuki has joined #webrtc 04:04:26 hta has joined #webrtc 04:08:42 oonishi has joined #webrtc 04:14:58 iwashi has joined #webrtc 04:19:50 masato has joined #webrtc 04:25:16 npdoty has joined #webrtc 04:27:29 npdoty has joined #webrtc 04:28:27 burn has joined #webrtc 04:29:03 adamR has joined #webrtc 04:30:20 vr000m has joined #webrtc 04:30:35 now. 04:30:38 fluffy has joined #webrtc 04:31:23 igarashi has joined #webrtc 04:34:49 justin: slide 2 04:35:12 juberti: slide 3 (concerns) 04:35:29 where are the slides? 04:36:14 juberti: slide 4 (consideration) 04:36:25 wonsuk has joined #webrtc 04:36:51 alan_iida has joined #webrtc 04:37:19 -> https://www.w3.org/2011/04/webrtc/wiki/images/4/4d/WebRTC_IP_Address_Privacy_TPAC_2015.pdf WebRTC IP Address Privacy slides from Justin 04:37:36 jystewart has joined #webrtc 04:37:53 mishizaw has joined #webrtc 04:38:13 ekr: DHCP reliably gives you the same IP address. 04:38:36 juberti: there are other things that can be done here, like UA fingerprinting 04:38:41 kinjim has joined #webrtc 04:38:42 ekr: agree 04:40:00 Topic: WebRTC privacy - IP address leakage 04:40:02 juberti: slide 5 (goals) 04:40:59 oonishi_ has joined #webrtc 04:41:16 ekr has joined #webrtc 04:41:29 Citation for TCP timestamp fingerprinting 04:41:41 juberti: slide 6 (restricted gathering) 04:41:53 dom has joined #webrtc 04:42:05 https://www.caida.org/publications/papers/2005/fingerprinting/KohnoBroidoClaffy05-devicefingerprinting.pdf 04:42:34 dandan has joined #webrtc 04:42:51 adamR: per address family. 04:43:09 martin: 1 address per family on that interface 04:43:36 juberti: you pick your default interface, and then gather one v4 and v6 address. 04:43:58 present+ Eric_Rescorla, Nick_Doty 04:44:00 See also: Virtual Pwned Networks 04:44:01 https://www.usenix.org/system/files/conference/foci12/foci12-final8.pdf 04:44:29 juberti: if you connect to multiple well known addresses, this may pick different interfaces 04:45:03 juberti: slide 7 (host candidates)? 04:45:54 kpfleming has joined #webrtc 04:46:04 without any user involvement? 04:46:13 juberti: allow host to host connections. because in some cases they expect it to work. 04:47:01 juberti: slide 8 (restricted gathering) 04:47:46 fluffy: VPN in enterprise case? 04:48:22 juberti: if you bind to 0.0.0.0 address, it maps to tun0 interface instead of en0 or en1. 04:48:31 did that broken ICE host-to-host example include camera/microphone user-granted permission? or was it just displaying a video, no user involvement, in the browser and so needed to support it by default? 04:48:52 fluffy: in the enterprise case it wont be a private address but an enterprise IP address. 04:48:59 juberti was referring to data channel usage (so no camera permission grant involved) 04:49:38 juberti: will the VPN provide the IP address in the same space as the enterprise address? 04:49:56 ekr: looking at the routing tables in the VPN paper. 04:50:14 wdh_ has joined #webrtc 04:50:33 fluffy: what if a company had 8.8.* address, the VPN from that company might allocate in the same space. 04:50:36 it seems like there are cases where an enterprise administrator wants local rtc to work (because they installed some video appliance) and cases where an enterprise administrator doesn't need that and would prefer a little more topology/privacy protection for their users 04:51:09 juberti: 8.8.1.2 maybe assigned by DHCP and 8.8.2.1 maybe assigned by the VPN 04:51:41 DrAlexG has joined #webrtc 04:52:07 fluffy: the address in the case of home is your home IP address and the VPN would be the enterprise address and not neccessarily RFC1918 address 04:52:40 adamR: both are possible: i.e., 1918 address and also enterprise addresses. 04:52:47 adamR: does it matter? 04:52:55 juberti: it shouldnt matter. 04:53:56 juberti: do not bother about enterprise VPN case but the privacy preserving case where the endpoint always gets a non-routable address. 04:54:11 juberti: slide 9 (Consent) 04:55:09 ekr: if you are behind the same NAT in the VPN, then you wont be able to talk to them. 04:55:23 juberti: yes, not without a TURN server 04:55:45 fluffy: but wont this affect the enterprise case as well? 04:56:04 juberti: it might hairpin if they have a routable address 04:56:32 adamR: what are we gaining or losing by cutting out all the local ip addresses. 04:57:00 ekr: need cross pairing or need to be more aggressive. 04:57:44 adamR: if this happens frequently enough. the app developers will ask for the mic just so that they get more permissive 04:58:37 juberti: for those cases, we are down to the 10% of the 10% of ... so we need to measure this. 04:59:27 adamR: you cannot assume that there is a need for TURN and this may cause a lot hairpining in cases where it should have gone through some IP address but the default was incorrect. 04:59:53 fluffy: there are use-cases, like gaming where having TURN might be too high a bar to entry 05:00:32 ekr: what would be the concern of not sharing all the 1918 addresses? 05:00:32 jxck has joined #webrtc 05:00:42 juberti: this is more complex to explain 05:01:33 ekr: we have 3 options: 1) do nothing 2) do what justin suggested, and measure, 3) be more aggressive, measure, and turn off. 05:01:34 can users configure if they're expecting to reach something on the local network? 05:02:13 fluffy: getting default addresses in some OSes is not clear 05:02:35 martint: we use a well known ipaddress, for example 8.8.8.8 05:02:55 kinjim has joined #webrtc 05:03:14 fluffy: there is no need for it to be routable, you are just querying your routing table. 05:03:52 martint: but can also use the STUN/TURN server, as they already know the client's ipaddress, which should be the same 05:04:12 mathieu: what is the difference between address families? 05:04:42 ekr: we bind to different v4/v6 address, and we just use the default addresses returned by that. 05:05:11 martint: so the reason I mentioned, where you have two interfaces and this might not be ideal? 05:05:31 ekr: that should not be a problem, because it may be revealed nonetheless 05:06:27 ekr: we would like to get general consensus on which set of addresses we do need. i.e., the default addresses that we specify here should work 05:07:14 fluffy: in enterprise VPN might not be the default route because it might just needed the address for content inside the enterprise 05:07:48 adamR: if the assertion is that this is too hard to specify, I volunteer to explain this 05:08:11 petert: this is not just specifying but explaining that to the community 05:08:32 kpfleming has joined #webrtc 05:08:45 adamR: we are revealing one, more addresses should have the same properties 05:08:56 juberti: but this is not true 05:09:35 mathieu: the VPN tend to rotate the IP addresses, so these are not statically bound to an endpoint 05:10:27 martint: we adopt the strategy outlined here, then we measure. We should also do the 1918 addresses, then we measure. we measure the difference, and verify the fingerprinting. and then decide 05:11:12 fluffy: the statistical significance because the affected population is so small, it might be lost in the noise 05:11:32 does this depend a lot on the configuration of the VPN and the applications in use by a particular enterprise? 05:11:33 adamR: I agree that we wont know who got lost. 05:11:52 why doesn't the enterprise administrator decides what matters to them? 05:11:53 q+ 05:12:36 Zakim has joined #webrtc 05:12:43 juberti: why dont we go out and measure. we should make sure that we observe or not observe the hypothesis 05:12:45 toddg has joined #webrtc 05:12:45 Zakim, q+ npdoty 05:12:45 I see npdoty on the speaker queue 05:13:27 ack npdoty 05:13:27 juberti: if someone wants to make a counter proposal, I can have a look at it. 05:14:13 DrAlexG has joined #webrtc 05:14:16 npdoty: my enterprise uses many datachannels, I tell my browsers to get all IP addresses and if not then i tell them to restrict it 05:15:10 ekr: we already have a filter which does pair v4 with v4 and v6 with v6. we can do pairing of private with private 05:16:29 shijun: we notice that most people will click the permission in the case and remember it. 05:17:05 juberti: the application in this case can do ICE restart. We already agreed to also do TURN first. We could do ice restart after the permission is granted 05:17:32 martint: this is exactly trade off we are making here. 05:18:48 shijun: we can from an implementation, we can gather all the candidates, and not fire the event if there is restrictions, and when permissions are granted then you can have all of the candidates. 05:19:02 jesup: what is the impact on warmup 05:19:29 juberti: we start with TURN, this might make things faster in some scenarios. 05:20:06 jesup: wasnt the idea of warmup that you can send data via low latency and not have to change from TURN to something better. 05:21:07 juberti: actually opposite is true, because in the warmup case you want to start with quick choices, then make the transition. In the case of TURN privacy case, it would be TURN nonetheless. callee privacy use-case 05:21:20 fluffy: you brought up ICE restart, what would be the concern 05:21:43 juberti: there is no concern because there is a make before break, so no problem here 05:22:23 baboba: TURN sets up quicker on average, our measurements show that. 05:22:52 jesup: my concern is what should the consent question read? 05:23:07 juberti: we have not found something yet. 05:23:27 Bernard has joined #webrtc 05:23:28 martint: we do not have enough space to explain this. perhaps a learn more. 05:23:57 juberti: slide 10 (force proxy) 05:23:58 i/justin: slide2/Scribe: vr000m/ 05:24:20 "More info" or "Learn more" could try to explain that this is revealing information about your local network, for example, if you use a VPN or certain kinds of proxies 05:24:25 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 05:25:30 linemany has joined #webrtc 05:25:30 i/justin: slide2/Scribe: vr000m 05:25:37 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 05:26:54 juberti: slide 11 (proposals) 05:27:13 juberti: if you have consent, you expose everything. 05:27:55 juberti: if you do not have consent, make sure it works, and no VPN addresses are exposed, and not anything else. Just a single host candidate for each family 05:28:21 i/now./Scribe: vr000m/ 05:28:25 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 05:28:46 juberti: there are additional modes, for example via extensions or user/browser prefs. In this case you do not expose host candidates 05:29:01 juberti: the last case, we clamp to TCP 05:29:05 mishizaw has joined #webrtc 05:29:30 dom: this is not best practice but specify this as thing for everyone to do. 05:29:50 juberti: what ever makes sense. specify or best practice 05:30:00 adamR: we should still do the measurement 05:31:10 adamR: i.e., differential gathering. use all 1918 addresses. Ted's variant of (2) 05:31:39 juberti: we can measure between 1) current default and 2) new restrictions. We do not know how much energy to implement Ted's variant of (2) 05:32:06 adamR: my intuition is that there would be non-trivial difference between the 3 approaches. 05:32:29 juberti: we need to do measurements, and then discuss before we close this matter 05:33:04 burn: when you mean consent, you mean gUM consent 05:33:35 kinjim has joined #webrtc 05:33:44 burn: for example I goto netflix and they ask me for permission and I give it 05:34:09 burn: then I come to Japan, and it wont ask for permission 05:34:28 depending on whether the browser persists permission for access to your camera and microphone 05:34:33 martint: this is an issue with persistent permission 05:35:56 burn: gUM permissions is for accessing the media capture but now these consents are for transport. Want to make sure this is the case 05:36:30 dom: in seattle, we talked about network consent. I dont know if we are extending the consent 05:36:49 igarashi_ has joined #webrtc 05:37:32 fluffy: the exact thing that drove this is the advertising pixel. But this is a problem with third party thing 05:37:42 that script on the NYTimes was presumably not Google or Facebook, so it's certainly still relevant 05:38:16 juberti: we just wanted to make sure the the NYTimes thing does not happen again 05:39:01 when I raised this comment, I was told that embedded iframes of "calltechsupport.com" would expect permission to extend 05:39:02 wseltzer has joined #webrtc 05:39:23 ekr: what are the properties we want here? should this be top level or not? 05:40:24 martint: this is not the right context to reopen an old issue. this was discussed before. this is not a bad idea. 05:40:39 ekr: this was proposed 4 years ago and there was push back on it 05:40:55 fluffy: there was a demo in france, that showed the use case for allowing this. 05:41:24 jan-ivar: you can bring up the permission dialog again for each I-frame. 05:41:31 from Privacy Interest Group comment earlier: "Top-level origin/embedded origin pairs, for example, might be a useful model, as in some implementations of Geolocation." 05:41:46 yes, double-keying permission 05:42:03 ekr: are you suggesting that they ask the permission for each I-frame 05:42:55 jan-ivar: well that is up to the implementation. Do not need to do that. perhaps one for facebook.com and one for the I-frames using facebook. We could have different permissions for those two cases 05:43:14 martint: call permissions API each time 05:43:56 http://seclab.stanford.edu/websec/framebusting/framebust.pdf 05:44:21 martint: justin wanted the top-level to have access to the permissions. 05:46:24 ekr: non-safe behaviour if a random I-frame on a website accesses the camera, it would be bad to say it was the website was trying to get access 05:46:59 juberti: well if you are at foo.com, it would be odd to get a permission that bar.com is asking for permission 05:47:44 [I think the end result with that these sites will require to do camera-based avatars or something] 05:47:56 if it were a separate permission, could we explain to users what they were going to reveal? 05:48:17 jesup: this is going to cause data channel developers some concern, because they might want to have more IP addresses, and they will ask for media permissions. Then the users are going to be confused why the data channel apps are asking for audio/video 05:49:15 npdoty, when I chatted with ted hardie back in Seattle, he thought that was achievable (e.g. "do you want to share your network location with foo.com?") 05:49:16 juberti: we want to dissuade developers of datachannel apps to ask for media consent. There is one network interface in the restricted gathering, so that should be sufficient. 05:50:32 stefanh: how do we conclude this discussion? 05:50:51 martint: the concerns with all the local addresses needs to be done 05:51:13 martint: we should take justin's proposal and also the permission prompt for now and see what we can do with this. 05:51:50 juberti: we will learn from experience. and we hope to answer these questions in a relatively small amount of time 05:52:10 dom: how do we incorporate this in the spec. 05:52:56 juberti: we wrote up an I-D, is available. it can be copied into jsep or here in this draft. 05:53:28 (copied into the w3c spec, jsep, or security doc) 05:53:40 dom, not that it's impossible, but that everyone is likely to be confused by it, and answer in a way that isn't necessarily tied to what they want or what is good for them 05:53:44 fluffy: as rtcweb chair, does it make sense that we split this into the security considersations draft, jsep and reference these in the w3c spec. 05:55:05 wonsuk has joined #webrtc 05:55:16 change scribe 05:55:19 fluffy: socialize this next week at the IETF with the relavant parties 05:55:24 ScribeNick: DrAlexG 05:55:25 Topic: Simulcast control 05:55:35 simulcast fever starts now. 05:55:36 plan X 05:55:46 peter: plan X example 05:56:17 -> https://www.w3.org/2011/04/webrtc/wiki/images/e/e3/Simulcast_at_TPAC_2015.pdf Simulcast control slides 05:56:45 peter: here is how you set up a transceiver, with the mapping between the RID (see MMUSIC multicast SDP) and the corresponding resolution scales ... 05:57:35 peter: once this is done, ou create your offer, the entire JSEP dance, and if you look at your parameters after, you should see the result 05:57:49 shing: what happen if it gets rejected ? 05:57:57 peter: then you don t see it 05:58:11 fluffy: question to remember later 05:58:24 peter: if all goes well in the IETF, this is what the SDP looks like 05:58:50 mathieu: so the scales are not in the sip? 05:58:52 toddg has left #webrtc 05:58:55 toddg has joined #webrtc 05:58:58 peter: correct, there is nothing like that in the sdp 05:59:08 martin: question for later 05:59:27 peter: there is a risk that IETF will not deliver in time, in that case, we need a contingency plan. 05:59:35 05:59:35 frodek has joined #webrtc 06:00:08 06:00:26 06:00:38 mishizaw has joined #webrtc 06:00:44 06:00:48 06:01:55 peter: reading the sentence about problems that can arise when you send multiple stream the remote party is not ready for. 06:02:02 kpfleming has joined #webrtc 06:02:29 peter: the idea is to SIGNAL the information (without SDP because IETF would not have deliver in time) 06:03:03 fluffy: intend might be misinterpreted by IETF 06:03:19 adam: no, we want to have a safety net if we have nothing. 06:03:40 adma: moreover: since you would have everything define on wire, and only the signaling is the problem, you can always polyfill 06:03:52 fluffy: don t you have a problem at the RTP header level 06:04:06 adam: no, we can have that nailed down. this is a pure signaling problem 06:04:08 fluffy, ok then 06:04:11 peter: next slide 06:04:40 peter: either way, there will be *an* api to send multiple things using the RID header extension 06:04:51 peter: there will NOT be an API for PT based simulcast 06:05:11 peter: there will NOT be any API mapping for max-width, and some other attribute 06:05:44 peter: browser may support more advanced form of simulcast, but only the RID part, with header extension will be mandatory 06:06:24 fluffy: i have a use case, very simple, where people use different devices, like mobile, with different form factors, and limiting ourselves to scales of 2 is problematic to say the least. 06:06:29 ekr: fair 06:06:38 peter: two things: size and aspect ratio 06:06:55 peter: you can always change the size by applying constraints on a track 06:07:02 peter: aspect ratio is more ...... 06:07:30 fluffy: i couldn t care less how I do it, but I need to be able to specify three specific resolutions for example in JS 06:08:00 fluffy: through contsraints, I can only pass hints. It's surprisingly difficult to get exacting three resolutions. 06:08:20 adam: the JS knows the size of the track, not on the wire after it s encrypted. 06:08:42 all: GetSettings will show you the ACTUAL resolution (not the constraint) 06:09:14 Present+ Andreas_Pehrson 06:09:28 mathieu: why simulcast and not streams in parallel 06:10:01 fluffy: we need timing information to be consistent 06:10:10 peter: can we go back to the example slide? 06:11:12 fluffy: there for example, I don't want integer numbers for the scales, and i want to be able to scale them separately, so I can change the aspect ratio. 06:11:30 wydong_CM has joined #webrtc 06:11:40 peter: that is orthogonal to what we are doing here for simulcast, because it applies to non-simulcast cases. 06:12:31 ekr has joined #webrtc 06:12:31 adam: I would add the blacks bars at rendering time, instead of adding them before encoding, and sending them on the wire, and paying the bandwidth price. 06:12:37 ekr: he wants to crop on send :D 06:12:57 Sending black bars is a waste of bits.... as we all know. 06:12:57 Do we need this for 1.0? 06:13:06 fluffy: use case: full res iphone screen phone factor, low res square, we expect the square to be a crop. 06:13:35 ekr: I do not think we have decided on that. I assume that we never lose data, which means, we don t crop, we add black bars. 06:13:48 06:13:56 fluffy: fair enough, my use case still stands. 06:14:13 dan: it s a good valid use case. 06:14:43 ekr: if we crop, which part do we keep ? 06:14:49 fluffy: center 06:14:53 peter: left 06:15:30 ekr: that s a new parameter we would need to add. Cropping is not simple, and merely giving the size of the remaining window would;t be enough. 06:15:36 ekr has joined #webrtc 06:16:44 ekr: you re not going to make a big difference by shaving bits off the thumbnail. 06:17:10 ekr: we might want to do this on the big guy [high res track], that would make sense, but certainly not the low res. 06:17:25 fluffy: lots of people want to do simulcast by setting bitrates 06:17:43 peter: not shown in examples, but existing parameters can all be set here, including bandwidth 06:17:53 fluffy: ok, then what would be missing to achieve my use case? 06:18:10 peter: like what/ 06:18:17 fluffy: what was in the RID draft 06:18:38 fluffy: is there anything else that anybody would have asked for. Are you confident that you are ready? 06:19:10 peter: some are missing here, because we set them on the track. Those are not encoding parameters, and we do not want to duplicate parameters all over the place. 06:19:37 fluffy: what about max pixels per second for example. That would be set per simulcast stream. How would I do that? 06:19:54 peter: if there is no encoding parameters, this is not the place to set them. set them on tracks 06:20:08 peter: in this case, you really can t set them. 06:20:29 peter: i propose we go with what we have, and for any new parameters we discuss about them. 06:20:31 vr000m has joined #webrtc 06:20:43 shijun: also, make the scale parameter a double. 06:21:04 fluffy: it s a good point if I known the frame, otherwise, it does not help. 06:21:22 pehrsons has joined #webrtc 06:21:44 peter: i believe that back at the face 2 face, we agreed that the resolution thing was the fundamental thing for 1.0 06:22:11 fluffy: i do not remember that. We are where we are, now i m asking: why can t we put the bitrate here? 06:22:33 stefan: I came out of the f2f meeting saying: let s be practical, stop adding things, and deliver now 06:22:49 fluffy: this is a very concrete proposal that was around for a lot of time. 06:23:27 fluffy: now, I would challenge you if you were, as a chair , saying that it was the consensus of the room after seattle, that it was not the case. 06:23:42 peter: let s get consensus on this right now, and then we propose new things. 06:24:42 ekr: it seems like a fine general structure, and i m ok as long as we are not closing the discussion about what gets in for 1.0 06:24:59 peter: i would like to avoid dragging the discussion so long that we don t deliver. 06:25:12 ekr: let's validate the structure first, the content after 06:25:38 shijun: what s your proposal for new content )bitrate)? 06:26:54 DrAlexG_ has joined #webrtc 06:27:33 stefan: at the last meeting we did say that we were drawing the lane. 06:27:45 line 06:28:24 dom: this is indeed my remembering, we could also point to several email setting this expectation for the seattle meeting. 06:28:41 YusukeNakaya_ has joined #webrtc 06:29:07 dom: i also do remember that the only question was about simulcast, and one of the condition was that it could happen in time for TPAC because we wanted to close 06:30:32 dom: i feel like I'm hearing a consensus about the structure. 06:31:13 fluffy: there are really two ways. I m fine with the current approach, as long as it gives us capacity to add more attribute. If that s it, then that s no tit for me. 06:31:46 dom: based on my raw feeling of the room, there seems to be a rough consensus about it because it s reasonable enough 06:31:57 dom: to be fair your cropping use case might not fit. 06:32:27 06:32:46 06:33:03 06:33:46 06:34:16 and .... peter is back 06:34:27 peter: minor questions slide 06:34:30 mreavy_ has joined #webrtc 06:34:49 peter: 1. should the JS be able to set RID? 06:35:21 peter: 2. Should we just use RtpSender.setParameters() instead of sendEncodings() 06:35:33 peter: 3. Can a browser receive simulcast? 06:35:53 adambe has joined #webrtc 06:37:53 First, Do No Harm to the Internet 06:38:15 06:38:53 06:39:22 fluffy: just let the browser handle it, unless anybody feels strongly about it. 06:40:16 adam: ok guys, break is over: is anybody against browser picking it? 06:40:36 fluffy: bernard are you o with that? what s the status in ORTC 06:41:01 bernard: well, i would prefer it the JS to set it, but then, i wouldn't want to give people the tentation to write shakespeare in this field. 06:41:14 adam: where is the access for this? 06:41:38 peter: sender.setParameter(), which does not exist before you actually have a first set. 06:42:45 [adam: i would prefer to avoid an extra Round trip for the negotiation. 06:43:19 06:44:20 06:44:33 peter: ok JS picks, no more than 16 characters 06:44:45 martin: not unicode please 06:45:22 peter: A~&, 0~9, both cases 06:45:24 all: good 06:45:32 question 2 06:45:39 peter: 2. Should we just use RtpSender.setParameters() instead of sendEncodings() 06:46:03 06:46:11 peter: ok so let s keep what we have. 06:46:18 peter: 3. Can a browser receive simulcast? 06:46:42 adam: out of scope for 1.0 ? 06:48:18 06:49:27 adam: in the SFU case, the browser always gets only one stream anyway 06:50:00 all: even if you send several streams from media server to browser, you can consider them as separate stream. 06:50:38 dan: coffee disapears in 10mn 06:50:44 adam: it s bad coffee anyway 06:50:49 ekr: that answers our question 06:50:52 stefan: ok coffee 06:51:10 stefan: when we re back, it will be user media work 06:51:20 stefan; [not webrtc anymore] 06:52:33 wdh__ has joined #webrtc 06:55:33 tomoyuki has joined #webrtc 07:07:50 ekr has joined #webrtc 07:07:53 npdoty has joined #webrtc 07:08:32 masato has joined #webrtc 07:08:42 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 07:09:33 alan_iida has joined #webrtc 07:10:08 jib has joined #webrtc 07:10:25 oonishi has joined #webrtc 07:10:42 scribe: vivien 07:10:59 Topic: gUM: Results of Constraints registry vote, and implications thereof 07:11:10 scribenick: vivien 07:11:17 dom: PR related to removal of IANA registry 07:12:03 ... I also moved the related section of description of constraints (it was before in a sudo APPENDIX) 07:12:27 ... mostly editorial changes 07:12:35 DrAlexG has joined #webrtc 07:12:49 07:12:53 cullen: it does not quite answer the question, how does extensibility works now ? 07:13:08 dom: right, but not part of this PR, dan will talk about that 07:13:36 katashin has joined #webrtc 07:13:49 martin: is this plan to merge this and talk about the issues Dan will raise ? 07:14:09 dom: yes 07:14:39 martin: goal is to address the last call comment question 07:15:11 Topic: gUM issue 244 Extensibility 07:15:54 burn: Anssi gave 2 links as extensibility examples 07:16:08 -> https://github.com/w3c/mediacapture-main/issues/244 Issue #244 07:16:18 burn: example of sensors API 07:16:30 ... how you should name sub classes and so on 07:16:43 tomoyuki has joined #webrtc 07:16:49 burn: we coudl go to this level if we want, but this seems more detailed than what we need 07:17:10 ... currently the PR is only 3 paragraphs we could extent 07:17:25 YusukeNakaya has joined #webrtc 07:18:22 -> https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#extensibility Service Workers extensibility section 07:18:48 burn: it says this are the precise extensibility points, we need to do some of that but should be more general 07:19:27 martin: good to explain the structure as otherwise you will make it wrong 07:20:11 burn: here it is a "may" 07:20:23 mishizaw has joined #webrtc 07:20:46 cullen: what does the name specification mean here ? 07:20:52 burn: it is a good section 07:21:00 s/section/question/ 07:21:25 burn: (reading the proposed text in #244) 07:22:19 ekr: this is to distinguish new version of the spec from extension specifications ? 07:22:24 burn: right 07:23:29 burn: if you want to put new requirements on the core spec you will have to contact the maintainer of the core spec 07:24:35 burn: this is very generic stuff, to explain how we care about extension specs 07:25:03 dom: @@dom also the notion of isolated streams, so need to look if we are breaking our own rules here 07:25:37 martin: regarding values for attributes that probably falls to the last category 07:25:57 dom: default behavior for a browser that don't imple 07:26:07 ... ment the extension is @@dom2 07:27:05 burn: if you add new value, the 4th bullet applies, so your document has to document expected interoperation of implementation that don't support it 07:27:25 martin: I suggest we remove attributes value as impossible to check 07:27:46 jan-ivar: this is the reason why we are using @@jiv and not DOMString 07:28:20 martin: issue with facing mode 07:28:55 martin: kind of OK for constraints that have a default 07:30:04 martin: eg. extending the range of an integer value would be problematic 07:30:25 jan-ivar: are we saying we can change anything that was written in the WebIDL ? 07:30:34 vr000m has joined #webrtc 07:30:52 cullen: in W3C I think it means a W3C specification 07:31:56 burn: example of the depth spec, which came up from introduction of a new type besides audio and video including new attributes 07:32:26 cullen: I think we want to discuss mainly adding new constraints 07:32:42 burn: this text is because wanting to do an extension 07:32:58 jan-ivar: then you don't need attribute values 07:33:13 burn: you need it for the "kind" attribute 07:33:24 jan-ivar: is that a DOMString ? 07:33:26 burn: yes 07:33:55 burn: is your point that attributes whose values need to be extended would be on us ? 07:34:22 martin: my expectations was that it would be limited to constraints 07:34:50 dom: cases where enum was not appropriate and were we used DOMString 07:35:10 stefan: Nigel was not only into constraints 07:35:30 burn: current text was my initial thinking 07:35:44 martin: we can call kind explicitely 07:36:07 dom: the requirements imposed by WebIDL and the pros 07:36:18 burn: (reading definition of kind) 07:37:13 dom: we are saying if you are a video mediastreamtrack your kind should be video, not exaplaining what it should be for a new type of mediastream track 07:37:35 burn: this what I did not want to describe as we cannot predict 07:37:52 dom: we have a concrete to learn from, goal is to provide guidance 07:38:12 burn: at a minimal you need to add a new value for kind 07:38:23 martin: define what type it consumes and returns 07:38:25 vr000m has joined #webrtc 07:38:28 YusukeNakayaJP has joined #webrtc 07:38:37 dom: depth is a good example to learn from 07:39:26 martin: may we say 2 subs-sections if you want to define a new constraints, and if you want to define a new type of track 07:39:44 burn: nigel by reading the spec thought it was not possible to extend the spec 07:40:05 burn: agree with martin 07:40:23 burn: indicate the webIDL change needed 07:41:10 jan-ivar: I am worried we can extend any WebIDL is too broad 07:41:31 martin: suggestion was follow the rules WebIDL is establishing nothing more 07:41:53 jan-ivar: I thought we can formulate this differently 07:42:05 burn: imprtant to say what you are not allowed to do 07:42:14 martin: I think it is the most important part 07:42:28 cullen: it is fine but people will ignore it 07:43:02 dom: it is a matter of awareness and guiding 07:43:23 burn: then it can be done as additional guidance 07:44:12 dom: if you make that a requirement then you will have to indicate you have 2 implications of this requirements during CR 07:44:27 martin: we have unittests that cover some of this 07:44:57 dom: we could say "Don't be dumb, don't be harm to the Web" without saying a MUST 07:45:08 s/be harm/do harm/ 07:45:32 burn: 3rd and 4th bullets are requirements on the extension specifications 07:45:53 dom: you are making writers of extension spec implementors of this section 07:46:18 cullen: I think we are missing critical point: adding new constraints 07:46:27 ... how to get a code point 07:47:47 martin: would you prefer to define what specification means here ? 07:47:58 W3C has a specific definition of "Recommendation", but I don't think it does for "specification" 07:48:37 dom: any other JS API have been extended either in W3C CGs or oustide of W3C 07:49:16 dom: again I think what we want is tfor additionnal constraints to be implemented, and you don't want constraints to reuse names 07:49:21 kpfleming has joined #webrtc 07:49:25 cullen: how do we stop name collision 07:49:51 dom: traditional way, eg when you had it on mozilla trunk you will get a compilation error 07:50:42 ekr: is a name reservation by the browsers enough ? 07:51:11 ... if something is put on a personnal website that does not count right ? 07:51:53 dom: in CSS they say when something as not reach CR don't put it in the world, you use prefix when it is experimental 07:52:48 cullen: some devices have specific constraints that will not be reused elsewhere 07:53:00 for link relation values, we just point to a wiki 07:53:18 http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions 07:53:25 cullen: example of telepresence constraints 07:54:23 dom: you have to be careful on the name you pick so something specific to telepresence 07:55:39 dom: if cisco wants to have cooperation with other products it will have to discuss with those vendors first to have success 07:55:56 ekr: I thought there was a way to register a code point 07:56:18 s/there was/we wanted/ 07:56:36 dom: if you want interop the cost is higher 07:57:12 dom: for things you want high interoperability we can learn from what CSS has done 07:57:34 cullen: when we ship thing it is because it works 07:58:04 dom: but the question is it is inter-operable 07:58:11 adamR: @@adamR 07:58:53 jan-ivar: how is it different from writing a spec where I extend a partial dictionnary 07:59:02 q+ on html link rel registration 07:59:03 ekr: because here we discuss a simple case 07:59:22 dom: jan-ivar says why is it a constraints on not for CSS ? 07:59:30 giri: I agree with jan-ivar 08:00:03 ... for mediastram depth extension they take it to the W3C process to ensure interoperability 08:00:09 s/@@adamR/How could we deal with two uses of unprefixed names that end up meaning different things? As an example, if one vendor decided to call something “audioOffset” that talks about the position of a microphone on a soundstage, and someone else calls something else “audioOffset” to mean a timestamp offset into an audio stream, the resulting conflict is irreconcilable./ 08:00:53 cullen: let's say we want to add white balance, classic on telepresence 08:01:22 cullen: sure we can work with polycom, pb is that it is not an open source development 08:01:48 ... w3c could say we assign you 08:01:59 s/you/you ZZZ/ 08:02:22 cullen: how do you know that when you ship your product you are not going to get screwed ? 08:03:12 jan-ivar: isn't the screen sharing implementations of chrome and firefox implementing different specs 08:03:28 giri: @@giri 08:03:48 burn: you have said we don't need a registry can you explain more 08:04:10 martin: it is an authority issue, who as controle here W3C or ... ? 08:04:50 martin: for white balance we did not say no but not now 08:04:58 cullen: that was 4 years ago 08:05:36 ekr: the guarantee you want is to have a code point reservation 08:05:46 ... what is the bar to reach that ? 08:06:18 martin: we talked about github repo, cg, bringing stuff to this group, ... 08:07:04 dom: my thinking was that peopel using a prefix for things that don't hit the wide web 08:07:10 martin: 'x-' 08:07:30 dom: -cisco-foo 08:08:11 ekr: @@ekr2 08:08:59 npdoty: HTML had this pb for link relations, they were first using IANA and found the process to heavy, so they went to a simple wiki 08:09:28 dom: link rel don't have interoperable issues so a different problem 08:09:38 mishizaw has joined #webrtc 08:10:18 ekr: @@@ekr3 08:10:33 martin: the pb is the discoverabilty of others people names 08:11:02 ... can be as simple as a web search 08:11:28 cullen: I was not successful doing that in the past 08:12:17 vr000m has joined #webrtc 08:13:26 vivien: here we are talking about referencing a wiki page, this is similar to a registry and we voted not 08:13:37 ... so anyone is free to create that wiki page 08:13:51 stefan: it will simply not be referenced from the spec 08:14:22 q- 08:14:38 HTML5 describes how to add a link type here: http://www.w3.org/TR/html5/links.html#other-link-types 08:14:55 cullen: does the W3C would commit to not using names from that list ? 08:15:05 jan-ivar: that sounds like a registry 08:15:50 ekr: CR does, what else does ? 08:16:18 cullen: I am goin to implement this extension and want to make sure to reserve to not have a conflict 08:16:27 wikis are a good way to prevent accidental overlap. almost nothing can prevent intentional conflicts 08:17:07 ekr: @@@ekr4 08:17:39 ekr, can you write down what you are saying, you are talking way fatser than by yping or even my brain 08:19:52 martin: I think cullen pb is ensure that the community knows aboiut cullen we don't want to block all use cases 08:21:04 cullen: @@cullen3 08:22:05 nick: as a process manner it is difficult for the W3C to constraints other developments 08:22:50 martin: we could say if people are aware of usage of some names then they should not reuse names 08:23:21 Key thig is this community (the WG) agrees that if someone comes and gets a code point for a constraint in a given way, then this standards orgnaiaiton is not going to stomp on it 08:23:34 ekr: reserving a code point require a W3C REC high cost, or a W3C CG 08:24:06 cullen: you need to inform people 08:24:21 ekr: can people notify public-webrtc list ? 08:24:23 cullen: sure 08:25:12 martin: sounds good 08:25:54 nick: you can't have commitment from the entire consortium unless you go in front the AC 08:26:21 martin: we would write it in the right way 08:26:42 stefan: sounds we ahve rough consensus how do we move forward 08:27:30 martin: I suggest dan write a first version adding guidance on notifying the WG for new extensions 08:27:40 stefan: ok we have a plan 08:28:01 RRSAgent, draft minutes 08:28:01 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html wydong_CM 08:28:26 Topic: gUM status of Last Call Comments 08:28:40 stefan: we had 19 comments after the deadline, now done to 1 08:28:57 ... last one from justin, which should be resolved when we merge dom's PR 08:29:04 martin: ok done ! 08:29:26 burn: we can wait till we merge the PR than answer and close this 08:29:44 stefan: after that we had comments coming after that 08:30:02 mathieucitrix: isn't there some ongoing privacy issues ? 08:30:10 brun: yes with nick 08:30:18 s/brun/burn/ 08:30:44 burn: should we create issue based on nick's email ? 08:31:19 stefan: I have not read the full thread but we discussed part of this today with the iframe issue 08:31:38 nick: I don't see some of the reported issues 08:31:55 https://github.com/w3c/mediacapture-main/issues/244#issuecomment-152111790 08:31:56 stefan: we ask people to send them as github issues 08:32:32 burn: yes usually we let the discussion happen then the chairs ask the reporter to fill an issue 08:32:51 stefan: will you file an issue(s) ? 08:33:11 nick: there are sperate issues in that thread, do you want me to fill multiple ones ? 08:33:19 stefan: yes 08:33:28 martin: this ensure we don't miss anything 08:34:03 ekr is always awake enough to discuss security, it sounds like 08:34:07 ACTION: npdoty to fill in github the various privacy issues he reported 08:34:07 Error finding 'npdoty'. You can review and register nicknames at . 08:35:53 nick: most important 1) iframe 2) programmatic way for sites to revoke permission or for site to indicate a permission should not be persistent 08:37:24 nick: ekr I understand you discussed that previously my alternative where: say this is one time only, and possibility to revoke a persistent permission 08:38:44 shinjoun: regarding the iframe, if the domain is the same as the parent page, this is something to think about 08:39:02 s/shinjoun/shinjun/ 08:39:25 nick: sounds like the chrome implementation is fine 08:39:34 martin: this is what I proposed 08:40:29 martin: (looking at options outlined in issue #267) 08:41:35 npdoty has joined #webrtc 08:41:46 ekr: 4. is not a pain to implement for us 08:41:54 YusukeNakaya_ has joined #webrtc 08:42:03 YusukeNakayaJP has joined #webrtc 08:42:14 cullen: one use case is call centers 08:42:27 ekr: yes you might only use the service once or twice a year 08:42:46 mathieucitrix: yes the user would expect this 08:43:19 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 08:43:33 cullen: I think 4. is the most realistic 08:43:42 martin: I'm with you fluffy 08:44:06 ekr: the browser would decide 08:44:36 mathieucitrix: no because my application would work differently on different browsers 08:44:51 mathieucitrix: for me option 6. is a no go 08:46:06 mathieucitrix: I would prefer not 6. for the reason expalined by fluffy and mathieucitrix 08:46:59 ekr: I don't see a lot of value for sites to be able to revoke permissions 08:47:39 ekr: the use case is if you are worried for the privacy of your users 08:47:45 s/ekr:/nick:/ 08:48:18 nick: if it is uncommon but helps a lot of users (eg used by gravatar) it is great 08:48:39 dom: it is fair to say if chrome did not have the defaults to persist permission on https 08:48:57 "The API MUST provide a mechanism for the requesting 08:48:57 JS to indicate which of these forms of permissions it is 08:48:57 requesting. This allows the browser client to know what sort of 08:48:57 user interface experience to provide to the user, including what 08:48:59 permissions to request from the user and hence what to enforce 08:48:59 later. For instance, browsers might display a non-invasive door 08:48:59 hanger ("some features of this site may not work..." when asking 08:49:00 for long-term permissions) but a more invasive UI ("here is your 08:49:00 own video") for single-call permissions. The API MAY grant weaker 08:49:00 permissions than the JS asked for if the user chooses to authorize 08:49:01 only those permissions, but if it intends to grant stronger ones 08:49:01 it SHOULD display the appropriate UI for those permissions and 08:49:01 " 08:49:26 ekr: I pasted what is the requirement in the specification 08:49:30 s/ persist permission on https/ persist permission on https, we would not have that conversation/ 08:50:35 varun: if you relaod the page will it ask again ? 08:50:47 ekr: firefox does, chrome doesn't 08:51:03 my only new information is the suggestions of alternative API designs: oneTimeOnly=true, or a revoke() method 08:51:29 dom: I think the firefox model is better here, it is better for privacy 08:52:09 martin: google folks are well aware it is a point of differenciation between browsers 08:52:14 victor_pascual has joined #webrtc 08:52:34 mathieucitrix: we are not removing this from browsers just letting application developpers chose 08:52:58 martin: if the option changes it would be confusing to the user 08:53:32 jystewart has joined #webrtc 08:53:55 martin: browser developers are very sensitive in trying to protect their users 08:54:29 Thread starts here: https://lists.w3.org/Archives/Public/public-media-capture/2015Mar/0001.html 08:54:39 nick: when I raised the issue it was more that some site developers might feel in an uncomfortable situation if the permission is being persisted 08:54:51 nick: sites might know things that you don't 08:55:21 nick: I am providing suggestion to the group 08:55:31 mishizaw has joined #webrtc 08:57:23 (firefox team looking over at chrome options) 08:58:04 s/chrome options/clear site data spec/ 08:59:17 wonsuk has joined #webrtc 08:59:36 cullen: maybe revoke is one form for this 08:59:52 jystewart has left #webrtc 09:00:14 cullen: if their is a revoke in the permissions API we can rely on that too but too me it feels like a bad idea 09:00:27 katashin_ has joined #webrtc 09:00:45 dom: so if gUM permissions belongs to the Permissions API this solve the discussion 09:00:54 dom: they do have a revoke API 09:01:18 ekr: if revoke is a good idea... 09:01:30 dom: the logout use case sounds good 09:02:41 dom: how do we proceed are we exploring the Permissions API approach ? 09:03:09 martin: I don't think we reached consensus on @@mt1 09:03:36 ... for revoke we can follow webapps work so if they think it is a good idea 09:03:59 dom: nick you that satisfy your comment ? 09:04:19 nick: @@npdoty 09:05:11 nick: it will be hard to get the group satisfied if your answer is it maybe it would be handled by the webapps group 09:05:18 wydong_CM has joined #webrtc 09:05:27 stefan: sounds like a good answer if we leave that to the experts 09:05:36 rssagent, draft minutes 09:05:49 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 09:13:38 wonsuk has joined #webrtc 09:34:25 npdoty has joined #webrtc 09:35:10 npdoty has left #webrtc 09:43:13 kpfleming has joined #webrtc 10:08:31 hta has joined #webrtc 10:44:51 kpfleming has joined #webrtc 11:27:27 victor_pascual has joined #webrtc 12:06:44 mishizaw has joined #webrtc 12:18:04 iwashi has joined #webrtc 12:48:26 hta has joined #webrtc 13:04:46 hta has joined #webrtc 13:11:04 hta has joined #webrtc 13:13:58 hta has joined #webrtc 13:17:11 hta1 has joined #webrtc 13:27:17 hta has joined #webrtc 13:39:26 hta has joined #webrtc 14:04:43 hta has joined #webrtc 14:24:37 Zakim has left #webrtc 14:25:47 mishizaw has joined #webrtc 14:54:43 mishizaw has joined #webrtc 15:14:55 adamR has joined #webrtc 15:27:16 adamR has joined #webrtc 15:28:09 mishizaw has joined #webrtc 15:44:18 adamR has joined #webrtc 17:00:41 mishizaw has joined #webrtc 18:14:18 hta has joined #webrtc 19:02:59 mishizaw has joined #webrtc 19:44:20 hta has joined #webrtc 20:10:44 kpfleming has joined #webrtc 20:35:17 mishizaw has joined #webrtc 20:46:23 ekr has joined #webrtc 21:37:57 mishizaw has joined #webrtc 21:41:33 ekr has joined #webrtc 21:43:41 ekr has joined #webrtc 21:47:38 ekr has joined #webrtc 21:54:35 ekr has joined #webrtc 22:33:54 ekr has joined #webrtc 22:38:43 mishizaw has joined #webrtc 22:53:33 hta has joined #webrtc 23:04:40 mishizaw has joined #webrtc 23:25:11 toddg has joined #webrtc 23:30:40 vivien has joined #webrtc 23:31:45 RRSAgent, draft minutes 23:31:45 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 23:32:26 i/stefan: at the last meeting/Scribe: DrAlexG_/ 23:32:26 RRSAgent, draft minutes 23:32:26 I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien 23:32:59 RRSAgent, bye 23:32:59 I see 1 open action item saved in http://www.w3.org/2015/10/29-webrtc-actions.rdf : 23:32:59 ACTION: npdoty to fill in github the various privacy issues he reported [1] 23:32:59 recorded in http://www.w3.org/2015/10/28-webrtc-irc#T08-34-07