There are 4 types of servers used in any WebRTC Application:
- Application Server - which hosts the Connect Web Application!
- Signaling Server - WebRTC signaling refers to the process of setting up, controlling, and terminating a communication session. In order for two endpoints to begin talking to one another, three types of information must be exchanged: Session control information determines when to initialize, close, and modify communications sessions.
- NAT Traversal Server (STUN & TURN) - WebRTC works brilliantly when connecting browsers within the same local network. But as soon as you start reaching outside your network – into a corporate firewall, for example – you're going to need a little more, well, firepower. Firewall configurations won't let WebRTC in without using the STUN (Session Traversal Utilities for NAT) or TURN (Traversal Using Relays around NAT) protocol. This is why you'll need a STUN/TURN server.
- Media Server - Media server comes in handy as it helps reduce the number of streams a client needs to send, usually to one, and can even reduce the number of streams a client needs to receive, depending on the media server’s capabilities.
Currently Connect uses our own free Signaling Server by default, but there is an option to set your own Signaling Server URL on Configuration. Also Connect doesn't implement Media server, but we might add this to our future development plan, if it seems feasible and the development technologies we are using will support Media Server.
At the moment, Connect needs only two servers for now: Application Server and NAT Traversal Server. You will also need Signaling Server in future if you are expecting large number of users.
Keep in mind that these Servers are actually required services, you don't necessarily need to have separate machines for these Servers. You can have one server which will perform task of all three servers, but it has to a high performance server with good technical specification.
What is the required server configuration?