You will need the server side (server-side solution) and the client-side solution to create a video chat application.
There are two options for developing a video chat application:
Peer-to-peer solution (in this case, the server will only participate in user authentication and signaling to establish a connection for the call. Media streams will be transmitted from the peer node without the server).
Solution with a media server (SFU server, for example). In this case, the flows will pass through the SFU server, which allows, for example, to rejoin the user during the current call.
To simplify the development process, you can try using a ready-made backend and SDK, for example, ConnectyCube . ConnectyCube is an instant messaging and video calling platform that integrates chat and video calling features into applications. It provides a free SDK and free code samples .
You do not need to use SIP. ConnectyCube video solution is based on XMPP for chat and signaling to establish a connection to the call and WebRTC standard for video calls.
It will also save you time and effort on development.
source share