diff --git a/technical/6.1.-Conference-Protocol.md b/technical/6.1.-Conference-Protocol.md index db283d46d82072dce1c2d70f381a410e1b0cdf20..ad6aab40adfad0dd11227f713744fae3baff70f7 100644 --- a/technical/6.1.-Conference-Protocol.md +++ b/technical/6.1.-Conference-Protocol.md @@ -87,14 +87,13 @@ So, if a call receives some confInfo, we know that this call is a member of a co To summarize, `Call` manages received layouts, `Conference`-managed sent layouts. -## Moderators +## Moderator actions -A conference can be controlled (for now, only the layout can be controlled). -A moderator is added if on the same device as the host for now. +Some actions can be performed on the conference by the moderators such changing the layout or muting a participant. ### Implementation -#### Layouts +#### Change video layout To change a layout, the moderator can send a payload with "application/confOrder+json" as type: ``` @@ -105,7 +104,7 @@ 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 +#### Set participant to active state To set a participant as active, the moderator can send a payload with "application/confOrder+json" as type: @@ -115,7 +114,7 @@ To set a participant as active, the moderator can send a payload with "applicati } ``` -#### Moderator mute +#### Mute participant ``` { @@ -132,6 +131,26 @@ To set a participant as active, the moderator can send a payload with "applicati } ``` +## Regular participant actions + +Some actions can be performed by all participants, including moderators. + +### Implementation + +#### Raise hand actions + +``` +{ + "handUp": "uri" +} +``` + +``` +{ + "handDown": "uri" +} +``` + ### Controlling moderators There is actually 3 possibilities: @@ -143,5 +162,4 @@ There is actually 3 possibilities: ## Future -+ Multiple master management + Separate streams to allow more controls? \ No newline at end of file