Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

WAN QoS (Cisco 831, DSL Internet)

Hi everybody,

I have a Cisco 831 router connected to internet via DSL modem. The IOS is 12.4, the upstream bandwidth is about 800kbps. I have the following QoS needs (priorities descend).

1. Limit the upstream bandwidth to 750kbps, drop any packets exceeding 750kbps.

2. This class is "voip_traffic". Within the 750kbps, I want to guarantee 150kbps to three VoIP devices (their IPs are,, They need the least delay.

3. This class is "premium_traffic", will provide bandwidth with low delay to some light protocols, like: DNS, ICMP.

4. This class is "express_traffic", will provide bandwidth for services like web browsing. I don't want users to wait for too long when the circuit is busy, but reasonable waiting time is acceptable.

5. This class is "standard_traffic", for services like FTP. No so time-sensitive.

6. This class is "bulk_traffic". No bandwidth is guaranteed. For services like P2P uploading.

I have attached my running-config. Please suggest how to configure the QoS, and which interface I should apply the policy.

Your help is greatly appreciated!

New Member

Re: WAN QoS (Cisco 831, DSL Internet)

I put together a sample qos config that you'll want to edit. I would recommend maybe using percentages instead of kbps. Also, if you do use percentages, you'll want to set the bandwidth on the interface to either 750 or 800.

The shaping will keep the traffic exiting at 750kbps. Also, the policy-map six-class is nested in the shaping, so the shaping happens first, then the qos.

Good luck, and post back with questions.

ip access-list extended phones

permit ip host any

permit ip host any

permit ip host any

deny ip any any

class-map match-any voip_traffic

match ip dscp ef

match ip access-group name phones

class-map match-any premium_traffic

match protocol icmp

match protocol dns

class-map match-any express_traffic

match protocol http

match protocol https

class-map match-any standard_traffic

match protocol ftp

class-map match-any bulk_traffic

match protocol bittorrent

match protocol kazaa2

policy-map six-class

class voip_traffic

priority 150

class premium_traffic

bandwidth 200

class express_traffic

bandwidth 150

class standard_traffic

bandwidth 100

class bulk_traffic

bandwidth 1

class class-default


policy-map shape_six-class

class class-default

shape average 750000

service-policy six-class

interface dialer0

service-policy output shape_six-class

One other thing... for the protocol matching, you have to have nbar turned on. For the class-map's, I did match-any, which means that traffic will be classified if it meets any of the matches in the class. On the phones ACL, if your phones are marking EF, you won't even need the ACL, but either the ACL or EF would match.