So this is probably the most sought after “code” in this and other bandwidth management communities. But I’d like to see it done, and actually be usable for the community.
A QOS that will keep track of your customers usage long enough to deprioritize/slow them in comparison to others and your main pipe. Very NetEq like.
We all know how some customers will “hog” your pipes, and others will just “browse”. What would be nice is to find a way that (without being application specific) we can slow down/lower their bandwidth cap and lower the priority of those Hogs. Thus allowing your basic browsing customer to not be effected as much and keeping your pipe from being maxed out all the time.
Our requirements are to do this in one machine at the head end, and still be able to NAT and 1:1 publics to privates in this head end router. I know some people would like to be able to do this in a stand alone box as a bridge.
Can it be done? Is someone here knowledgable enough to make it happen? And last but not least, will you make it available for the “community”? Ideas are welcome, or even someone able to step up and make sence of all of these examples of basic shaping that don’t quite do what really is needed.
There was an example at some point in the forum, I think, wich kept evidence of total-bytes.
Combine that with simple queues, or queue tree, and you might have something to work on.
Mikrotik APs, OpenWRT APs, DD-WRT APs.
Basic Client Speed limiting (guaranteed rates)
Slightly decreased Speeds after 30 seconds of excessive use
Subtantially decreased Speeds after 30 minutes of excessive use
Client Total Usage (bandwidth) limits per day/week/month (hard Cap)
Auto-cutoff (after 2 emails) for excessive usage, OR bill for excess usage
Automated HotSpots
Tickets
Automated Billing
And everything else that i could think of that required my Time, and that a computer could do.
e.g.
customer hasn’t paid in time. Computer offers them a way to pay. No phone call. They can pay, or not. If Not, no internet, unless they pay.
automated SNR stats collection - i can see if a Tree has grown in front of the CPE, or a Radio card is failing on an AP.
Sounds simple, but my objective was to reduce the support calls to zero, and VX has almost done that for me. I still get some calls, but mainly for sales and new enquiries.
Of course, your network has to Work Properly before VX can do anything at all.
An interesting side effect of effective bandwidth management/payment control is that when you have it, and you lose a customer, it is generally because they either do not pay, or require huge amounts of bandwidth to do what they do.
I occasionally lose those types of customers to my competition, who have no bandwidth management at all, which is absolutely Fine by me
The Back Channel is a larger number of Customers that were with my Competition, who pay on time, and use a ‘normal’ amount of bandwidth, but just want a stable connection.
I don’t think you did do “exactly” what I challenged. Your VX seems to reduce by a fixed amount, after a certain time frame. I am hopefull to find a way to dynamically deprioritize a client after a certain ammount of time or bandwidth consumed in reference to others and the Main pipe. OR something close to that.
The quote above kind of illustrates what I am not looking for.. 50% of anything for a “program” is NOT a bargain. It’s a rip, and a joke.
Your VX seems to reduce by a fixed amount, after a certain time frame
Funny. I don’t recall ever giving you a demo.
VX dynamically alters the QoS for each and every client as and when needed based on what they are doing, what they paid for, what you got (and where), and what policies you set for the network.
I can’t really sell it as i’d have to swap from Wisp to Software House, so i really should stop banging on about it.
What i can say with certainty is that what you are looking for can be done.
No you did not give me a “demo”… your above requirements clearly show time based.
But regardless, I doesn’t help other then it can be done. I will figure out a way, AND post it. There are many examples of others systems. Maybe I can spin some of their designs into what I hope to get.
I did have some time after reading all those forums to find a solution. I think I may be on to something, but I have to finalize it and test it.
I’m a pretty busy person, so hopfully I can get to it this weekend. Anyone interested in checking code or theory can send me a PM. Adrian pretty well ruined my desire to paste it in this thread.