Re: Presentation for a call if DTLS Association be started if not requested in the offer - ehterpad
Roman Shpount <[email protected]> Thu, 28 Sep 2017 13:27:04 -0400
| Newsgroups | gmane.ietf.mmusic |
|---|---|
| Message-ID | <CAD5OKxs5=fRV_2MOPNF1SuBo-j1i+8z6XECJ-+BYbqZOGtRffg@mail.gmail.com> |
On Thu, Sep 28, 2017 at 12:53 PM, Eric Rescorla <[email protected]> wrote: > Summarizing my proposal on today's call: > > As an offerer: > If the answerer changes either {fingerprint, tls-id} then { > if (!doing ICE restart) { > error > } else { > do a new DTLS negotiation > } > } > Agreed There is a race condition on the offerer if you are in ICE lite or > something where you might receive DTLS packets before the Answer. The > DTLS-SDP spec requires an ICE restart under these conditions, so you will > not be receiving anything from the old connection on the new 5-tuples. > Thus, you only need to disambiguate between: {RTP or SCTP on the current > DTLS association} and {ClientHello from the new association}. This can be > dealt with by (a) latching on the first thing that looks like it matches > one or the other pattern, i.e., it's either a ClientHello or it decrypts > successfully or (b) discarding everything until you get the answer, which > is something that happens automatically in most ICE scenarios. > This all looks good, except for potential fragmented ClientHello message with fragments received out of order. Another potential failure scenario is SRTP from the old dead call being sent over the new 5-tuple. My proposal was not to latch on things that cannot be decoded as current DTLS association or SRTP. > As an answerer, JSEP implementations MUST NOT change the TLS-ID or the > Fingerprint unless the offerer sent a new TLS-ID > Agreed _____________ Roman Shpount _______________________________________________ mmusic mailing list [email protected] https://www.ietf.org/mailman/listinfo/mmusic