All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] voip quality/bandwidth/latency techniques
@ 2007-07-12 19:51 dale
  2007-07-13 17:09 ` Ales Klok
  2007-07-17  1:24 ` Andy Furniss
  0 siblings, 2 replies; 3+ messages in thread
From: dale @ 2007-07-12 19:51 UTC (permalink / raw)
  To: lartc

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

Dale



tc qdisc del root dev eth1
tc qdisc add dev eth1 root handle 1: htb default 12
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
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

_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LARTC] voip quality/bandwidth/latency techniques
  2007-07-12 19:51 [LARTC] voip quality/bandwidth/latency techniques dale
@ 2007-07-13 17:09 ` Ales Klok
  2007-07-17  1:24 ` Andy Furniss
  1 sibling, 0 replies; 3+ messages in thread
From: Ales Klok @ 2007-07-13 17:09 UTC (permalink / raw)
  To: lartc

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.  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.
>
> Dale
Hi Dale, you have to guarantee both delay (latency) and bandwidth for 
clean VoIP calls. With HTB you can't do that (although it's still better 
than nothing). You should use HFSC scheduler. If you have working HTB 
script than changing it to HFSC is quite simple. Good start is here 
http://linux-ip.net/articles/hfsc.en/ also there are plenty of exapmles 
using HFSC for VoIP on the web. Note that you have to guarantee latency 
and bandwidth on both incoming and outgoing direction (i can see only 
outgoing in your example). There are other things to tweak such as MTU, 
VoIP chunk size and others, but start with HFSC shaping.
/ak
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LARTC] voip quality/bandwidth/latency techniques
  2007-07-12 19:51 [LARTC] voip quality/bandwidth/latency techniques dale
  2007-07-13 17:09 ` Ales Klok
@ 2007-07-17  1:24 ` Andy Furniss
  1 sibling, 0 replies; 3+ messages in thread
From: Andy Furniss @ 2007-07-17  1:24 UTC (permalink / raw)
  To: lartc

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.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-17  1:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-12 19:51 [LARTC] voip quality/bandwidth/latency techniques dale
2007-07-13 17:09 ` Ales Klok
2007-07-17  1:24 ` Andy Furniss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.