[Asterisk-Users] Can you comment on this Qos script? How does one shape RTP?

cmisip cmisip at mchsi.com
Sun Apr 10 01:47:49 MST 2005


I got this from the voip wiki but the original script didn't seem to
work right so I fiddled with it a little bit.  I am no expert so maybe
someone can look at it for errors.  This is for my cable connection.  So
far asterisk seems to use 1:10 while all other traffic uses 1:102.  How
does one packet shape RTP?  

Thanks for any help.



#!/bin/sh

TCOP="add"
IPTOP="-A"

if [ "$1" == "stop" ]; then
       echo "Stopping..."
       TCOP="del"
       IPTOP="-D"
fi

#          +---------+
#          | root 1: |
#          +---------+
#               |
# +----------------------------+
# |         class 1:1          |
# +----------------------------+
#   |           |           |
# +----+      +----+      +----+
# |1:10|      |1:20|      |1:30|
# +----+      +----+      +----+
#               |
#      +--------+--------+
#      |        |        |
#   +-----+  +-----+  +-----+
#   |1:100|  |1:101|  |1:102|
#   +-----+  +-----+  +-----+

# 1:10 is the class for VOIP traffic, pfifo qdisc
# 1:20 is for bulk traffic (htb, leaves use sfq)
# 1:30 is the class that interactive and TCP SYN/ACK traffic (sfq qdisc)

# 1:20 is further split up into different kinds of bulk traffic: web,
mail and
# everything else.  1:100-102 fight amongst themselves for their slice
of excess
# bandwidth, and in turn 1:10,20 and 30 then fight for any excess above
their
# minimum rates.

# which interface to throw all this on (cable)
IF=eth0

# ceil is 75% of max rate (768kbps)
# rate is 65% of max rate

RATE=500
CEIL=576


/sbin/tc qdisc ${TCOP} dev ${IF} root handle 1: htb default 102
/sbin/tc class ${TCOP} dev ${IF} parent 1:   classid 1:1 htb rate
${RATE}kbit ceil ${CEIL}kbit

/sbin/tc class ${TCOP} dev ${IF} parent 1:1  classid 1:10 htb rate
64kbit ceil ${RATE}kbit prio 0
/sbin/tc class ${TCOP} dev ${IF} parent 1:1  classid 1:20 htb rate
64kbit ceil ${RATE}kbit prio 1

/sbin/tc class ${TCOP} dev ${IF} parent 1:20 classid 1:100 htb rate
${RATE}kbit prio 1
/sbin/tc class ${TCOP} dev ${IF} parent 1:20 classid 1:101 htb rate
${RATE}kbit prio 1
/sbin/tc class ${TCOP} dev ${IF} parent 1:20 classid 1:102 htb rate
${RATE}kbit prio 4

/sbin/tc qdisc ${TCOP} dev ${IF} parent 1:10  handle 10:  pfifo
/sbin/tc qdisc ${TCOP} dev ${IF} parent 1:100 handle 100: sfq perturb 10
/sbin/tc qdisc ${TCOP} dev ${IF} parent 1:101 handle 101: sfq perturb 10
/sbin/tc qdisc ${TCOP} dev ${IF} parent 1:102 handle 102: sfq perturb 10

# IAX send to 1:10
/sbin/tc filter ${TCOP} dev ${IF} protocol ip parent 1:0 prio 0 u32
match ip dport 4569 0xffff flowid 1:10
# SIP send to 1:10
/sbin/tc filter ${TCOP} dev ${IF} protocol ip parent 1:0 prio 0 u32
match ip dport 5060 0xffff flowid 1:10







More information about the asterisk-users mailing list