Denned - Fotolia

What is a WebRTC server and how does it connect calls?

A WebRTC server usually refers to a few different types of back-end servers, like signaling and media servers, that help connect browser-based communications.

"WebRTC server" does not appear in the WebRTC specification. People usually refer to a WebRTC server as the back end of a WebRTC-based service.

The peer-to-peer communication via WebRTC is often misunderstood. WebRTC doesn't really mean you no longer need servers to negotiate and connect a call. It just means, in many cases, you'll be able to communicate directly between browsers.

For any WebRTC service to work successfully, you'll need the following types of back-end servers:

1. Signaling server: The first thing needed for a session to connect across browsers is some kind of mediator -- a server that is aware of both ends of the call. This is the signaling server, which negotiates the session, and is probably the closest thing to a WebRTC server.

Often, this server will also send relevant data throughout the session. Signaling servers can implement a standardized protocol such as SIP or XMPP, or they can implement a proprietary protocol. At times, the signaling component will be part of the Web server operating the website. At other times, the server will be dedicated for signaling only.

2. TURN and STUN server: When both ends of a session are aware of each other, they will try to connect directly -- sometimes this works, other times it doesn't.

When it doesn't, it's because network address translation or firewall machines along the communication path either mask the address of the browser, translating it from a private IP address to a public one, or they don't want to allow such communication and they block incoming traffic that is considered unsolicited.

To overcome these issues, WebRTC uses STUN and TURN, which are protocols requiring server components to assist in negotiating media traversal and, at times, relay all the media through the TURN server.

3. Media server: Even after negotiating the signaling and getting the media connected, we may still want to process the media on the server side. This might be needed so users can conduct a session with a large number of participants and record and archive the session or gateway the session to some other type of network protocol. In such cases, we would use a back-end media server.

Depending on the context, each of the above can be considered or referred to as a WebRTC server. In most cases, this reference would be made to the signaling server.

Do you have a question for Tsahi Levent-Levi or any of our other experts? Ask your enterprise-specific questions today! (All questions are treated anonymously.)

Next Steps

WebRTC browsers are expected to see significant progress.

Examine some common WebRTC security risks.

Do WebRTC and SIP perform the same functions?

Dig Deeper on Unified Communications Architecture and Service Models