[c-nsp] How to QoS Voice on a Cisco LNS (How to attachaservice-policy to a Virtual-Interface?)

Kinczli Zoltán Zoltan.Kinczli at Synergon.hu
Mon Mar 7 05:24:39 EST 2005


Hello Alexander,

The LNS drops only few packets, far less than 1%, so this is not cause for bad quality.

Bandwidth 128 (kbps) Burst 3200 (Bytes) 
  (pkts matched/bytes matched) 11292/2256200
  (total drops/bytes drops) 5/1000

There are many points on the way from LNS to the CPE where packs could be lost. The path
from the LNS to the LAC and the path from the LAC to the CPE could be oversubscribed.

For instance, your current shaper allows 8000B per interval, with 8000B excess.
You might need to configure the Be to 0, and configure the Bc to the minimum, as to
decrease burstiness of the traffic. (If I'm not wrong you can go down to 10msec interval
on cental CPU based shaping, and down to 4ms in case of c75/VIP based shapping.)

As you shape down to 320K the seralization delay might get relevant, so you might need
to fragment. Unfortunately you can not (yet) do multilink PPP fragmentation over pppoE.
What you can do is configure on the Vtemplate:
- ip tcp adjust-mss 536
- ip mtu 576

(This trick is more important on ADSL, where the upstream bw is even less...)

This way, assuming most of your data traffic is TCP, the adjust mss makes sure the voice packs
are not delayed too much. MTU 576 is there to handle bug UDP packs, if there are any.
(If i'm not wrong all applications should support/accept the MTU of 576, PMTUD issues
do apply, though).


>From other hand, you should check the http://www.cisco.com/en/US/partner/tech/tk652/tk698/technologies_tech_note09186a008019ab88.shtml#topic2
document to tshoot bad voice quality.

OnTimeRvPlayout
GapFillWithSilence
GapFillWithPrediction
HiWaterPlayoutDelay
LoWaterPlayoutDelay

are the most important values to check.


Lastly, what are your LNS and CPE ios version?
  


regards,
  -zoltan



-----Original Message-----
From: Alexander Lucke [mailto:lucke at dns-net.de]
Sent: Saturday, March 05, 2005 11:16 PM
To: cisco-nsp at puck.nether.net
Cc: Kinczli Zoltán; oboehmer at cisco.com; atis at eik.bme.hu;
dschapov at dsi.ru; ariev at netvision.net.il; Cameron.Dry at didata.com.au;
atis at eik.bme.hu
Subject: Re: [c-nsp] How to QoS Voice on a Cisco LNS (How to
attachaservice-policy to a Virtual-Interface?)


Hi All,

indeed - due to your help - I could go a big step forward. I am now able to configure it but still have a quality problem.

I used a "parent shaper" and a "child policy" as suggested by Cameron and Zoltán and bound the parent shaper to my Virtual-Template:

class-map match-all DSL_voice
  match ip precedence 5
policy-map pmap-PARENT-SHAPER
  class class-default
   shape average 320000
   service-policy pmap-DSL
policy-map pmap-DSL
  class DSL_voice
   priority 128
  class class-default
   fair-queue

In my test scenario, I have a 1 Mbps SDSL line with a CPE that has a build-in VoIP gateway and a LAN port with a PC connected. The PC generates a lot of downstream traffic by downloading some FTP and HTTP files and the connected phone has one active call using G.711 codec (I play music on the network side so I can hear the music quality on the CPE side).

The queueing seems to work:

Virtual-Access8
  Service-policy output: pmap-PARENT-SHAPER
    Class-map: class-default (match-any)
      191202 packets, 155988694 bytes
      30 second offered rate 241000 bps, drop rate 0 bps 
      Match: any
      Traffic Shaping
           Target/Average   Byte   Sustain   Excess    Interval  Increment
             Rate           Limit  bits/int  bits/int  (ms)      (bytes)
           320000/320000    2000   8000      8000      25        1000 
        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
        Active Depth                         Delayed   Delayed   Active
        -      0         191192    148342518 18518     11447334  yes
      Service-policy : pmap-DSL
        Class-map: DSL_voice (match-all)
          90896 packets, 21806230 bytes
          30 second offered rate 96000 bps, drop rate 0 bps
          Match: ip precedence 5
          Queueing
            Strict Priority
            Output Queue: Conversation 40 
            Bandwidth 128 (kbps) Burst 3200 (Bytes) 
            (pkts matched/bytes matched) 11292/2256200
            (total drops/bytes drops) 5/1000
        Class-map: class-default (match-any)
          89895 packets, 126119695 bytes
          30 second offered rate 144000 bps, drop rate 0 bps 
          Match: any
          Queueing
            Flow Based Fair Queueing
            Maximum Number of Hashed Queues 32 
        (total queued/total drops/no-buffer drops) 0/0/0

