Hello Iñaki,
thanks for your collaboration in the discussion ;).
Your interpretation would be also correct reading RFC5763, but the point is that it is not enough clear (at least from my point of view).
The section-5 (Establishing a Secure Channel) explains how to establish the channel, but what happen if the channel is already established (which is related to SDP renegotiations)?
At this point and from my understanding, subsequences of O/A negotiations (renegotiations) are
NOT independent due to some reasons. In relation to "a=setup" attr, and so to the DTLS-SRTP transport using ORTC notation [1]:
- m-lines in Nth negotiation are related to the same m-lines in (N-1)th negotiation.
- New added m-lines belonging to the same BUNDLE group share the same transport.
In these cases, I wouldn't agree that the Nth offer MUST use setup:actpass, because this can cause a new DTLS handshake wasting resources,. Even some User Agents may not support it.
Moreover, I neither wouldn't agree that the
first offer MUST use setup:actpass. In this way we are restricting the interoperability for limited User Agents that only support DTLS client role. Why they cannot announce setup:active from the beginning?
I might have missed some detail behind the decision made in RFC5763 section-5, but I think that these points are reasonable.
Anyway, I am going to open a issue in
https://github.com/rtcweb-wg/jsep/issues, where I think this should be discussed.
Best!!
Refs
[1]
http://publications.ortc.org/2016/20161202/#rtcdtlstransport*