From aabaee7e979109c222660e6cb33f02a3b31c81c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Fri, 12 Nov 2021 12:00:31 -0500
Subject: [PATCH] Update 6.1. Conference Protocol

---
 technical/6.1.-Conference-Protocol.md | 34 ++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/technical/6.1.-Conference-Protocol.md b/technical/6.1.-Conference-Protocol.md
index 1dc4b110..db283d46 100644
--- a/technical/6.1.-Conference-Protocol.md
+++ b/technical/6.1.-Conference-Protocol.md
@@ -94,6 +94,7 @@ A moderator is added if on the same device as the host for now.
 
 ### Implementation
 
+#### Layouts
 To change a layout, the moderator can send a payload with "application/confOrder+json" as type:
 
 ```
@@ -102,6 +103,10 @@ To change a layout, the moderator can send a payload with "application/confOrder
 }
 ```
 
+where **0** is a grid, **1** is one user in big, others in small, **2** is one in big
+
+#### Active participant
+
 To set a participant as active, the moderator can send a payload with "application/confOrder+json" as type:
 
 ```
@@ -110,10 +115,33 @@ To set a participant as active, the moderator can send a payload with "applicati
 }
 ```
 
+#### Moderator mute
+
+```
+{
+   "muteParticipant": "uri",
+   "muteState": "true"
+}
+```
+
+#### Hangup participant
+
+```
+{
+   "hangupParticipant": "uri"
+}
+```
+
+### Controlling moderators
+
+There is actually 3 possibilities:
+
++ Changing account's config to add a list of moderators (In the config.yml (`defaultModerators` can contains a list of default moderators)
++ If `localModeratorsEnabled` is true, all accounts of the device will be moderators
++ If `allModeratorsEnabled` is true, anybody in the conference will be a moderator
+
+
 ## Future
 
-+ Control moderators on a conference
-+ Moderators can hangup
-+ Moderators can mute/unmute
 + Multiple master management
 + Separate streams to allow more controls?
\ No newline at end of file
-- 
GitLab