Behind the scenes, the WebRTC technology is used : this means that the media flows are encrypted and exchanged in peer-to-peer when possible. Otherwise a media relay (TURN server) may be required
Anatomy of ApiRTC Call
Step 1: Initialize the connection
Let’s say that we have a mobile user that wants to call a desktop user (Client 1 calling Client 2).
The signaling offer of the Client 1 goes through the signaling server (CCS), and is relayed to the desktop client who can choose to accept or refuse the call
Step 2: Initiate a call
Now both clients are aware of the capabilities of each other (audio/video codecs supported for instance).
In a typical scenario they will at this point also be capable to “talk” to each other: the signaling server is essentially useless now. They are now capable to exchange their media (audio/video) flux between each other.
Step 3: Peer to peer media exchange
As we see with this simple example, the signalisation phase is absolutely crucial to establish calls. There are also many factors not presented in this simple example (differences between browsers, media constraints, fallback if there are firewalls…), but this simple scenario is helpful to understand the following tutorials.
To start using ApiRTC
The examples found in this page are also available on Github
List of tutorials
custom code for specific events like call/hangup.