Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Below is a selection of flows that are relevant for handling Socket or RTC connections.

There are several flows
   1) Audio/Video test setup record
   2) Audio/Video test setup playback
   3) Audio/Video broadcast in room (recording endpoint can be added/removed if necessary)
          In this case new WebRTC endpoint is created
   4) Audio/Video playback in room
         In this case new WebRTC endpoint is connected to the sender (so all can be dropped on broadcast stop)

In every flow websocket messages are sent to KurentoHandler
StreamProcessor and TestStreamProcessor were created and separated to make KurentoHandler more readable :)

TestStreamProcessor is more or less covered with tests https://sonarcloud.io/code?id=apache_openmeetings&selected=apache_openmeetings%3Aopenmeetings-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fopenmeetings%2Fcore%2Fremote%2FTestStreamProcessor.java

Create Video Stream

  • User-case: User initiates video in a presentation conference room.
  • The diagram simplifies some of the communication for simplification as they are not relevant for the creation if the MediaStream or Security

...

Gliffy Diagram
macroId35f96429-b91e-4f43-9304-6e4eb2b73082
nameOpenMeetings - Kurento Session Initialisation
pagePin9


Recently I found this flow is not bullet-proof and web-rtc connection might not be established even if no errors were reported
This is why we get lots of emails like "I only can see my own video" 
https://github.com/apache/openmeetings/blob/master/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js#L118 should improve situation

According to security: we are using secured channel for WS messages
KMS can be secured by setting up HTTPS proxy (in this case port 8888 will be accessible at 443)
Not sure what else can be done here

Supporting material

...

Recordings are using the browsers ability to create a video stream of the entire desktop and share it as a video stream. Audio is added separated.

Gliffy Diagram
macroIdcfce36c9-4b2e-4216-9d03-56ad2e1a339c
nameOpenMeetings webRTC Recording
pagePin2