VOIP QUALITY:
The problem I've experienced with VOIP over DSL where the voice is choppy is caused by packet drop, the delay is called jitter, and is caused by a high latency.
You could increase the queue length (ip), to see if that helps, reduce the frames per transmission, and try the red (random early detection) for smart queue length management.
Queue length on ppp0 was 3?
Would changing the mtu help as well? Looks like the standard setting for the internet is 576, but should be 1492 for pppoe, 1500 for Ethernet.
Sounds like setting it to 256 might be better actually. http://www.opalsoft.net/qos/VoIP.htmhttp://www.opalsoft.net/qos/DS-26.htm
Decent "bounded" script: http://www.securityfocus.com/infocus/1285http://www.docum.org/docum.org/faq/cache/74.html
Now this is awesome! But proc intensive...http://l7-filter.sourceforge.net/protocols
Connection tracking: http://kalamazoolinux.org/presentations/20010417/conntrack.html
It would be best to be able to set IP TOS within apache based upon: user-agent, file-type, mime type, etc. , then allow the router to do the bandwidth throttling and shaping.
There was a mod for apache 1.3 called mod_iptos. Doesn't help with 2. I might be able to accomplish it using an external filter, marking the ip tos with the set command.
This is what I need: http://sardes.inrialpes.fr/~philijer/netproj05/
This doesn't look bad: http://www.ivn.cl/apache/#bandwidth
Actually I think this is pretty good! I don't think it can restrict via user-agent though.
TC_TBF
TBF is more complicated than you would think, simply because when information is sent across a network, it is sent in packets. Since the packet size does not always match directly with the speed at which you want data sent, there must be an equalizer.
For example, if you only want to send 500 bits per second, and you measure the amount of bits sent every second, and your packets are 400 bits in size, you can actually only send 400 packets per second! You would send 400 bits in the first packet, and in the remaining time left in the first second, you can only send 400 bits. Since you cannot divide a packet up anymore, you must wait until the next second to send the packet, and so on.
From Cisco website: "Lower the maximum transmission unit (MTU) size--Voice packets are generally small. With a lower MTU size (for example, 300 bytes), large data packets can be broken up into smaller data packets that can more easily be interwoven with voice packets."
