I am trying to set up QoS over frame relay, but am running into problems with the "frame-relay traffic-shaping" command. The problem is that I don't have control over the routers on the other end of 2 of my 6 PVCs (although I can configure them if I don't mess up anything beyond my PVC). I want to run traffic shaping on 4 PVCs but disable it on the other 2, since they both go to interfaces on the distant routers which also have PVCs to routers that can't handle frame-relay traffic-shaping. I know that traffic shaping must be applied to the whole interface, but is there a way to do the same thing on subinterfaces? If I enable traffic shaping on my router I run into thoughput problems on the routers without traffic shaping.
Here is my config:
!
ip multicast-routing
!
class-map match-all VoIP-Control
match access-group 101
class-map match-all VoIP-RTP
match access-group 100
!
policy-map voip-policy
class VoIP-RTP
priority 100
class VoIP-Control
bandwidth 8
class class-default
fair-queue
!
call rsvp-sync
voice rtp send-recv
!
interface FastEthernet0/0
description Prescott Cortez Office LAN
ip address X.X.X.X 255.255.255.0
speed auto
full-duplex
!
interface Serial1/0
description Qwest, Frame Relay
bandwidth 768
no ip address
encapsulation frame-relay
no fair-queue
cdp enable
frame-relay lmi-type cisco
frame-relay ip rtp header-compression
!
interface Serial1/0.16 point-to-point
description PVC to Chino Valley, 768 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip ospf network broadcast
frame-relay interface-dlci 16
class voip
frame-relay ip rtp header-compression
!
interface Serial1/0.18 point-to-point
description PVC to Camp Verde, 768 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip ospf network broadcast
frame-relay interface-dlci 18
class voip
frame-relay ip rtp header-compression
!
interface Serial1/0.19 point-to-point
description PVC to Phoenix, 128 CIR
bandwidth 128
ip address X.X.X.X 255.255.255.252
ip ospf network broadcast
frame-relay interface-dlci 19
!
interface Serial1/0.20 point-to-point
description PVC to Prescott, 768 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip pim sparse-dense-mode
ip ospf network broadcast
frame-relay interface-dlci 20
class voip
frame-relay ip rtp header-compression
!
interface Serial1/0.22 point-to-point
description PVC to Flagstaff, 756 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip ospf network broadcast
frame-relay interface-dlci 22
!
interface Serial1/0.23 point-to-point
description PVC to Whipple, 768 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip pim sparse-dense-mode
ip ospf network broadcast
frame-relay interface-dlci 23
class voice
frame-relay ip rtp header-compression
!
ip pim bidir-enable
!
map-class frame-relay voip
frame-relay fragment 1000
no frame-relay adaptive-shaping
frame-relay cir 768000
frame-relay bc 1000
frame-relay be 0
frame-relay mincir 768000
service-policy output voip-policy
!
access-list 100 permit ip any any precedence critical
access-list 101 permit ip any any precedence flash
Frame-relay traffic shaping is enabled on the main interface, and it applies to all DLCIs under that interface. We cannot enable traffic shaping only for a particular DLCI or subinterface under the main interface. If a certain DLCI has no map class attached to it, and traffic shaping is enabled on the main interface, the DLCI is assigned a default map-class with CIR = 56000.
You can create a separate map class for the two other pvc's. This map class defines the cir at the normal "burst: rate telco would allow you to send on a best effort basis and the mincir at the guaranteed rate.
More at this link:
http://www.cisco.com/warp/public/125/traffic_shaping_6151.html
My solution to this is not to use FRTS but to use GTS instead. The benifits are that you can run GTS with WFQ, and also specify the individual PVC parameters. You only enable GTS on the sub-interface, not on the physical port.
EG using part of your config
interface Serial1/0
description Qwest, Frame Relay
bandwidth 768
no ip address
encapsulation frame-relay
fair-queue
cdp enable
frame-relay lmi-type cisco
frame-relay ip rtp header-compression
!
interface Serial1/0.16 point-to-point
description PVC to Chino Valley, 768 CIR
bandwidth 768
ip address X.X.X.X 255.255.255.252
ip ospf network broadcast
frame-relay interface-dlci 16
frame-relay ip rtp header-compression
traffic-shape rate 1536000 192000 0
traffic-shape adaptive 768000
traffic-shape fecn-adapt
This config allows the link to burst to 1536k bps, and falls back to cir of 768k in event of congestion notification. Obviously the actual values depend on access speeds and frame contract. Also I set the 2nd value (192000) to be the first value divided by 8 for a time constant of 125mS.
Thank you. I'll try this, although there is a warning in the documentation that says by the time a becn is received, voice is already degraded. But what else can I do short of buying another circuit? I'm going to be installing another circuit later this year, so this will be a temporary fix.
Changed one line to:
traffic-shape rate 1536000 20000 0 to lower the delay to closer to 10 ms.