Subject: [rtcweb] SDP attribute setup=holdconn

From: Roman Shpount <[email-masked]>
Date: Tue, 30 Aug 2016 18:54:48 -0400

Hi All,

When discussing draft-ietf-mmusic-sctp-sdp with Christer we came up with a
question regarding handling setup=holdconn. In case of TCP/DTLS/SCTP, the
value of setup attribute is shared between TCP and DTLS. Per RFC 4145, TCP
defines a use case for setup=holdconn. At the same time per
draft-ietf-mmusic-dtls-sdp, setup=hodlconn must not be used. So, we have
two options here:

1. Forbid using setup=holdconn with TCP/DTLS/SCTP in
draft-ietf-mmusic-sctp-sdp
2. Define what setup=holdconn means for DTLS in draft-ietf-mmusic-dtls-sdp

To provide the original background, in case of TCP,  setup=holdconn
essentially means that new TCP connection cannot be established as a result
of this offer/answer exchange, no matter what other value has changed. It
is used to differentiate the case when connection=existing is used with a
passive TCP end point which wants to reuse existing connection and is not
ready to accept a new TCP connection. In other words, when passive end
point is ready to accept new TCP connection, the offer is sent with
connection=existing and setup=passive. When no accept method was issued on
the listening socket or if listening socket was already closed, the offer
is sent with connection=existing and setup=holdconn.

Since in case of DTLS, no accept method needs to be called on the socket
before sending an offer and no extra resources are needed to accept new
connection, I thought setup=holdconn was not necessary. This is why it was
specified in draft-ietf-mmusic-dtls-sdp, that setup=holdconn must not be
used. On the other hand there is no harm from setup=hodlconn. Furthermore
there are certain aesthetic benefits when setup=holdconn is used with ICE
and DTLS. When sending an update offer without ICE restart,
specifying setup=holdconn can be used to indicate that answerer is not
allowed to start a new DTLS association during this offer/answer exchange.

So, once again, what should we do with setup=holdconn? Update
draft-ietf-mmusic-dtls-sdp to define handling of setup=holdconn or prohibit
 setup=holdconn with TCP/DTLS/SCTP in draft-ietf-mmusic-sctp-sdp?

Regards,
_____________
Roman Shpount