Versions Compared

Key

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

Contents

Table of Contents

Warning

This is a Draft of OpenMeetings 5.0.x. As well as not final

Description

Describe which components and interactions that happen when a new session is established. This should also help to identify any security vulnerabilities. 

High Level Components

Gliffy Diagram
macroId50dd31a5-8161-4039-b567-0bfb2b128038
nameOpenMeetings WebRTC Use-Case
pagePin1

...

Info

Comments to consider

1) First diagram: "webRTC wss://$server:433" I would say right now it most probably "ws://KMS:8888"
In fact server and client are send iceCandidates back and forth trying to find network interface and port on both ends
If no direct connection is available STUN/TURN server tries to help
in case of demo-next direct connection to KMS is impossible so coturn do the job


Selected flows

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

...

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

...

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

Create recording 

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.

...