Speaking to a sales rep for one of those companies that sell their own version of Asterisk, they told me that QOS would not function properly with Asterisk/FreePBX because FreePBX uses Apache and it could not be ran as root. I don’t know if the company was telling me this to make a sale or to help me out. Has any body heard this before? What exactly are the sales reps trying to tell me? What are some of your inputs on this?

For asterisk to set the proper TOS / QOS flags in the outgoing packets, it needs to be run as root - which is a bad thing ™. There is work going on in 1.6 that allows asterisk to set TOS / QOS when not running as root.

But you can as easy set this with iptables - look at astshape for example. It’s all about telling your router to prioritze the sip / rtp traffic - and then you can only hope that the rest of the internet will honour the flags…

If you are using a commercial MPLS network or if you have access to your MPLS router, you should be able to specify QOS for an IP address (of your PBX system). This is what I do and it works good.

From Asterisk 1.4.18 there is support for libcap, so you only need to install this library in linux to set TOS/DSCP value directly from sip.conf and iax.con with a user different from root. FreePBX 2.4 already support tagging of packets with dscp 46, Expedited Forwarding.