The shaper is active, the total bandwidth is not more than the configured 320000 bps, VoIP gets its 96000 bps (as it uses when no other traffic is active) and all the other traffic gets the rest (which is 144000 bps here).

Nevertheless I still have a speech (music ;-) quality problem with my VoIP call. The quality here is really bad. It seems like packets are dropped or something like that as every few seconds there is silence for a half second and I get a reverb and things like that.

Do you have an idea how I can solve the problem? Is my queueing mis-configured?

Thanks and Regards,
Alexander




Oliver,

  Isn't class-based shaping available on v-access interfaces?
(config either via v-template OR aaa cloning)

 So, a child policy (pq-cbwfq, aka llq) inside class-based shaping
would do the trick Alexander wants. Just like Cameron suggested.
And just like it works on GRE tunnels. Nor GRE tunnels, neither
v-access interfaces have pkysical interface stuctures associoated
to them, so they do not 'inherently' support queueing, which is pretty
well understood here. But the class-based shaping buils a queue,
and the child policy can act on that queue. Of course, this 'works'
(guaranties QoS) only if the physical interface itself is not congested...
But that's a different question.

 The cited document http://www.cisco.com/warp/public/105/pppoe_qos_dsl.html
mentiones restrictions for PPPoE client/server side, but the LNS is nor
PPPoE client, nor PPPoE server.

 12.3(8)T introduced Classification, Policing and Marking on LAC
(PPPoE server) http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123newft/123t/123t_8/gtqoslac.htm
So, it's not only marking.

regards,
 -zoltan



-----Original Message-----
From: Oliver Boehmer (oboehmer) [mailto:oboehmer at cisco.com]
Sent: Wednesday, February 16, 2005 4:28 PM
To: Alexander Lucke; cisco-nsp at puck.nether.net
Subject: RE: [c-nsp] How to QoS Voice on a Cisco LNS (How to
attachaservice-policy to a Virtual-Interface?)



> I have a problem with QoS and hope that someone else already solved
> such a problem and can help me here. 
> 
> What I need to do is prioritizing Voice traffic on SDSL lines.
> 
> For the upstream part, this is no problem as the CPE (a small cisco
> router) can do QoS on the ethernet interface. My problem is the
> downstream part. My LNS (Cisco 7206VXR/300) gets the PPPoE-DSL
> sessions via L2TP over a FastEthernet interface. I configured some
> vpdn-groups and some virtual-templates and everything works fine with
> normal data traffic.     
> 
> My problem is that - when reading some documentation (e.g.
> http://www.cisco.com/warp/public/105/pppoe_qos_dsl.html) - it seems
> impossible to do a "session based queueing/shaping/whatever". It
> seems only to support marking.   

correct.
 
> Did anybody solve this issue? How is it possible to let an LNS
> prioritize Voice traffic in the downstream direction? 
> 
> And No, we do not have access to the DSLAMs or the DSL aggregation
> network but let's assume that we don't have congestion (no
> overbooking ;-) here.  

If you only want to offer preferred treatment for voice packets between
LNS and LAC, you could use L2TP tos-reflect (i.e. copy the TOS into the
L2TP IP header) and do LLQ on the egress interface towards the LAC and
on the path between LNS and LAC. This obviously does not allow for
per-user voice policing, but it avoids dropping voice packets in case
there is congestion between LNS and LAC..

	oli

_______________________________________________
cisco-nsp mailing list  cisco-nsp at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/

-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.2 - Release Date: 2/28/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.2 - Release Date: 2/28/2005

-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.6.2 - Release Date: 3/4/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.6.2 - Release Date: 3/4/2005
 

Ez az üzenet és a hozzá kapcsolódó fájlok, tervezetek kizárólag a
Címzettnek szólnak, a bennük foglalt információk bizalmasak, melyek
titokban maradásához a Synergon Informatika Rt.-nek jogilag méltányolható
érdeke fuzodik. Amennyiben valamely hiba folytán Ön nem a címzettje ennek a
levélnek, kérjük, semmisítse meg, és értesítse az üzenet küldojét. Az
üzenet az elküldés elott vírusellenorzésen esett át, de a vírusmentességére
nincs semmilyen garancia, ezért kérjük, ellenorizze azt!

DISCLAIMER

This e-mail and any attached files are confidential and may be legally
privileged. The content of this e-mail is subject of efforts by Synergon to
maintain its confidentiality. Also this e-mail is intended for the sole use
of the individual or entity to whom it is addressed. If you are not the
addressee, and received this transmission in error please delete this
e-mail and notify its sender immediately. This e-mail message has been
checked for computer viruses but it could still be infected. Please test it
for viruses before use.





More information about the cisco-nsp mailing list