cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4729
Views
0
Helpful
11
Replies

QoS configuration failure?

marinos_g
Level 1
Level 1

Hello,

attached is the topology used and the QoS configuration of the cisco routers in both sites.

the problem is that voice breaks at both ends if data traffic is heavy. Seems like QoS may not be functioning as expected

could you please check and advise any improvement actions?

thanks

Marinos

2 Accepted Solutions

Accepted Solutions

Mark Malone
VIP Alumni
VIP Alumni

Hey

I see nat is this going acrros the public internet ? If it is qos wont work right unless its tunneled source to destination

if its private try the below

on your access-list add this , the reason is i dont see anywhere your specifiying EF trafffic for voice markings to be trusted on egress for the policy, there's multiple ways to do but based on what you have set this is probably the quickest , also span the local ports collect the traffic in wireshark and make sure your packets that are coming from voice devise are being marked correctly , cisco devices will mark at the source by default cos5/dscp 46

ip access-list extended VoiceBW_list
 permit ip any host 192.168.0.90 dscp ef
 permit ip host 192.168.0.90 any dscp ef

View solution in original post

Is it the standard codec your using g711 , would be 6x64 plus signalling , you would want voice to have at least 500 and have it as priority so its serviced first , if its g729 could set it lower

when no voice calls are happening is the data still slow ?  do you know what the maximum mtu is on that radio line ? sometimes there very low which could be having an effect on large data packets fragmenting  , at the moment your just prioritizing voice , maybe prioritize other traffic if required in class map as well but with using bandwidth statement rather than priority

What's the deal with burst, average, peak, shape etc commands?

good explanation of shaping/policing with example , basically police cuts you off at target , shape allows you to shape an buffer

http://packetlife.net/blog/2008/jul/30/policing-versus-shaping/

View solution in original post

11 Replies 11

Mark Malone
VIP Alumni
VIP Alumni

Hey

I see nat is this going acrros the public internet ? If it is qos wont work right unless its tunneled source to destination

if its private try the below

on your access-list add this , the reason is i dont see anywhere your specifiying EF trafffic for voice markings to be trusted on egress for the policy, there's multiple ways to do but based on what you have set this is probably the quickest , also span the local ports collect the traffic in wireshark and make sure your packets that are coming from voice devise are being marked correctly , cisco devices will mark at the source by default cos5/dscp 46

ip access-list extended VoiceBW_list
 permit ip any host 192.168.0.90 dscp ef
 permit ip host 192.168.0.90 any dscp ef


thanks for your reply.
Actually this RADIO link is not public internet. It's a private leased line to connect the 2 sites.

------------                                           ------------
| internet |                                           | internet |
------------                                           ------------
     |                                                      |
     |                                                      |
     |                                                      |
     |                                                      |
------------                                           ------------
| central  |----------------- RADIO LINK --------------|  remote  |
------------                                           ------------

Each site has a separate link to internet.
NAT exists in order to use the private RADIO link as a backup for internet traffic in case primary internet link fails


I will implement your suggestion for dscp ef and let you know of the outcome.
However, I would appreciate it if you could comment on some concerns I have:

- class fair-queue.
Should I add this command in class-default? I hear that if this command is missing it may cause such voice problems. It this true?

- bandwidth statements
My leased line is 4MBps but since router uses an ethernet interface, the referenced bandwidth is shown as 100Mbps. Could this cause any conflicts in calculations and BW reservations maybe?

- use different approach in QoS?
Could a different QoS approach be more effective maybe? Any suggestions?

thank you for your comments
Marinos

- class fair-queue. Should I add this command in class-default? I hear that if this command is missing it may cause such voice problems. It this true? With ths command you will implement wfq in that class but without it wred will be in place, it cant effect voice if voice is set correctly, packets should be marked at the source lan ports and carried through to wan link and trusted there. This command only effects this class and how it marks packets and queues them -

bandwidth statements My leased line is 4MBps but since router uses an ethernet interface, the referenced bandwidth is shown as 100Mbps. Could this cause any conflicts in calculations and BW reservations maybe? No your bandwidth is set to 4000 which is correct, this is required for routing metrics for calculating best paths

- use different approach in QoS? Could a different QoS approach be more effective maybe? Any suggestions? Using priority command is best practice for voice to make sure that queue is serviced before all others , theres multiple ways to do , but you need to have EF in it somewhere either acl or class map that’s matching the acl , heres another example which would be very generic that a lot of people would use with voice/video, if you have cisco switches set the access ports to trust dscp and the uplinks as well , this will ensure qos is carried/trusted from src-dst 

Router(config)# class-map match-any REALTIME

Router(config-cmap)# match dscp ef

Router(config-cmap)# ! Matches VoIP on DSCP EF (per RFC4594)

Router(config-cmap)# match dscp cs4

Router(config-cmap)# ! Matches Realtime-Interactive Video on CS4 (per RFC4594)

Router(config-cmap)#

Router(config-cmap)# policy-map LLQ2

Router(config-pmap)# class REALTIME

