User:Fippo

my rough notes on jingle -- mostly solved exactly one year later :-)

= XEP 0167 =
 * SDP mapping needs more love
 * trickle ice needs better description (@emil?)
 * don’t send ice candidates before session-initate result?
 * encryption required stuff is not in schema?
 * When the responder receives a session-initiate message containing an element, the responder MUST do one of the following: FIRST AND FOREMOST IGNORE THE REQUIRED STUFF!
 * required sucks. we have disco/caps?
 * some ice-udp examples still use the :0 version, should be bumped. also seem to lack ufrag and pwd... more below
 * AVP profile, encryption or fingerprint => SAVP, rtcp-fb => (S)AVPF

= XEP 0167 schema extensibility =
 * Mail + Patch Justin Uberti March 2011 http://mail.jabber.org/pipermail/jingle/2011-March/001417.html
 * how can 0262 work without this?

= XEP 0176 =
 * mapping a=ice-lite?
 * when to send transport info -- explicitly allow before session-accept (transport warmup)
 * sending transport-info before getting the session-initiate result ok?
 * mapping a=ice-options?
 * foundation is xs:unsignedbyte, should be xs:string
 * ufrag and pwd are optional?!?! oh well... we might only need them once, e.g. in session-initiate and then not in subsequent transport-info. On the other side we need them in either session-accept or the first transport-info. but how safe is that in terms of implementation?
 * "and certain third-party-call-control scenarios." -- weird grammar?
 * why is id required on candidates? can we remove it?
 * why is generation required?
 * why doesn't have an xs:any?
 * transport is lowercase ("udp") whereas RFC 5245 has uppercase.
 * ice-tcp and extensibility per http://mail.jabber.org/pipermail/jingle/2014-May/002064.html

= XEP 0266 =
 * deprecate in favor of webrtc decision?

= XEP 0234 =
 * candidate-used vs remote-candidate from XEP-0176
 * mime type
 * tell receiver what has is used in initial offer so it can calculate the correct one
 * why are so many details in the session-accept?
 * one-file-per-content?

=a=fmtp issue= no, they use empty string for name, too. Not that it matters now
 * raised first at http://mail.jabber.org/pipermail/jingle/2011-March/001438.html
 * not everything is key=val; list
 * how to map?
 *  (me)
 *  (Uberti, maybe deployed @ google)

=mapping a=fingerprint=
 * DTLS-SRTP (RFC 5763)
 * XEP-0320

=mapping a=rtcp-mux=
 * google apparently does 
 * http://hancke.name/jabber/jingle-rtcpmux.patch
 * inside transport? -> trickle

=mapping a=rtcp-rsize=
 * inside jingle rtp description?

= a=group:BUNDLE=
 * same port behaviour not specified in 0167
 * needed by chrome m28 + turn :-(
 * http://mail.jabber.org/pipermail/jingle/2013-October/002027.html -- write spec

=a=ssrc: =
 * RFC 5576
 * https://docs.google.com/document/d/1qUW4JGw87gJT38Oa8S1YmCjXImhw7p614_P4-JcnCTA/edit
 * assumes PLAN B
 * webrtc does not do PLAN B, so probably come up with our own mapping
 * ?

=unsorted=
 * can a transport-info action change the description?
 * i.e. can it contain a element and modify the description?

=trickle ice draft=
 * mapping it to jingle
 * end of candidates signal
 *  inside transport? but which content name?

=a=extmap= jitsi plan better?
 * generated by canary (M28 now)
 * a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
 * a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
 * https://tools.ietf.org/html/rfc5285
 * XEP-0294
 * jitsi:  
 * parameters jitsi style? or along the lines of 0167
 * spec issues: senders can be none
 * feedback + LC? typo patch

= a=rtcp-fb = =a=mid=
 * xep-0293
 * parameter mapping, otherwise lgtm
 * SDP grouping framework, RFC 5888
 * maps to content name? -> http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-8 slide 13
 * but: multiple sources (webcam, screensharing) inside the same content (“PLAN B”)
 * “The folks at the IETF are not yet agreed on how video tracks should be assigned to m-lines (one per m-line or multiple tracks on one m-line)” @ HTA
 * PLAN B now obsolete


 * http://xmpp.org/extensions/xep-0166.html#def-content
 * A unique name or identifier for the content type according to the creator.
 * If there are two content types with the same value for the 'name' attribute* so is this unique or not? is this content in different namespaces?
 * if it is not unique, it can not map to mid

= unmute = To end the mute state, the party sends an informational payload of or. yai, ambiguity. maybee choose randomly? what about stateless gateways?

= xep-0166= should explain that basically jingle is rfc3264 offer/answer supplemented by caps (solves bundle)