Un simple pero efectivo script QoS para todo el tráfico IAX de un host

Veo en Computer Tech Union, un maravilloso script para ofrecer calidad de servicio en el trafico IAX de un host en concreto:

Se ha probado este script y se notan grandes diferencias en conexiones DSL cutres aunque no se soluciona a la perfección. En las conexiones T1, la diferencia es enorme. Este script está pensado para el uso con comunicaciones IAX de servidor a servidor o con efectos limitados, un teléfono sip con el bit QoS 0x10 (minimizar latencia).

en Debian estable...

apt-get install iproute
nano qos.sh
 
#copiar esto en el script guardar y salir del programa
tc qdisc add dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0
tc qdisc add dev eth0 parent 1:1 handle 10: sfq limit 3000
tc qdisc add dev eth0 parent 1:2 handle 20: sfq
tc qdisc add dev eth0 parent 1:3 handle 30: sfq
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 4569 0xffff flowid 1:1
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip sport 4569 0xffff flowid 1:1
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip tos 0x10 0xff flowid 1:2
tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dport 4569 0xffff match ip dst a.b.c.d/32 classid 1:10

Asumiendo que estamos en el mismo directorio que nuestro programa:

chmod +x qos.sh
./qos.sh

Se asume que ETH0 es el interfaz externo
Se asume que a.b.c.d es la DIRECCION IP del servidor de VOIP hacia donde encaminamos el tráfico.

Este script instala 3 pipes diferentes. Permitirá siempre que el pipe 1:10 vaya antes del 1:20. Permitirá siempre que 1:20 vaya antes de 1:30. Entonces clasifica todo el tráfico que esté en el puerto 4569 (IAX) para meterlo en el grupo 1:10. Cualquier cosa que tenga el FLAG 0x10 QOS (minimizar latencia) se coloca en el grupo 1:20 (muchos teléfonos voip tienen esta opción solamente necesitamos activarla en el interfaz de los teléfonos). Entonces, finalmente, cada cosa que no fue emparejada va la última (esto es básicamente todo lo que no es voip).

La PRUEBA es simple. Mientras que tenemos una llamada IAX conectada, ejecutamos una de esas pruebas de velocidad. Mientras le echamos un vistazo a google earth (cantidad de ancho de banda). Antes de activar el script, tendremos un corte de 30 segundos en la conversación. Ahora ejecutamos el script y veremos la diferencia.
Dejar un comentario aquí, si el script ha funcionado

Para ver el script en acción:

watch tc -s qdisc ls dev eth0

Para quitar el script y volver a los ajustes por defecto:

tc qdisc del dev eth0 root