One of the most popular questions asked by WebRTC developers and enthusiasts alike is “Between Agora, TokBox, and Twilio, which WebRTC CPaaS is the best?” These three WebRTC and telephony giants dominate most of the CPaaS market, but customers aren’t always sure which one best suits their needs. This is no easy question, and at the end of the day, it comes down to your specific needs. Let’s evaluate these three platforms’ pricing and performance metrics to help you figure out which one is best for you.
Platform features and pricing are key factors in choosing your CPaaS service. Most CPaaS services, including the three we’re looking at today, charge by the minute. Depending on how much you use the platform, you could rack up quite a large bill. Here is a breakdown of the main features and pricing for these three platforms:
Based on the information above, Agora seems to have the biggest bang for its buck, followed by Twilio and TokBox.
Now let’s discuss performance. We will use testRTC for testing and run the web servers on a t2.micro Amazon EC2 instance in US. Here are the repos we’re using for each platform:
- Agora: https://github.com/AgoraIO/Basic-Video-Call/tree/master/Group-Video/OpenVideoCall-Web
- TokBox: https://github.com/opentok/opentok-rtc
- Twilio: https://github.com/kimobrian/TwilioReact
We gathered performance metrics for each of these three services with three group call participants. In one case, there was no network throttling. In the other, the bandwidth was throttled to about 1,200 kbits/sec. This kind of test encapsulates the normal use case of any application. Here are the results:
Normal Network Conditions
Network Throttled (1200 kbits/sec)
* Note: We did several tests and arrived at the same setup time under the given network throttling for both platforms.
These results can be a little intimidating. Generally, under normal network conditions, Agora, TokBox, and Twilio perform about the same. Agora seems to perform a little better and hits a higher bit rate, but all in all, the difference is very minimal.
A call over a poor network connection is when things seem to get interesting. Agora seems to have a call setup time that’s twice as fast, but it fails to connect all three users to the call. One of the callers always fails to connect. TokBox and Twilio seem to be on even ground in that they have longer call setup times but all three users are able to connect to the call. In terms of packet loss, TokBox and Twilio hit almost identical benchmarks, but Agora always seems to have more.
Overall, all three platforms are great for quick development and have been used in production in small to large applications. With Agora, call setup is quicker and bit rate is higher, but error rate is also higher than TokBox and Twilio. In a throttled network, we get a lower error rate using TokBox.
However, each one can be a better fit for different kinds of applications. For example, for an app that’s capable of making phone calls, TokBox and Twilio might be better options. For a video chat app at a good price, Agora probably fits your needs. In the end, what matters is choosing the right tool for the right job.