What's the issue with SCTP-based data channels on servers?

Hi everyone,

we are repeatedly being told that *deploying* SCTP-based data channels
is too cumbersome. But I have yet to find out what's so cumbersome about it.

There are libraries that terminate SCTP-based data channels (in fact,
I'm the maintainer of one particular implementation written in C called
RAWRTC). Even though I wouldn't exactly call my implementation very
mature, so far I have not heard of any deployment issues. The only thing
that could be slightly related is an issue with cross-compiling... but
that's pretty much it. Though, might be a popularity problem.

I have overheard statements that usrsctp is immature. Please, if you
believe so, explain why. I give you that much: It uses an awkward API
since it moves the socket API into userspace. But that doesn't make it
immature. Furthermore, you don't need to use its API directly since data
channel implementations abstract it away.
I've also heard that usrsctp is hard to deploy: If so, I would like to
know that the issue is.

There have been statements that there aren't any modern SCTP
implementations, that it is an old protocol and there generally is no
interest in it. That is not true, in fact there are people who have
written one just for the purpose of using it in WebRTC: aiortc (Python
3), pions/webrtc (Go). I know of at least another person writing one in
Rust and Tim has written one in Java.

So, to come back to my original question: What are the actual
*deployment* problems people face? If there is no deployment issue, what
is it that drives you away from SCTP-based data channels?

If you do have contacts that might be able to provide feedback, please
forward them this mail.

Cheers
Lennart

Received on Tuesday, 23 October 2018 17:03:37 UTC