WebRTC and FreeClimb

Understand WebRTC and learn how to connect your end users to FreeClimb directly from their browsers.

What is WebRTC?

WebRTC is an open standard, supported by all modern web browsers, enabling real-time communication from a browser to a server. It simplifies the process of establishing direct RTP sessions without requiring complex browser-side development, which is done with a combination of open protocols including STUN, ICE, and TURN. WebRTC supports secure access to peripherals on the client device including microphones to enable direct capture of audio.

Why do you need WebRTC?

  • Allows for a smooth transition from a text-based interaction on a webpage to a voice interaction.
  • Enables seamless context retention across text and voice channels.
  • Eliminates the need for users to switch to a phone or disrupt the flow of your application.
  • Eliminates the need for additional/expensive hardware, plugins, or phone dialing.

WebRTC Flow

Summary

In a WebRTC call, the process often starts with a "Click to Call" feature. This means that when a user interacts with your website or application, once it’s determined if they should be connected to a live service agent or IVR, they will encounter a button to initiate a call. When they click this button, their browser or app will ask for permission to access their microphone and then establish a SIP call directly to FreeClimb. Once the call is connected, it behaves like any other call routed through FreeClimb, allowing you to handle it using standard PerCL commands.

Recommended Client Side Tooling

FreeClimb's WebRTC implementation has been tested with the JsSIP library which handles the SDP/WebRTC components while also offering a standard compliant SIP client. FreeClimb provides a convenience wrapper around the underlying library in the freeclimb-voice.js file.

Enabling a "Click to Call" feature using WebRTC

  1. End user requests Click to Call in app or on a website
  2. End user's browsers sends request to your server
  3. Your server interfaces with FreeClimb to acquire the necessary JWT
  4. Server provides the token back to the End user's browser
  5. Browser (using a SIP client) interfaces with FreeClimb SIP Gateway using the JWT
  6. Browser and FreeClimb negotiate WebRTC connection settings
  7. Call is established

👍

Ready to make a WebRTC-enabled call with FreeClimb?

Head over to our how-to guide.


WebRTC Call Diagram

WebRTC-Enabled Call Flow Diagram