Introducing Plivo Browser SDK for Mobile Browsers
-
Browser SDK
- 18 Nov 2020
The Plivo Browser SDK lets users make and receive calls using Plivo applications directly from a web browser. Using our SDK, you can create applications like click-to-call, conferencing bridges, and even web phones.
Developers have been using Browser SDK for several years to write applications for desktop browsers. We now support the Plivo Browser SDK in mobile browsers — namely Chrome and Firefox on Android and Safari on iOS. This means that customers can use the Browser SDK to build audio calling applications designed for the mobile web.
Use cases include:
- Call center — Build a more efficient call center workflow by allowing your agents to make and receive calls via their browsers and control call flows in your app using our API.
- Click to call — Whether you’re building a feature-rich call center or adding click-to-call to your CRM app, Plivo runs seamlessly in the background to allow your users to interact via audio communication.
- Web-based help desk — Create great service experiences and workflows. Your sales and support agents can access customer info while making calls directly from their web browsers.
- Web conferencing — Build rich conference experiences with Plivo’s out-of-the-box features, including unique call flows, recording calls, and branded conference greetings.
Mobile support enables developers to deliver engaging experiences for users who prefer using their mobile devices without downloading a native app. To leverage this functionality, you need to use the latest version of the SDK and update your application UI for the mobile form factor.
While our Browser SDK supports most of the standard functionality in the corresponding mobile browsers (Chrome, Firefox, and Safari), due to various browser engine limitations, support for features differs by browser and platform. We tested the Browser SDK on mobile browsers and documented the functional limitations below, along with some performance benchmarks.
Functional feature support
Chrome | Firefox | Safari | |
Make and receive calls | Supported | Supported | Supported |
Mute and unmute | Supported | Supported | Supported |
Support for DTMF | Supported | Supported | Supported |
Call quality metrics tracking | Supported | Supported | Not supported |
Microphone and speaker toggling | Supported | Not supported | Not supported |
Move browser to background during ongoing call | Call continues | Call continues | Call continues |
Receive incoming call when browser is in background | Rings only when the browser is brought to the foreground; then the call can be answered as usual. | Rings only when the browser is brought to the foreground; then the call can be answered as usual. | Rings only when the browser is brought to the foreground; then the call can be answered as usual. |
Incoming PSTN call during ongoing SDK call | Both calls happen in parallel. | SDK call will be overwritten by PSTN call (audio running in background and no audio heard from app), but when PSTN call is disconnected, SDK call continues. | Both calls happen in parallel. |
Echo cancellation and noise reduction | Supported | Supported | Supported |
Performance
Chrome | Firefox | Safari | |
CPU usage on-call | Max 7% | The browser doesn’t provide this information at the JavaScript library (SDK) level. | 0.116 |
CPU usage idle state | Max 1% | 0.019 |
|
Memory consumption on-call | Max 5MB | Max 4.8MB |
|
Memory consumption idle state | Max 3.1MB | Max 4.8MB |
|
Network usage | Total requests: 23 Transferred over network: 645B Resources loaded by the page: 1MB Finish: 1.55 sec (async loading of objects) | Total requests: 7 Transferred over network: 1.26 KB Resources loaded by the page: 778.32 KB Finish: 19.88 sec (async loading of objects) DOMContentLoaded: 121 ms Load: 142 ms | Domains: 4 Resources: 6 Total loaded: 2.97KB Bytes transferred: 536B Time: 0 |
Jitter | 4 ms | No jitter | No jitter |
RTT | 122 ms | 105.91 ms, 100.12 ms | 150.48 ms, 100.28 ms |
Packet loss | No packet loss | 0.03% (no packet loss) | No packet loss |