QoS Questions

Answered Question

Hello Friends,

I've got a couple Qos questions, hope someone can help clearify. Thank you in advance !!!

I have T1 at remote sites connecting to Qos enabled MPLS cloud, below is the Qos config on my router. Based on the config below I understand I allocated 40% of the T1 link for voice traffic, so that is my guaranttee bandwidth for voice traffic. And 5% of the T1 link for signaling traffic, so there is also 5% guaranttee bandwidth for signalling traffic. If this works the way I think it works then why I am experiening phone quality issues when the T1 link is full and I know my voice traffic is not going over 40%. I have users reporting there is a delay when they try to answer a phone call or when they pick up the handset there is a delay in dial tone. Is my Qos policy not working ? can someone explain the different between 'priority percent' and 'bandwidth percent'  ?

class-map match-any voice-signaling
match ip dscp cs3  af31
match protocol h323
match protocol mgcp
match protocol skinny
match access-group 101
class-map match-any Critical
match ip dscp ef
match protocol rtp audio
match ip precedence 5
class-map match-any Flash-Override
match ip precedence 4
!
!
policy-map Voice-Over-Wan
class Critical
  priority percent 40
  set dscp ef
class Flash-Override
  bandwidth percent 30
class voice-signaling
  bandwidth percent 5
class class-default
  fair-queue

I have this problem too.
0 votes
Correct Answer by Darren Willie about 6 years 11 months ago

Hi dtran,

Could you paste your serial interface config as well.

the priority command reserves bandwidth and enables Low-Latency Queuing in CBWFQ for the matched packet, the bandwidth command simply reserves the specified bandwidth for the service class with CBWFQ. You should not use the priority command for both voice packets and voice-signaling, as they will compete in the same queue for bandwidth, the priority command should be reserved for your rtp (voice payload).

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Correct Answer
Darren Willie Fri, 02/12/2010 - 11:36

Hi dtran,

Could you paste your serial interface config as well.

the priority command reserves bandwidth and enables Low-Latency Queuing in CBWFQ for the matched packet, the bandwidth command simply reserves the specified bandwidth for the service class with CBWFQ. You should not use the priority command for both voice packets and voice-signaling, as they will compete in the same queue for bandwidth, the priority command should be reserved for your rtp (voice payload).

Darren Willie Fri, 02/12/2010 - 11:54

Just an after thought question as well, do you know what field your service provider is using in providing it's QoS? What are they looking for in the IP packets from you and mapping to in the MPLS Label?

Thank you !!! I appreciate your response !!! Below is the config on the serial interface.My provider is using IP precedence value for QoS.

Thanks again !!!

Danny

interface Serial0/0
description Point-to-Point T1 to Sprint MPLS Network #450944
bandwidth 1544
ip address 172.20.40.144 255.255.255.252
ip wccp 61 redirect in
ip wccp 62 redirect out
ip nbar protocol-discovery
tx-ring-limit 2
tx-queue-limit 2
service-module t1 timeslots 1-24
no cdp enable
service-policy output Voice-Over-Wan

Darren Willie Fri, 02/12/2010 - 14:01

What does the access-list 101 for the QoS contain?  What are you looking for with the match ip prec flash-overide? That traffic will have priority over the voice signaling.

My first thought, just observing your class-maps, is that typically you match on one or two fields that you are using in your DS domain, and since your are going through SPRINT MPLS (Another DS Domain) you must make sure you are re-marking your packets if needed to what they are looking for.

class-map match-any voice-payload

match ip precedence 5 or match ip dscp ef

match protocol rtp

class-map match-any voice-signal

match ip precedence 3 or match ip dscp AF31 or CS3

I don't know what you're using within your domain for signaling (IP prec, DSCP) but that is what I would match against, then re-mark to ip prec on the way out into the MPLS, same goes for the other end of the circuit, make sure you matching input and marking to your domain.

use the set command under the policy-map-class to provide that remark on the inbound and outbound.

Hope this makes sense?

Darren

Hi Darren,

Please take a look at the ACL and the route-map that's part of the QoS config and please let me know if you see anything wrong. The route-map 'Set-IP-QoS is applied to the LAN interface of the router. Thanks Darren !!! I very much appreciate your help !!!

access-list 100 permit ip any any precedence critical
access-list 100 permit ip any any dscp ef
access-list 100 permit udp any any precedence critical
access-list 100 permit udp any any dscp ef
access-list 100 permit udp any any range 16384 32767
access-list 101 permit tcp any eq 1720 any
access-list 101 permit tcp any any eq 1720
access-list 101 permit ip any any dscp af31
access-list 101 permit ip any any dscp cs3


route-map Set-IP-QoS permit 10
match ip address 100 RTP
set ip precedence critical
!
route-map Set-IP-QoS permit 20
match ip address SAP Video 101 MGCP H323 SCCP CTI
set ip precedence flash-override
!
route-map Set-IP-QoS permit 30
set ip precedence routine

Darren Willie Sat, 02/13/2010 - 14:12

Danny:

A couple of things going on here I think.

1.  On the LAN interface you should not need QoS Marking. QoS Marking should be done on the network edge, where the client device connects. With Cisco phones, the device marks all three CoS 3, CS3, DSCP 31 for signaling, and CoS 5, CS5, DSCP EF for voice payload on all layer two ports setup to trust device cisco-phone. From there it shouldn't change until it needs to, in this case to match IP Prec for MPLS Experimental bit mapping on the serial interface. On the LAN interface of the router should should be trusting inbound packets on that interface.

2.  Currently on the LAN interface you're marking your signaling packets to IP Prec Flash-overide (ip-prec 4) inbound on that interface, then on the serial interface you're looking (via policy-map) for AF31 or CS3, but since you've marked the packets ip prec 4, it matches the Flash-Overide class and exits the policy being placed into the 30% Reserve queue for your video payload.  Couple of things here, ip prec 4 is for video payload only, video signaling should be ip prec 3 (flash) along with voice signaling, since the audio stream for Video will be handled the same as voice.

3. I would simplify your QoS logic a little more, instead of looking at all things in one class-map, look for specific information in one class map.  Simplified logic makes the classification and marking delay happen faster.

class-map match-any Critical

match protocol rtp     (since you are using nbar, it's efficient in it only looks at the even ports used for RTP, and not the odd ports used for RTCP, beats the ACL method)

class-map match-any signaling

match ip dscp CS3

match ip dscp AF31

class-map match-all video

match ip dscp AF41

policy-map Voice-over-Wan

class Critical

priority bandwidth percent 40

set ip precedence critical

class signaling

bandwidth percent 5

set ip precedence flash

class video

bandwidth percent 30

set ip precedence flash-overide

class default

set ip precedence routine

Hope this helps a little to get you on the right track, let me know...

Actions

This Discussion