| 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 > |
|---|







