rtcweb-wg / jsep

33 stars 32 forks source link

When is the SDP sess-version in o= line updated #239

Closed fluffy closed 8 years ago

fluffy commented 8 years ago

When the SDP changes, including new trickle ICE candates, the sess-version needs to go up. Need to decide how to do this and add text to support.

See http://tools.ietf.org/html/rfc4566#section-5.1

juberti commented 8 years ago

Discussion at IETF 95 indicated that o= is basically used to indicate whether SDP has changed. This would indicate that o= would need to increase any time the SDP changed, including addition of candidates.

Question around rollback - if SDP with version 12 is set, then SDP with 13 is offered, and then rolled back, what does the SDP version become? Seems like it should stay at 12, but the next offer should be 14, not 13.

Simplest policy: createOffer returns SDP with o= version incremented by 1 from the previous setLocal SDP, even if that SDP was rolled back.

cdh4u commented 8 years ago

In Justin's example, I don't think the next version would need to be 14, as 13 was never accepted. On the other hand, SDP version numbers are cheap, so...

ekr commented 8 years ago

Consensus in Berlin

V is the version in the o=line in last call to setLocal o=V+1 on CreateOffer() if if anything changes

cdh4u commented 8 years ago

I think that consensus shall be verified with MMUSIC. I want to make sure that we don't send two different offers with the same version number, and the answerer rejects them both because it thinks they are identical.

juberti commented 8 years ago

For posterity, see some additional context and history in https://github.com/rtcweb-wg/jsep/pull/277