Jared Valentine’s “Application Aware Triggered QoS”

Jared Valentine has posted an interesting description of a system he developed for automatically manipulating QoS & bandwidth allocation to support the use of VOIP over his DSL service. He calls this “Application Aware Triggered QoS.”

He described his initial problem as being trouble with inbound bandwidth management. This is something that I’ve never experienced myself. My trouble was always related to limited outbound bandwidth.

His process for understanding what was going on is an excellent example of how to analyze network traffic. His solution, while interesting, is probably not appropriate for everyone.

He uses a combination of Snort and pfSense to monitor network traffic, sensing the presence of SIP call setup signaling. When a call is sensed he fires a command to his Cisco router to engage rate limiting such that the call can proceed ideally. Once the call has been completed he automatically disables the rate limiting.

I did say it was novel, right? It’s like intrusion detection for VOIP.

He says very plainly that all he was seeking was one Vonage line, and that he had to severely throttle his allowable download speed to get clear calling. While Jared’s DSL service is said to be 1.5 Mb x 1.0 Mb he says that he had to limit to 800k download for the Vonage line to work correctly.

I wonder what Vonage interface device he was given? They have some with built-in routers and QoS is supposedly assured. I also wonder if he tried using Vonage’s low bandwidth setting? It just chooses a low bandwidth codec…very likely G.729a or a G.723 variant.

  • Hi Michael. Thanks for the mention in your blog! I use a standard Linksys RT31P2 adapter, which was sent to me by Vonage. The problem really isn’t with Vonage. If no one else is using the Internet, call quality if perfect with all the different compression settings.

    The issues I experience only happen during sustained downloads. When my DSL line is filled to capacity, the latency shoots to 500ms+, and that’s unacceptable for VoIP. The applications that “fill the pipe” as it were are wide and varied: YouTube & other online video, FTP, BitTorrent (or other P2P), updates of all sorts (AV, Windows, Linux, etc) and, as I mentioned in my article, when my daughters watch previews for “My Little Pony” or “Barbie” movies. (they’re quite bandwidth intensive). I can only imagine what happens when we start renting movies from the iTunes movie store and are downloading gigs upon gigs of data.

    I understand that many people have less outbound bandwidth than I (cablemodems typically have 3mb down / 256k up). The same issues apply with outbound as it does with inbound. This same framework can easily handle the outbound issues as well. It’s all just a matter of what’s in the script that gets executed when the call starts. The script could (and probably should) enable outbound & inbound TCP rate-limiting, and the Cisco router supports different rates for each direction. With a 3mb/256k, that could mean limiting the down to 2.5mbps, and limiting the up to 128k (or 96k or 64k) – whatever it takes to keep enough headroom available for VoIP. I’ll probably update my “How-To” with some outbound TCP rate-limiting as well. Thanks for the suggestion.

    In my own network, limiting everything to 800k is probably a little excessive – but it’s extremely safe. I was fed up with having other “QoS” solutions reserving too little and not having the drastic effect I was looking for. And while I’m extremely pleased with the great call quality I now have, I’ll probably revisit the actual inbound rate-limit and see how far I can push it until things start to deteriorate.

    If you have any other questions, let me know. My e-mail address is available from my webpage. Thanks! -Jared

  • mjgraves


    I must admit that your situation is beyond my experience. I wonder where the source of all that latency lies? I’d be very interesting to know if the problem is more or less manageable with m0n0wall or pfsense in place of your Cisco router. I know that’s difficult to do.

    My DSL service is about 2.2M x 540k typically (3.0 x 768k according to Covad Sales). I’ve only had to focus on the outbound leg to get the VOIP working well. However, in our house we don’t have any p2p apps running. Lots of FTP, http, Tivos, etc.

  • I’ve got a Vonage supplied Linksys RT31P2 that does QoS. My phone service is set to 90kbps and sounds great. I’m using it over a cable modem with 20/2 service.