Router(config-pmap-c)# priority 500

Router(config-pmap-c)# ! Combined LLQ for VoIP and Video

Router(config-pmap-c)# class CALL-SIGNALING

Router(config-pmap-c)# bandwidth percent 5

Router(config-pmap-c)# class TRANSACTIONAL-DATA

Router(config-pmap-c)# bandwidth percent 20

Router(config-pmap-c)# class BULK-DATA

Router(config-pmap-c)# bandwidth percent 10

Router(config-pmap-c)# class class-default

Router(config-pmap-c)# fair-queue

Hi Mark and all,

here is the update:

I tried to configure dscp ef inside the ACL as you suggested but no packets were matching the access-list. When I run the command "show ip access-list" there was no match next to the rules. Voice was still breaking as before.

Next, I removed the dscp ef from the ACL and I configured the policy-map to set the dscp ef like this:

policy-map VoiceBW_pmap
 class VoiceBW_cmap
  set dscp ef

Now the voice does not break but I can see a lot of delay in the data traffic. I guess the bandwidth is not shared correctly?

The link is 4Mbps. How match BW should I reserve for 6 concurrent voice calls?

What's the deal with burst, average, peak, shape etc commands?

thank you

Is it the standard codec your using g711 , would be 6x64 plus signalling , you would want voice to have at least 500 and have it as priority so its serviced first , if its g729 could set it lower

when no voice calls are happening is the data still slow ?  do you know what the maximum mtu is on that radio line ? sometimes there very low which could be having an effect on large data packets fragmenting  , at the moment your just prioritizing voice , maybe prioritize other traffic if required in class map as well but with using bandwidth statement rather than priority

What's the deal with burst, average, peak, shape etc commands?

good explanation of shaping/policing with example , basically police cuts you off at target , shape allows you to shape an buffer

http://packetlife.net/blog/2008/jul/30/policing-versus-shaping/

Data was not slow until I implemented the DSCP EF command. My guess is that if this was an MTU related issue data would be slow even before applying this command, right?

I noticed some drops in the class-default class so I made a few changes in the configuration. Let's monitor for some days and see how it goes. I'll keep you updated.

Thank you for all your support

yes if it was mtu should always effect you really until you alter the mss or mtu values to alter the packet size, qos is one of those things one szie doesn't fit all so monitoring and tweaking it as you go is the best approach as everyone's network/traffic patterns do be slightly different

hi,

after some tweaking and monitoring, here's the status:

Data seem to break. What I mean is that when a data transfer is initiated, data begin to flow but suddenly stop, then flow again, then stop again and so on. There isn't a stable flow.

Voice seem to have similar behavior. At the very beginning of this problem, voice was breaking and also some distortion was noticed. When someone was speaking, sometimes he sounded like Donald Duck's voice. After applying the dscp ef configuration the voice sounds normal but still breaks (like the data breaks).

As I understand it, it seems that QoS policy works (no distortion anymore) but there must be another problem causing flow breaks on both data and voice. Any hints maybe what I should be looking for? I also tried to set the MTU size on 1380 but didn't observe any difference. Radio link MTU size was said to be set at 1600.

thank you

did you try set the ip tcp mss-adjust at the radio link incase traffic is being fragmented  , you could tell by spanning the port or just set it on the link and start about 1460 lower it a bit see if it makes any difference to the data traffic

whats the utilization on the link is it really high or is this happening even when theres a low load ?

are all interfaces clear of errors along the path ?

is it only when traffic crosses the link there is an issue or do you have same issues internally user to user without crossing the link ?

after some more tweaking and monitoring (also using ip tcp mss-adjust):

Status has improved. It's not like I was describing in my previous post, however there are still some few... interruptions during the day.. Interruptions described in my previous post were too many within a call. Tweaking with "ip tcp mss-adjust" has improved a lot the situation but still not perfect.

What I mean is, that voice calls are now clear (no distortion) but user may face an interruption during his call for 1-2-3 seconds. Sometimes the user may continue speaking in his active call after the interruption is over, but some other times the interruption may last a bit longer resulting in a hanging voice call. In this case user needs to re-dial. There are also some times that a voice call is clear without facing any interruption at all

I cannot tell if these interruptions are regular or not (on time basis) but it seems as if throughput (data flow) on the link freezes for these 1-2-3 secs. Would you hint any possible causes for such behavior?

thanks

No distortion that's good but calls still slightly delayed sometimes , you don't experience congestion at times on the line I would check each port along path from source to destination see if any are over utilized this could cause that , if it was my setup and I was this far along troubleshooting my next step would be wireshark and trying to determine if there is a pattern when the issue occurs , it may show some ack not being sent or some irregular pattern during the issue but you will need to capture the problem live a couple of times and see if you can see something in the capture

I have seen before the devices or qos not causing this but issues with the pbx or call manager depending what in place how its setup and also with the ISP , radio link would not be the best medium to transport voice as they can fluctuate due to many external reasons but if your running constant ping a - b and its looks good its prob not the line