For a while now SysAdminMan has been offering FreePBX/A2Billing hosting with OpenVPN server already installed on the server. What I really want to find is the perfect client/router that’s simple to configure and easy to deploy. We’ve been recommending OpenWRT for a while now but it can be a pain to flash the firmware and get OpenVPN configured.
I’ve also used Microtik routers for a while and they are very powerful routers in such a small, reasonably priced, package. This test was done using a Microtik RB750GL
I wasn’t sure how it would work though as Microtik routers only support OpenVPN over TCP, not UDP. This means all the VOIP traffic will be running over a TCP connection which, in theory, is not ideal.
This performance testing was done using -
- Virgin Media Broadband with 60mb down and 3mb up. The upload limit on your broadband connection will nearly always be the limiting factor for call quantity/quality
- Asterisk is running on a SysAdminMan VPS and is placing the incoming calls to music-on-hold
- sipp was used at the remote site to generate test calls
- Linksys SPA941 was used at the remote site to test call quality
- G711/aLaw was used for all calls
- No other traffic was happening on the broadband connection
We start off with 10 concurrent calls, then 20 and finally 40.
10 CONCURRENT CALLS
Here you see we have sipp generating 9 G711 calls with audio
and the traffic flowing through my Virgin Media broadband connection. Over the OpenVPN TCP link each G711 call is using around 110kb/s
and here is the audio from a call placed from the Linksys physical phone
20 CONCURRENT CALLS
Here you see we have sipp generating 19 G711 calls with audio
and the traffic flowing through my Virgin Media broadband connection
and here is the audio from a call placed from the Linksys physical phone
40 CONCURRENT CALLS
Here you see we have sipp generating 39 G711 calls with audio
The upload link on my broadband connection is being overwhelmed and sipp is starting to report call errors.
My broadband link is reporting traffic throughput wildly up and down as it struggles to limit the flow of traffic being sent to it
and the audio from the call on the physical phone is breaking up and would likely be unintelligible. This is the audio that is being downloaded over the broadband link, the uploaded audio is likely much worse
CONCLUSION
Even though I found the limits of my broadband link and ended up with a poor quality call the results of running VOIP over a TCP OpenVPN tunnel were actually much better than I thought they would be. Twenty concurrent calls ran with no problems, and I think this would be much higher using a different codec.
There are a few things to consider though -
- Many routers will automatically prioritise UDP traffic. This is not going to be the case for OpenVPN traffic running over TCP. It’s likely that other traffic on the link (file downloads, web browsing …) would affect the audio calls. If you are going to be using the link for other traffic you will probably want to prioritise the OpenVPN traffic on the broadband router if possible
- These tests were done a a fast, stable broadband link. I’m unsure what the results would be on a slower link, or a link with poor jitter or packet loss.
In another post I’ll detail the steps involved in getting OpenVPN set up on a Microtik router