Author’s Note: It seems that just when we recommend the best tech, it’s outdated before we know it. Our articles can age quicker than we realize! We want this article available for reference regarding what features we look for in a router, and we update it periodically. If you would like to suggest a router for our review, please email Support and let us know.
Introduction
Routers are typically best at handling a smaller number of big packets than they are at handling a large number of small packets. VoIP traffic sends about 50 packets for every second of an active call. When you start running several calls, routers can often experience issues and start discarding packets. This results in “jitter” or poor audio quality.
Since this is a relatively common issue, we wanted to recommend a couple of routers that we’ve had good experiences with.
General Recommendations
As noted above, the number of packets per second (PPS) a router can forward or route is the primary determinant for its performance in VoIP applications. When evaluating a router for its suitability, consider the number of simultaneous calls you expect to process; multiply this number by 2 * 50 (two legs per call, 50 PPS per leg for G.771 20ms). Compare this value to the rated PPS of the router (allow for the overhead of your non-VoIP traffic).
For example, if you expect to handle 100 simultaneous calls, the calculation becomes:
- 100 * (2 * 50 PPS) = 10000 PPS
In this case, the router needs to be able to route at least 10,000 packets per second for the call’s RTP (voice) streams. The router’s PPS rating often varies, based on the size of the packets being routed as well.
The 50 PPS constant used in these calculations can vary, depending on the VoIP codec being used and its payload size. Some common PPS and payload size values are:
- G.711 (64 Kbps), 20ms voice payload – 50 PPS, 87.2 Kbps (including headers)
- G.711 (64 Kbps), 30ms voice payload – 33.3 PPS, 68.8 Kbps (including headers)
- G.729 (8 Kbps), 20ms voice payload – 50 PPS, 31.2 Kbps (including headers)
Another aspect of the router’s performance to consider is its throughput, generally rated in megabits per second (Mbps). Many have differing throughput capabilities dependent upon routing features enabled: Deep Packet Inspection (DPI), Intrusion Detection System/Intrusion Prevention System (IDS/IPS), etc… To continue the 100 simultaneous call example above, the required throughput for G.711 20ms would be:
- 100 * (2 * 87.2 Kbps) = 17440 Kbps = ~17 Mbps
Juniper SRX 240h
This is our trusty router that we’ve had set up and configured for at least 3-4 years. It can easily handle several hundred calls and we believe it should be able to approach around 1000 concurrent calls. It has been solid as a rock and we’ve never experienced any major issues with it.
While it has been solid, it is a little bit pricey and typically costs $2000 to $3000.
Ubiquiti EdgeRouter Pro
This is an exciting product for us because it’s designed to handle a large number of packets (the Vendor rates 2M+ packets per second — by comparison the Juniper SRX 240H is rated for 200k packets per second).
It’s also priced significantly cheaper at about $360.
In fact as we move forward and purchase new routers we plan on purchasing the EdgeRouter Pro.
What We’ve Found
1) The performance seems to be very good on the EdgeRouter series. We expect them to handle several thousand calls. We haven’t gotten a chance to test the limits of the capacity for the EdgeRouter series, but the performance was so much better than the juniper that we decided to move forward with them.
At 600 concurrent calls the Juniper was in the 60% CPU usage range. The EdgeRouter reported anywhere from 1-4% CPU usage when processing 500 calls (and we did place several test calls to test for jitter…the calls were crystal clear).
2) The price can’t be beat for $360 and the performance that it’s been able to achieve.
3) They can be a little clunky to set up initially, but the interface has improved recently. Once they are configured they seem to be solid (we haven’t had to reboot since we did our initial configuration).
4) Our Juniper SRX240H is certainly more battle tested than our Ubiquiti Edge Router Pro. We’ve used that regularly for 3-4 years now with no major issues.
5) In our initial tests, we didn’t have quite as many rules as we did with the Juniper so it probably wasn’t a fair fight. Still the Juniper is rated for about 200K pps, and the EdgeRouter claims 2M+ pps — our initial tests seemed to support the number from Ubiquiti.
6) The edge router may not have options to do some of the more advanced features you may want to have on your firewall (i.e. intrusion detection etc). I don’t know if the Juniper has those either, but you may want to look at some specific features that you use and see if they are supported.
7) We use the EdgeRouter Pro, but the entry level model (EdgeRouter Lite) starts at about $100, you could try getting started with that and see if it has the features that you need (the interface and software features are the exact same between the Pro and Lite models, but the Pro model uses a CPU that’s twice as fast and has 4 times the memory as well as several more ethernet ports.
Conclusion
We can easily recommend either of the above routers for use with our software. While we have more confidence in the Juniper SRX 240H because of the longer track record, we are encouraged and excited by the initial results we’ve experienced with the EdgeRouter Pro and so far, its reliability has been fantastic for us.
We have recommended the EdgeRouter Pro to customers and we know of at least one customer that’s using it with 1000 ports of HMP Elements without issues.
Feel free to contact support@inventivelabs.com for additional questions.