It’s been Acrobits primary goal since 2008 to provide feature-rich mobile VoIP applications for Android and iOS. We’ve worked hard to overdeliver for our customers. With our 10th anniversary here, we are just as committed as ever to continuing the success we’ve achieved.
Over the years, quite a few customers have asked us if we could support other platforms and devices. The majority of these requests asked about desktop solutions for Mac and Windows. We know that we owe you for our success. Without you and your customers and their feedback, ideas for new features, and suggestions for improvements we wouldn’t be where we are now. And quite a few seemingly “adventurous” ideas actually turned out be pretty great.
As our CEO says: “Crazy ideas are not the problem, having no ideas is a problem”
So here we are again.
We’ve decided to hear you out. What does that mean for you? It means we are introducing a desktop solution. After careful consideration, we’ve decided WebRTC is the right tool for the job.
What Is WebRTC?
WebRTC was initially developed by the American company Global IP Solutions. It was eventually bought by and widely implemented by Google. WebRTC is a free, open-source project that provides web browsers with real-time communication (RTC) via simple application programming interfaces (APIs). It’s a robust platform that allows audio and video communication to work inside web pages by enabling direct peer-to-peer communication.
The answer is easy. Everyone’s already using it. If you have a PC or Mac with Google Chrome, you essentially have a “client.”This eliminates the need to install plugins, or download and install any native apps. This is a huge advantage for any VoIP platform.
The initial idea behind this was for everybody to be able to use their existing SIP accounts anywhere in the world. You’d only need a computer, browser, and to remember one URL. The fact that WebRTC is being standardized through the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF) single-handedly solves any device-specific compatibility issues.
WebRTC and Signalling
It’s important to realize that WebRTC is protocol agnostic. That means that applications can use Google’s Channel API, HTTP POSTs, email, or SIP. And because we develop VoIP applications, it’s only natural that we use SIP for signaling. The WebRTC offer/answer model fits quite well with the idea of a SIP signaling mechanism.
It may seem easy to create a call between different browsers using a few lines of code. But numerous technical issues and challenges accompany the fusion of SIP with WebRTC. These include connecting to SIP proxies via WebSocket and sending media streams between browsers and desk phones, mobile VoIP clients, or native desktop clients. You can also encounter problems with something as trivial as packet size limitation of UDP because of the large SDP messages typical for SIP/WebRTC. That topic warrants its own post though. We’ll look into getting one of our WebRTC devs to write it one of these days.
WebRTC and Acrobits
Most of our customers are Telecom service providers ( UCaaS, PaaS, VoIP providers, MNO’s, MVNO’s). They all have their own SIP infrastructure already in place. Even though there are certain industry standards defined by RFCs, and most manufacturers follow them, there are many nuances to consider.
We needed a solution that is compatible with absolutely any SIP infrastructure, whether its PortaOne, Broadsoft, Cisco, 3CX, 2600Hz, Asterisk, Freeswitch or any of those used by your customers. That’s why we’ve developed our own proprietary WebRTC proxy called WEBIS. You can learn more about WEBIS through our public documentation.
WebRTC Client and Its Features
Acrobits’ WebRTC client can be used through Chrome or our standalone app for Windows and Mac. Our white label customers get to brand (using our design tool) and build .exe and .dmg installers for these operating systems. Standalone clients for Windows and Mac are no different than the browser version.
We use the Chromium Embedded Framework (CEF) to build those clients. It’s an open source framework for embedding a web browser engine based on the Chromium core. It allows us to add web browser control and implement an HTML5-based layout GUI in a desktop application, as well as to provide web browser capabilities to our client. The Mac client can be published easily to the Mac store.
We currently support these features in our WebRTC client:
- Voice, video, and IM
- Contact synchronization with a mobile phone, CardDAV, and via a web service
- Smart (on-net) contacts
- Call recording with recording calls stored locally
- Custom tab with web view (website embedded in the client)
- Attended and unattended transfers
- Call control like hold, forwarding, etc.
- Screen sharing
- Rich messaging (sending files, videos, pictures, etc.)
- Chrome extension that highlights phone numbers on websites allowing for click-2-call
- Balance checker
- Rate checker
- SMS wizard provisioning
- Desktop notifications
- HD video (VP9, VP8) and audio (G.722, G.711, Opus) codecs
- Customizable interface (loading screen, logos, colors, ringtones, message tones, etc.)
- SIP URIs support
- And much more…
WebRTC and It’s Future
The future is bright here at Acrobits. We firmly believe that the browser will be one of the main destinations for SIP communications. There’s no need to tweak the protocols for different browsers as they now support WebRTC out of the box. You don’t have to waste time debugging, troubleshooting, and updating for the different browsers.
Although WebRTC is still fairly new as a technology, its pros already vastly outweigh the very few cons that exist.
And you know what?
It’s here to stay. In today’s digital world where approximately five billion people use tools like social media, applications, and other channels that allow for online audio and video communication, it’s certain that we will witness an accelerated transformation towards WebRTC beyond just social apps. We’ll also see it used in enterprise scale adoptions, unified communications, and collaboration tools.
We’re already working to improve our platform in anticipation of these trends.
Here are a few new features we are currently working on:
- BLF (simple presence defined by RFC4235)
- Custom account forms (advanced configuration of settings, menus, and UI)
- XMPP and all of its advantages
- Translations (we currently support more than 30 languages in mobile apps and want to bring this to the WebRTC client as well)
- Improved UI
If you’re planning on deploying an RTC project in the next few months, or are simply curious and want to put our technology to the test, you can reach a member of our sales team by booking a free demo today.