How Jitsi create websocket messges to transfer to prosody

Hi, I am new to Jitsi. I was reading some topics saying that Jitsi is deprecating SCTP and adding WebSocket. My question is, where Jitsi (Jitsi-meet/ Jicofo/ …) is creating WebSocket messages and sending those to prosody? also in which component is receiving those WebSocket messages? If any doc is available that would be really appreciated.
Thank you.

SCTP was previously used for a data channel between the VideoBridge and the participant, to send messages like constraints and stats. This has been replaced with a direct WebSocket between the VideoBridge and the participant. It’s not related to Prosody in any way.

It’s enabled if you set openBridgeChannel: "websocket" in config.js and your VideoBridge is configured correctly to enable websockets. jitsi-videobridge/web-sockets.md at master · jitsi/jitsi-videobridge · GitHub

Once you have it working you can disable SCTP in the configuration of the VideoBridge and in Jicofo.

Thank you, now got a hold of the flow.
one other point, at the start of connection establishment at Signaling part Prosody is used right? does prosody use WebSocket to transfer SDPs?

That’s a separate websocket, unrelated to the JVB one discussed above.

It’s (relatively) standard XMPP over WebSocket (BOSH can also be used) and the media signalling uses Jingle with some Jitsi-specific extensions. The Jingle messages are sent between the client and Jicofo via Prosody. The browser client converts Jingle to and from SDP.

1 Like