You will not be able to view this website in all its glory until you upgrade your browser to one that supports web standards.


Setting up quality of service (qos) on a thomson modem for a ip (voip) phone modem
Tuesday, 19 June 2007
I noticed that while i was calling with my ip phone (a small modem box from telio called sipura) some times the person on the other side of the line complained about bad quality and breaking up of my voice. While i could hear the person i called clearly the other side experienced a bad line.
I then found out that this was actually only happening while somebody on the network was using a p2p program.
This made me realise that the p2p upload connection competed with my voice connection.

So i  to see if it was possible to get some kine of quality of service (qos) working on my ADSL modem.
I made some changes in the speedtouch in order to get a better ip phone line quality while using p2p programs.
 As qos works with priorities i wanted to
the voip data to go into a high priority queue while the p2p data would go into a best effort queue.
In order to do that I had to find out first the following...
The ports that my voip provider uses. In my case (telio) 16300-16700 for RTP and 4569 for IAX
The bittorrents here run between 65534 and 65535 tcp / udp
and emule in tcp 6538 and udp 37868

Oke first things first!
Make backup of the Thomson my speedtouch 546 config and edited a copy
so now edit the config of the Thomson,

first add some names with definitions

I label all service ports wich have to do with or peer2peer or ip voip.Therefore at the bottom of the section [ expr.ini ]

i added

add name=RTPTELIO type=serv proto=udp srcport=16300 srcportend=16700
add name=RTPTELIO type=serv proto=udp dstport=16300 dstportend=16700
add name=iax2 type=serv proto=udp srcport=4569
add name=iax2 type=serv proto=udp dstport=4569
add name=BitTorrent type=serv proto=tcp srcport=65534 srcportend=65535
add name=BitTorrent type=serv proto=tcp dstport=65534 dstportend=65535
add name=eMule type=serv proto=tcp srcport=6538
add name=eMule type=serv proto=tcp dstport=6538
add name=eMule type=serv proto=udp srcport=37868
add name=eMule type=serv proto=udp dstport=37868


Now add some label rules
here i group alls the names i defined into two labels, one for voip and one for peer2peer plus one extra and that is DSCP (Differentiated Service Code Point) wich is used for classification of different ip packets and that is what this is all about.

At the bottom of the section [ labelrule.ini ]
i added

rule add chain=qos_default_labels index=1 serv=DiffServ log=disabled state=enabled label=DSCP
rule add chain=qos_default_labels index=2 serv=h323 log=disabled state=enabled label=VoIP
rule add chain=qos_default_labels index=3 serv=sip log=disabled state=enabled label=VoIP
rule add chain=qos_default_labels index=4 serv=RTPTELIO log=disabled state=enabled label=VoIP
rule add chain=qos_default_labels index=5 serv=iax2 log=disabled state=enabled label=VoIP
rule add chain=qos_default_labels index=26 serv=BitTorrent log=disabled state=enabled label=Peer2Peer
rule add chain=qos_default_labels index=27 serv=eMule log=disabled state=enabled label=Peer2Peer

If the labelnames do not allrady exist you have to add them in the label.ini section
here you give them allso the priority class.
The label Peer2Peer had to be added in [label.ini]

The label Peer2Peer is put in class2 wich gives it a best effort priority

add name=Peer2Peer
modify name=Peer2Peer classification=increase defclass=2 ackclass=2


The Label VoIP is allready there so i did not have to add these lines,it is in ack class 14 so should have the class realtime highest priority
add name=VoIP
modify name=VoIP classification=overwrite defclass=14 ackclass=14 bidirectional=enabled inheritance=enabled tosmarking=enabled tos=160

modify name=DSCP classification=overwrite defclass=dscp ackclass=defclass

oke (make sure you have a backup first!!!)

upload to the 546 and see if you can work with all
then


telnet into the 546 and give command
label rule list

you will see a list of the label rules with the VOIP label rules in the top and the Peer2Peer rules in the bottom

now give the command
ipqos queue stats

i saw something like this....

{admin}=>:ipqos queue stats
Name Queue # packets # packets # packets # packets # packets
Marking
added marked removed dropped replaced

_{admin}=>ipqos queue stats
Name Queue # packets # packets # packets # packets # packets
Marking
added marked removed dropped replaced
atm_pvc_8_35 0 4042968 0 4042968 48135 361
38%
1 0 0 0 0 0
0%
2 3320981 0 3320981 1811 551
0%
3 191603 0 191603 0 0
0%
4 275580 0 275580 0 0
0%
5 1274400 0 1274400 0 0
0%
{admin}=>
 
In my case i saw that the voip traffic gets into the higher prio queue 5
wich is the critical queue
while peer2peer goes over 2 wich is the best effort queue


Last Updated ( Saturday, 21 July 2007 )
 
< Prev   Next >