QoS for VoIP without routing

I’d like to put a VoIP adapter behind my RB951G. However, the RB is only acting as a switch. My cable provider (Comcast) built a router into their cable modem (Technicolor X1 wireless gateway), so they’re already doing a round of NAT. Thus I do not want to go into router mode and use the usual IP-address mangle functions. There’s some WiFi behind that cable box too, but if I can apply QoS to the MikroTik, at least the stuff that is on the Ethernet ports can be prioritized, with the VoIP box getting its 200 kbps of (mainly upstream) priority. The cable service is 400/10 or so.
Right now the box is operating as a semi-dumb switch – the ports are doing hardware switching, and thus not able to prioritize. So I’m guessing that I will have to move to a software bridge mode instead. I have no experience setting up queues. But I am guessing I’ll have to tie the VoIP box’s port to a QoS-enabled queue through a software bridge. Is there a reasonably simple (GUI-based, preferably) way to set this application up? Thanks.

Hi

For QoS to function propertly, one needs to control the full data stream. Controlling only wired and not the wireless, doesn’t make sense. Illustration: suppose that upload will be shaped to 95% of upload bandwidth with priority for VoIP. All is good, until wireless upload bandwidth is added which could then overflow the upload limit and will result in bad quality of voice anyway…

So do it all the way or don’t bother.

I know that full control requires controlling everything, which is impossible with Comcast. So I’m controlling the only GigE ports, which are capable of putting a hell of a lot more input to the upstream than the WiFi devices can. The VoIP upstream goes to hell when a wired computer on the 'tik does a heavy upstream load, but I don’t expect that to happen often if at all over the WiFi, based on how it is used and the signals it receives. I need the Comcast WiFi because it also delivers TV (one way, downstream, not Internet) to a slave cable box in the house, part of their X1 system, and manages MoCa to boxes on hard cable.
Hence I’m asking how to do it, not whether I should try.

With 10mbit upload, not a lot is needed to fill it…

But you could give it a try: see https://www.youtube.com/watch?v=6eeYac5xBrE

I’m sorry, but I can’t deal with a long TV show that might at some point give ideas; I’m hoping for a written response. Thanks.

PDF to video here.

Thank you! That slide set looks interesting. Summary: Create bridge ports, mark the ports separately for in and out directions, create simple queues for each packet mark with limits on each queue. I may give this a try!

The mark-each-port method is looking more problematic because it require me to limit the bw of the computers, rather than prioritize the voice, which is a tiny flow of traffic that does however go to pot when doing a heavy upload. But I notice a lot of options in the queuing section. That does seem to allow prioritization and CIR. But I’m not quite sure how to get it set up, especially if I want hardware switching.
I may be getting some improvement right now (hard to tell for sure) by:

  • creating a new queue named “priority” with a target of ether-2-master, the port the phone is plugged into, queue type synchronous-default, and 2 Mbps max limit.
  • changing the interface queue on ether-2-master to synchronous-default, while other ports remain only-harware-queue
    But that seems rather tenuous, as I don’t really understand how the queues relate to the new hardware switching options. Is there a better way to use queues to prioritize that port without limiting the (lower-priority) peak rate of other ports? Thanks.