Unfortunately I don't have examples to share for full-mesh as the code is too complex for that, but the idea behind it is:
- you have person A who initiates the call
- A sends their invite to B and C for the calls with the IDs CALL_AB and CALL_AC
- A also tells C: "you need to set up a call with B, you will receive the invite shortly for call CALL_AB_C"
- A also tells B: "you need to set up a call with C, you will be the initiator, for call CALL_AB_C"
If A wants to add D to the conference, they would send the invite CALL_AD and once it's established, it would tell D "expect and invite for calls CALL_AB_D and CALL_AB_C" and tell B and C: "D has been added to the conference, send him an invite"
D will receive invites for calls CALL_AB_D and CALL_AC_D and establish connectivity with them.
This quickly gets out of hand as you add more and more participants because you need to have N-1 peer connections where you are sending the same data, which is not ideal. We never do full-mesh video because the load would be too great on the devices.
If you can afford a server infrastructure then JitsiMeet is the better choice when it comes to performance because you will have only one peer connection, to the Jitsi Videobridge which is responsible for mixing audio and video from all parties.