VoIP QoS con Mikrotik

Ya se dispone de nuevo punto de acceso en la red Termens Wireless, usando Mikrotik. Se ha utilizado una placa Mikortik RouterBoard 333, basada en una CPU PowerPC E300. Está equipada con 3 puertos LAN y 3 slots miniPCI, que soportan tres tarjetas R52H 802.11a/b/g (~350mW) sin problemas. RB/333 es ideal para tareas de enrutamiento de mucha carga, optimizado para antenas Dual NStreme.

Mikrotik
Imagen: (Tuxed) Punto de acceso montado

 

El proceso para asignar Voip QoS, (priorización en Layer3) pasa por marcar los paquetes que vienen de una IP en concreto (donde estará el servidor Asterisk):

/ip firewall mangle
add chain=forward src-address=ip_servidor_asterisk action=mark-packet new-packet-mark=VOIP\
    passthrough=no comment="VOIP" disabled=no
 
add chain=forward dst-address=ip_servidor_asterisk action=mark-packet new-packet-mark=VOIP\
    passthrough=no comment="VOIP" disabled=no

Si estamos usando hardware que utiliza el byte TOS (Type Of Service) para expresar su prioridad. Debemos consultar en el manual el valor del byte TOS o bien analizar el tráfico RTP con un sniffer de red tipo Wireshark. Finalmente añadimos el valor obtenido (en hexadecimal) que debemos expresar en decimal para el marcado de paquetes del Mikrotik:

/ip firewall mangle
add chain=forward tos=valor_decimal_tos action=mark-packet new-packet-mark=VOIP passthrough=no \
    comment="voip tos valor_decimal_tos" disabled=no

Por ultimo podemos crear una cola donde le asignaremos prioridad 2 a estos paquetes (Mikrotik usa un rango de 1 a 8, siendo 8 la prioridad más baja mientras que 1 se reserva para protocolos de enrutamiento):

/ queue tree
add name="ether1_voip" parent=ether1 packet-mark=VOIP limit-at=0 queue=default priority=2 \
    max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
add name="ether2_voip" parent=ether2 packet-mark=VOIP limit-at=0 queue=default priority=2 \
    max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no

La priorización en el Layer 2 nos permite definir vLANs para separar el tráfico.

URL para hacer trackback a este post:

http://bytecoders.net/trackback/607