What is WebRTC

Web Real-Time Communication (WebRTC) is a collection of standards, protocols, and JavaScript APIs, the combination of which enables peer-to-peer audio, video, and data sharing between browsers (peers).  It is supported on all modern browsers and native clients in major platforms.

You may be an user of WebRTC already because many famous audio/video communication applications involve this technology.  Examples are Whatspp, Google Meet and Facebook Messenger.

WebRTC also enables browser-based VoIP telephony, which means that you can make and receive calls within a web browser.  There is no need to install a softphone.

Here, we focus on what benefits WebRTC brings to your business and how it works with the Asterisk-based IPPBX.

Benefits of using WebRTC together with your IPPBX

  • When your web site visitor needs assistance on a product or an online service, he can simply click on a call button and get in touch with your agent instantly, no matter he is in front of a PC or using mobile phone.

  • The online call is free for visitors and they can talk with your agent from anywhere worldwide.  it improves customer experience and your relationship with them.

  • It eliminates the need for toll-free numbers, saving your telco expenses

  • Enabled with WebRTC, IPPBX can despatch the online call to your agents like traditional incoming call; it can go through IVR, ACD and various call routing rules.

  • You can even embed the call button in your email communications with customers

  • Webrtc call is encrypted and secured.  It is safe to use it over public internet.

Configuring Asterisk to  support WebRTC

There are a couple of things worth your consideration when configuring Asterisk to support webrtc.

  • Preferably you use updated version of Asterisk (version 15.5 or higher) 

  • Use chan_pjsip which is the newer SIP stack for Asterisk

  • Since WebRTC API includes no provisioning for signalling, we have to enable websocket as a transport where SIP signaling protocol takes place

  • You need a SSL certificate for the websocket to work.

  • In case your existing Asterisk (where your IPPBX extensions and call features are located) is of earlier versions, you can install a newer version to act as a gateway between WebRTC call and your existing asterisk.

Calling the WebRTC API from your web site

Most modern browsers have built-in support for WebRTC API and these API could be called via javascript.  In general, to add a browser call button in your web site html code, you would have to include the required js library and write some javascript codes to take control of the audio stream (ie your MIC & Speaker), establish call with the IPPBX (call signalling) and carry out the audio transmission.

Demonstration

Here is a demonstration showing how you call our Asterisk-based IPPBX by a browser button.  The call is handled by an illustrative agent queue.

https://ippbx01.starlingtech.hk:8089/static/click2call/index.html