This example demonstrates how to create a mesh conference call between multiple users, using FCSDK.
Note: Mesh Calling is not supported on iOS or Android clients.
This article builds upon the Minimal App - it's advisable to work through this example article first before attempting mesh calling.
The source code comprises of 2 components - a dynamic session provisioning script (/join/session.php):
... and a single conference landing page ('/join/index.html'):
To join the mesh conference a user must navigate to the landing page, enter their name into the text field and click join.
When a use visits the landing page, we ask for a session token from the FCSDK server, passing in the username of the person joining into the JSON payload.
Once we successfully initialise the UC object we create and connect to a topic, called "mesh" and we submit the username as data to the key "joiner".
Each landing page instance listens for updates to the same topic ("mesh"). On update, if the key is "joiner" (i.e. a new user has joined the mesh call) we append their username to the list of participants, add their unique video element to the page and place a FCSDK voice and video call to their username.
Each landing page also listens for incoming FCSDK calls. When one arrives the remote address (username) is appended to the participants list and a unique video element container element is also added. Local video is refreshed and the remote video stream is attached to the newly created element, the call is answered with both audio & video.
This above process is repeated each time a new user joins the mesh conference.