Metering and queueing for QoS

I run a simple WISP with a wireless Mikrotik AP in the center, an uncomplicated bridge client radio at each customer site, and a backhaul pipe out to the greater internet.

I have a customer who wants to use VOIP. I can deliver my bandwidth guarantee with room to spare, but the traffic is very bursty (low QoS) so the experience is not pleasant. Of course, the problem appears and disappears intermittently.

Number one, I would like to understand what meters to use to find out what is causing this bursty behavior, so that I can tell if the problem is within my router or somewhere further up the backhaul pipe. I assume I’ll be wanting to read these meters at a time when he is reporting low QoS.

Number two, if the problem turns out to be inside my router, I’d like a referral to a simple queueing setup that would smooth the burstiness out (and perhaps hammer down any spikes caused by bandwidth hogs). I’ve looked at the queueing section of the manual, but while it describes the technical operation of each of the nine(?) types of queuing with engineering precision, it spends next to no time suggesting which types are preferable as solutions for which common real-world problems.

I realize that it would be best for me to take some Mikrotik training, but I am a one-man shop and still have at least three months before I climb out of the red for the very first time on this undertaking. I appreciate any help I can receive from you gurus.

Check out wiki.mikrotik.com

I followed the instructions in the wiki and I’m getting results I don’t understand.

I’m trying to restrict every user on 192.168.3.0/24 to 600kb download, 300kb upload.

Here are the queues I created:

[admin@Town]  /queue type print
...
 5 name="TownQDown" kind=pcq pcq-rate=600000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

 6 name="TownQUp" kind=pcq pcq-rate=300000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 
 ...

[admin@Town] /queue simple print
Flags: X - disabled, I - invalid, D - dynamic 
 0    name="TownQ" target-addresses=192.168.3.0/24 dst-address=0.0.0.0/0 interface=all parent=none
      direction=both priority=8 queue=TownQUp/TownQDown limit-at=0/0 max-limit=0/0
      burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s total-queue=default-small

When I look at the queue graph, I see:

Queue Statistics
TownQ
Source-address: 192.168.3.0/24
Destination-address: 0.0.0.0/0
Max-limit: unlimited/unlimited (Total: unlimited)
Limit-at: unlimited/unlimited (Total: unlimited)

I don’t understand why all the limits are “unlimited.”

Also, the graph itself is scary. The daily graph shows the max bps at 20K. Assuming I’ve done something wrong, I disabled the simple queue until I can figured out what these readings really mean.

Looks ok to me…