[LARTC] voip quality/bandwidth/latency techniques

Andy Furniss lists at andyfurniss.entadsl.com
Tue Jul 17 03:24:39 CEST 2007


dale wrote:
> I have voip quality issues I would like to minimize.  I have a ~= 
> 3M/384k (Comcast) cable modem and a CentOS based Linux router (SME 7, 
> 2.6.9 kernel) with 5 NAT'd devices (3 PCs "DHCP", 2 Vonage adapters 
> "static 10.10.2.10-11").  The quality problems are audio cutting out and 
> popping.  I tried the following (see below) based on a Cookbook example, 
> but I still have audio popping.  I have noticed popping corresponding 
> with web browsing, etc.

Maybe you need to consider shaping/policing ingress traffic aswell.

   Any suggestions that may improve voip quality?
>  Also, are there any network metric capture/graphing tools that are 
> helpful to analyze these type of issues.  I'm thinking of a graph that 
> shows various network metrics.  I could watch the graph while using the 
> phone and correlate graph spikes with audio pops.  Thanks in advance for 
> your help.

I don't use any graphing tools, but I would mark icmp as 1 aswell and 
have ping running while testing.

> 
> Dale
> 
> 
> 
> tc qdisc del root dev eth1
> tc qdisc add dev eth1 root handle 1: htb default 12

Since you mark all unmarked ip as 3 you don't need default 12 - it will 
send arp to the worst class.

> tc class add dev eth1 parent 1:  classid 1:1  htb rate 300kbit ceil 300kbit
> tc class add dev eth1 parent 1:1 classid 1:10 htb rate 200kbit ceil 
> 300kbit prio 0
> tc class add dev eth1 parent 1:1 classid 1:11 htb rate  50kbit ceil 
> 300kbit prio 1
> tc class add dev eth1 parent 1:1 classid 1:12 htb rate  30kbit ceil 
> 300kbit prio 2
> tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 1 fw classid 
> 1:10
> tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 2 fw classid 
> 1:11

unused?

> tc filter add dev eth1 parent 1:0 protocol ip prio 3 handle 3 fw classid 
> 1:12
> iptables -t mangle -A PREROUTING --src 10.10.2.10 -j MARK --set-mark 0x1
> iptables -t mangle -A PREROUTING --src 10.10.2.10 -j RETURN
> iptables -t mangle -A PREROUTING --src 10.10.2.11 -j MARK --set-mark 0x1
> iptables -t mangle -A PREROUTING --src 10.10.2.11 -j RETURN
> iptables -t mangle -A PREROUTING -j MARK --set-mark 0x3

Andy.


More information about the LARTC mailing list