WebRTC technology

ApiRTC is a library that allows a developer to easily integrate real-time communications (chat, audio, video) into a web or mobile application, using HTML and JavaScript.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.

How to use the demos :

Each demo represents an apiRTC Client. To establish a call you need to open two clients.
You can open it on a different computer with a different browser or you can use two tabs on the same browser.
We have added a button on the right of each demo to open a new client.
Your client will be assigned a random Identifier, that you will need to use to establish the call.
Our demos are all available on Github.