I am reading that in mediasoup the SDP is not sent over the wire.
Does it mean the SDP is generated on the client side and mediasoup server, and then encapsulated into an RTPParameter and sent as part of signaling? Can I think of the client as having one end as webRTC SDP and the other end as RTPParameter going into mediasoup?
SDP is parsed/generated on the client because that is what browsers currently support, on server-side though SDP is not used at all.
Can I think of the client as having one end as webRTC SDP and the other end as RTPParameter going into mediasoup?
Not only RTP parameters, but yes, that is roughly correct.
The project https://github.com/versatica/mediasoup-sdp-bridge will provide a way to negotiate with mediasoup using SDPs (just like other WebRTC peer).
It is still in development, but the PR https://github.com/versatica/mediasoup-sdp-bridge/pull/2 has a working prototype.
Ok so can we say that mediasoup client takes the web browser generated SDP, makes it prettier and sends that into as part of an RTPParameter over signaling?
It would be the easiest to just go straight to source for such kinds of questions: https://github.com/versatica/mediasoup-client/tree/v3/src
Not even to the sources. If someone is using mediasoup-client he must know that no SDP is being sent to the server (given that he is the responsible of carrying those parameters).
Is there a specific reason SDP isn’t used server-side? I don’t know enough about the structure of the messages themselves to determine why it would make more sense to make something custom vs SDP + any additional metadata mediasoup uses.
Yes! This is exactly what I was looking for. Thanks for sharing! ORTC sounds like a dream.