[jitsi-users] Cannot create SCTP stream with sid bigger than 9?


#1

#re-posting this with different title because the first email didn't seem
to succeed for some reason.

Hello,

I'm trying to extend the use of SCTP (i.e. DataChannel) based on JVB,
creating multiple streams between a client and the bridge with different
meanings.
However, when adding streams ends up with requiring sid that is bigger than
10, if fails with the following logs.

Sctp send error: : Invalid argument
JVB 2018-01-29 03:24:37.494 SEVERE: [229] org.jitsi.videobridge.SctpConnection.log()

Failed to send open channel confirmation. r :-1

This is when adding streams from the client side, where MSG_OPEN_CHANNELS
of sid=10 successfully has reached to the bridge but it failed to respond
with the confirmation on the channel.

I have repro-ed this on CentOS 6 and Windows.
After some investigation I'm thinking that usrsctp's
"sctp_nr_outgoing_streams_default" could possibly be related.
The default value of this variable is 10.
That being said, this is a little strange as I saw that sid bigger than 10
simply fail, no matter how many actual number of streams there are, and the
variable name implies that it's just an initial allocation which is
supposed to be extended if needed run time.

Is this something Jitsi / JVB has already acknowledged?
Any comments or questions will be much appreciated.

Thanks,
Makoto


#2

Currently we’re creating only 1 stream per client, so we’ve never hit this corner case if I understand your problem correctly. You may want to look into changing this variable - from your description it sounds like it could be the limit for number of SCTP streams, but you’d have to check in usrsctp source code. Maybe there’s a bug there if it doesn’t work as expected.