Need to understand how openvidu components interact with each other.
Do we have any architecture diagram for this?
Also How we can make sure data transfer security while having calls?
Please respond. I need to understand how components interact with earch other.
Hello @poojakamra,
When you deploy OpenVide CE with included OpenVidu Call application you will have the following deployment architecture:
We are working on a big refactoring of the documentation so the architecture will be better explained than it is today.
Regards
Hi Micael,
This i have seen on the site. But need clarification regarding communication between internal components. As per site - there are 4 servers -
- OpenVidu Server
- Kurento Media Server
- Coturn Server
- NGINX server
e.g. whenever meeting gets started, then requrest will go from user A to KMS and then to the other side to user B by OpenVidu Server.
Will all the other servers be used by OpenVidu server only or they will communicate with each other as well?
Requesting you to please clarify on this.
I have created diagram on my understanding as well.
Please see -
There are several communication types in a typical OpenVidu based app.
-
- The application frontend from user A request a token to the application backend. This is typically requested using a REST API.
-
- The application backend uses the REST API of OpenVidu Server.
-
- When the token is returned to the frontend of user A, openvidu-browser connects to OpenVidu Server using WebSockets.
-
- OpenVidu server redirects some information sent by the browser (SDPs, ICE candidates…) to the media server (KMS or mediasoup).
-
- When all information needed is exchanged between the media server and the browser (using OpenVidu server as an intermediary), the WebRTC communication (the audio and video) is exchanged directly between the browser and the media server.
-
- The browser of User B performs the same communication with application backend, OpenVidu server and media server.
-
NGINX is just a proxy for OpenVidu Server used to manage the certificates. Some times, it is also the proxy for the application backend.
-
COTURN is a relay server. Is only used when the user is in a restricted network. When used, the audio and video traffic between media server and the browser traffic is transmitted through COTURN server.
Hope this description help.
Regards
Great. Thanks a lot for clarification.