Vous êtes sur la page 1sur 3

5/1/2018 Un simple pero efectivo script QoS para todo el tráfico IAX de un host | Bytecoders

Asterisk Debian GNU/Linux Descargas Drupal PDA / PPC Proyectos

Bytecoders Linux, Asterisk, PPC y otros gadgets

Home › $HOME › Asterisk

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

Wed, 24/10/2007 - 11:39 — bytecoders

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

Asterisk:
voip
asterisk
Qué te parece:

http://bytecoders.net/content/un-simple-pero-efectivo-script-qos-para-todo-el-tr%C3%A1fico-iax-de-un-host.html 1/3
5/1/2018 Un simple pero efectivo script QoS para todo el tráfico IAX de un host | Bytecoders

Add new comment

Comments

se puede hacer Qos a SIP y IAX Thu, 27/11/2008 - 17:59 — Federico (not verified)

Te hago una pregunta como modificas este escript para que controle el trafico de sip y iax.

desde ya muchas gracias.

reply

Es el mismo concepto para SIP Thu, 27/11/2008 - 18:41 — bytecoders

Hola Federico,

Puede ser útil también para priorizar tráfico SIP, es el mismo concepto pero sustituyendo el puerto 4569 (usado por el
protocolo IAX) por el 5060 (que se suele usar en SIP). El flag 0x10 (minimizar latencia) continua siendo el mismo.

Saludos.

reply

SIP se negocia por el puerto Thu, 11/03/2010 - 19:38 — Anónimo (not verified)

SIP se negocia por el puerto 5060 pero los datos cuando se hace una llamada son transmitidos por el rango UDP
10000-20000

reply

Varios servidores asterisk por IAX Wed, 07/10/2009 - 17:22 — Adriana (not verified)

Hola,

En la linea:

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

Cuando se asume que a.b.c.d es la DIRECCION IP del servidor de VOIP hacia donde encaminamos el tráfico.
Yo entiendo que debo colocar esa linea por cada servidor asterisk que tenga ¿es asi? ejemplo si tengo 3 oficinas
Coloco en el servidor asteriskr de la oficina 1
match ip dst ip-branch2/32 classid 1:10
match ip dst ip-branch3/32 classid 1:10
Coloco en el servidor asteriskr de la oficina 2
match ip dst ip-branch1/32 classid 1:10
match ip dst ip-branch3/32 classid 1:10
Coloco en el servidor asteriskr de la oficina 3
match ip dst ip-branch1/32 classid 1:10
match ip dst ip-branch2/32 classid 1:10

Es asi?

reply

Yo lo veo correcto Tue, 20/10/2009 - 20:10 — bytecoders

Hola Adriana,

http://bytecoders.net/content/un-simple-pero-efectivo-script-qos-para-todo-el-tr%C3%A1fico-iax-de-un-host.html 2/3
5/1/2018 Un simple pero efectivo script QoS para todo el tráfico IAX de un host | Bytecoders

siento la respuesta tardía. Por lo que veo, si que me parece correcto.

Es este esquema en el servidor de cada oficina les pones las direcciones IP de los servidores que están en las otras dos
oficinas.,

Por tanto, debería valerte.

Un saludo.

reply

Script QoS Wed, 03/11/2010 - 21:53 — Carlos (not verified)

Hola porfa, quisiera que me ayudes, mira e construido mi script con reglas QoS para balancear la carga, pero no se en donde
guardarlo y con que tipo de extension (si cabe el termino), y como hacer que se inicie en el arranque o cargarlo, te
agradeceria mucho de tu ayuda. Gracias

reply

Ponlo en el init.d Fri, 19/11/2010 - 20:38 — bytecoders

Hola Carlos,

para que se cargue al inicio debes colocar el script en el directorio /etc/init.d, darle permisos de ejecución con el comando
chmod +x nombredelficheroscript y finalmente ejecutar el comando sudo update-rc.d nombredelficheroscript defaults.

Cambia nombredelficheroscript por el nombre que tenga el fichero donde guardaste tu script.

Un saludo.

reply

Todas las noticias, comentarios y artículos son publicados bajo licencia Creative Commons y son responsabilidad absoluta del
editor que los realice. La comunidad Bytecoders no se responsabilizará del contenido escrito por los usuarios.
El uso de nuestro sitio web implica la aceptación de los Términos y Condiciones.
Bytecoders es posible gracias a Debian, Drupal, Apache, MySQL, PHP y a nuestro servidor

fortune informatica.fortunes -a

Tue, 22/01/2008 - 10:30 — bytecoders

Hay dos formas de escribir programas sin errores. Sólo la tercera funciona.
— PC Users. La mejor revista de computación del mundo.

bytecoders's quotes

http://bytecoders.net/content/un-simple-pero-efectivo-script-qos-para-todo-el-tr%C3%A1fico-iax-de-un-host.html 3/3

Vous aimerez peut-être aussi