Twelephone’s network provides peer-to-peer dial tone signaling for the Web.
When caller initiates twelephone call to another party, twelephone notifies party of incoming call.
If recipient accepts the incoming video call, twelephone helps users negotiate an end-to-end encrypted video call through their private networks and then removes itself from the call delivering a truly secure, P2P, E2E encrypted private call.
The Twelephone servers (at the top of the diagram) is what allows two users (peers) to find each other. Both are somehow connected to that server (WiFi, Cellular, etc). It can be two people registered to a social network, a doctor and a patient logging into a scheduled visitation, a person browsing a website and trying to “call” the site’s owner, etc. The options here are endless.
Part of what needs to be done involves attempting to go through firewalls and NAT devices. This is done using a protocol called ICE, which collects, exchanges, and then attempts to connect a session using ICE candidates. ICE candidates are pairs of potential addresses that can get the devices to connect to each other either 1) directly by using a private or a public IP address obtained via a STUN server or 2) indirectly through TURN servers.