<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texto de balão Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.TextodebaloChar
        {mso-style-name:"Texto de balão Char";
        mso-style-priority:99;
        mso-style-link:"Texto de balão";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=PT-BR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Olá Comunidade,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>                - Eu estava com problemas de RUIDOS no meu
VOIP, eu estou usando VONO e VIRTUA para a comunicação, resolvi comprar um link
de 12MB por 700K e usar este exclusivo para meu Server VOIP, porém continuo com
problemas de ruídos e picote na ligação, quando faço o teste de velocidade este
se apresenta PERFEITO, sempre com a velocidade de 12MB x 700K, não tenho nenhum
gargalo na rede física LOCAL, porém mesmo assim resolvi copiar um script de QoS
que consegui no asteriskguru, e adaptei-o, porém acho que as vezes o problema
pode estar nele, e preciso da ajuda de vocês (Minha rede: 192.168.0.0/24).<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>O Script:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span lang=EN-US>#!/bin/bash<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>TC=/sbin/tc<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DEV=eth4<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>if [ &quot;$1&quot; = &quot;prio&quot; ]<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       CEIL=170<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       DOWNLINK=768<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>else<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       CEIL=370<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       DOWNLINK=12288<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>fi<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># low priority OUTGOING traffic - you can
leave this blank if you want<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># low priority source netmasks<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>NOPRIOHOSTSRC=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># low priority destination netmasks<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>NOPRIOHOSTDST=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># low priority source ports<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>NOPRIOPORTSRC=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># low priority destination ports<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>NOPRIOPORTDST=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>if [ &quot;$1&quot; = &quot;status&quot; ]<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC -s qdisc ls dev $DEV<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC -s class ls dev $DEV<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       exit<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>fi<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># clean existing down- and uplink qdiscs,
hide errors<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc del dev $DEV root    2&gt;
/dev/null &gt; /dev/null<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc del dev $DEV ingress 2&gt;
/dev/null &gt; /dev/null<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>if [ &quot;$1&quot; = &quot;stop&quot; ]<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       exit<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>fi<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>###### uplink<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} root handle 1:
prio bands 2 priomap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} parent 1:1 handle
11: pfifo<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} parent 1:2 handle
12: htb r2q 3<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC class add dev ${DEV} parent 12: classid
12:1 htb rate ${CEIL}kbit burst 2k<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC class add dev ${DEV} parent 12:1
classid 12:10 htb rate $[50*$CEIL/100]kbit ceil ${CEIL}kbit burst 2k prio 1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC class add dev ${DEV} parent 12:1
classid 12:11 htb rate $[30*$CEIL/100]kbit ceil ${CEIL}kbit burst 2k prio 2<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC class add dev ${DEV} parent 12:1
classid 12:12 htb rate $[20*$CEIL/100]kbit ceil ${CEIL}kbit burst 2k prio 3<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} parent 12:10
handle 1210: sfq perturb 10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} parent 12:11
handle 1211: sfq perturb 10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev ${DEV} parent 12:12
handle 1212: sfq perturb 10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># VoIP traffic always get first in line<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 1: prio 1
protocol ip u32 match ip tos 0x68 0xff match ip protocol 0x11 0xff flowid 1:1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 1: prio 1
protocol ip u32 match ip tos 0xb8 0xff match ip protocol 0x11 0xff flowid 1:1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># All non-VoIP traffic on the second band<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 1:
protocol ip prio 3 u32 match ip src 0.0.0.0/0 flowid 1:2<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># TOS Minimum Delay<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 12:
protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 12:10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># ICMP (ip protocol 1) in the interactive
class<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 12:
protocol ip prio 11 u32 match ip protocol 1 0xff flowid 12:10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># To speed up downloads while an upload is
going on, put ACK packets in<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># the interactive class:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 12:
protocol ip prio 12 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match
u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 12:10<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># some traffic however suffers a worse fate<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>for a in $NOPRIOPORTDST<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>do<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC filter add dev $DEV parent 12:
protocol ip prio 30 u32 match ip protocol 0x6 0xff match ip dport $a 0xffff
flowid 12:12<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>done<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>for a in $NOPRIOPORTSRC<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>do<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC filter add dev $DEV parent 12:
protocol ip prio 31 u32 match ip protocol 0x6 0xff match ip sport $a 0xffff
flowid 12:12<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>done<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>for a in $NOPRIOHOSTSRC<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>do<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC filter add dev $DEV parent 12:
protocol ip prio 32 u32 match ip protocol 0x6 0xff match ip src $a flowid 12:12<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>done<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>for a in $NOPRIOHOSTDST<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>do<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       $TC filter add dev $DEV parent 12:
protocol ip prio 33 u32 match ip protocol 0x6 0xff match ip dst $a flowid 12:12<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>done<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># rest is 'non-interactive' ie 'bulk' and
ends up in the default queue<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev ${DEV} parent 12:
protocol ip prio 20 u32 match ip src 0.0.0.0/0 flowid 12:11<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>########## downlink #############<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># slow downloads down to somewhat less than
the real speed  to prevent<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># queuing at our ISP. Tune to see how high
you can set it.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># ISPs tend to have *huge* queues to make
sure big downloads are fast<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>#<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># attach ingress policer:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>if [ &quot;$1&quot; = &quot;prio&quot; ]<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC qdisc add dev $DEV handle ffff: ingress<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># filter *everything* to it (0.0.0.0/0),
drop everything that's<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># coming in too fast:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>$TC filter add dev $DEV parent ffff:
protocol ip prio 50 u32 match ip protocol 0x6 0xff police rate ${DOWNLINK}kbit
burst 10k drop flowid :1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal>fi<o:p></o:p></p>

</div>

</body>

</html>