diff --git a/developer/conference-protocol.md b/developer/conference-protocol.md index 913daf4202a391f5dcc785ba77b28e536b0ef75f..e845998eb83e9180583dfbfa23968a667d685418 100644 --- a/developer/conference-protocol.md +++ b/developer/conference-protocol.md @@ -68,7 +68,7 @@ Possible keys are: + uri = account's uri + device = device's id -+ media = media's id ++ media = media's id + active = if the participant is active + x = position (x) in the video + y = position (y) in the video @@ -79,8 +79,7 @@ Possible keys are: + audioModeratorMuted = if the audio is muted by moderators + isModerator = if it's a moderator + handRaised = if the hand is raised - -In the future, `isTalking` will probably be added ++ voiceActivity = if the stream has voice activity ### New API @@ -107,7 +106,7 @@ To summarize, `Call` manages received layouts, `Conference`-managed sent layouts ## Changing the state of the conference -To change the state of the conference, participants needs to send orders that the host will handle. +To change the state of the conference, participants needs to send orders that the host will handle. The protocol have the following needs: @@ -137,6 +136,7 @@ For now, there is no action supported, however, in the future `moderator: true/f + `muteAudio` only doable by moderators to mute the audio of a participant + `muteVideo` not supported yet. + `active` to mark the media as active. ++ `voiceActivity` to indiciate a media stream's voice activity status (only relevant for audio) ### Example @@ -145,7 +145,7 @@ So, the `application/confOrder+json` will contains: ```json { "989587609427420" : { - "moderator": true/false + "moderator": true/false, "devices": { "40940943604396R64363": { "hangup": true, @@ -154,12 +154,13 @@ So, the `application/confOrder+json` will contains: "3532532662432" : { "muteAudio": true/false, "muteVideo": true/false, - "active": true/false + "active": true/false, + "voiceActivity": true/false } } } } - } + }, "layout": 0/1/2, } ``` @@ -181,4 +182,4 @@ There is actually 3 possibilities: + Separate streams to allow more controls? ## Notes/Comments -It's likely that the protocol will evolve for future needs. I believe it's best if we have a "version" field. The older version will be recognized if this field is missing. +It's likely that the protocol will evolve for future needs. I believe it's best if we have a "version" field. The older version will be recognized if this field is missing.