RTP data exchange

Hello devs,
I just wanted to know how does a client send its RTP data to JVB(or exchange between two clients). It happens through jicofo which creates datachannel to jvb when the other use joins, this is what I saw in one of the post in this community, please correct me if I’m wrong and all inputs are welcome.


Jicofo is not creating a datachannel to the bridge.
It is the browser sending UDP to the bridge, creating a PeerConnection.

This may help you Architecture · Jitsi Meet Handbook

Thanks for a super quick reply, I’m actually developing a C++ client using jitsi as a server and even the communication and all xmpp data is been handled on our side but I just cant get how can I make it communicate with JVB.

Look at webrtc code, the one used in the browser. Basically, you are trying to implement the things that already are implemented in the browser and the webclient is reusing.
Similar implementation exists for react-native: GitHub - react-native-webrtc/react-native-webrtc: The WebRTC module for React Native
But in general, this is a huge project …

1 Like

Yes I agree, Could you guide me where is the datachannel or websocket being initialized for communication and the part of the code which is responsible for listening for any data(RTP) being sent and received.


The websocket for signalling is inside strophejs library. The websocket to the bridge is inside lib-jitsi-meet. And rtp … Somewhere in the browser code …


I did check but was unable to get where is it doing the same :frowning: can you kindly help me with this.

Not really, I’m not family with the internals of the webrtc code … And if I remember that codebase is huge …

You don’t want to re-implement webrtc code, that took 10 years of big companies to do it. You better use it if you still want to go that route.