RE: [rtcweb] Summary of Application Developers' opinions of the current WebRTC API and SDP as a control surface

Bernard Aboba:
> 
> The problem was that we never defined what mangling browsers had to
> support. Given all the SDP specs that is actually a huge work item.


This is exactly what my slides that weren't presented last November started to touch upon. It only takes a few minutes with RFC3264 and its references to start documenting cases that are clearly "valid SDP offer/answer" and yet for which I cannot for the life of me figure out what a browser should do if they're presented.

Just off the top of my head:

Can I...
- Change the t= line to be something other than t=0 0?
- Change the rtpmap associations before calling setLocal?
- Change a=sendrecv to a=recvonly before calling setLocal?
- What do you do when you see a=content:sl ?
- What if someone adds an r= or p= or e=?
- What is the RFC that describes a=group:BUNDLE (as seen in some browser implementations)?
- Can I remove a=group:BUNDLE (or add it) before calling setLocal?
- How about removing a=rtcp-mux?
- Should I do something special at my end if you set a=ice-options:google-ice ?
- If you put a=ssrc lines in there, can I change the ssrc before passing it back to setLocal?
- Can I delete the a=ssrc lines?
- Is a=rtcp:1 IN IP4 0.0.0.0 valid or not?
- What about 0.0.0.0 in the o= line?
- If I get a bunch of a=candidate lines, can I swap them around to change the priority before calling setLocal?
- What if someone claims SAVP instead of SAVPF but gives me rtcp info?
 
At the *very least* for each and every line that comes from createOffer and createAnswer you must be able to answer the following:
- Can I delete it?
- Duplicate it?
- Change it?
- If not, how are violation handled? (Both when passed to another browser at the far end and when these modifications happen before calling setLocal)
 - And can I add additional valid SDP to what came from createOffer or createAnswer and pass it back to setLocal or not?

We appear to be nowhere near a document which explains the answers to these questions, certainly not in the W3C WG, and not in any IETF RFC or draft I can locate.

Matthew Kaufman

Received on Wednesday, 17 July 2013 22:00:11 UTC