Hello everyone,

I have what might amount to a silly question.

I'm attempting to set up pf for a voip system. In order to prioritize VoIP packets I have this queue:

altq on $ext_if priq bandwidth 1.4Mb queue {std_out, voip_out, tos_lowdelay_out}
queue std_out priq(default)
queue voip_out priority 11
queue tos_lowdelay_out priority 12

This normally works very well. I'm planning to allow all inbound traffic to my VOIP Server like this:

pass in quick log on $ext_if proto {tcp,udp} from any to $VOIP_SERVERS port $VOIP_PORTS

This rule works. I then wish to pass all OUTGOING traffic back out through the queue, like this:

pass out log quick on $ext_if proto {tcp,udp} from $VOIP_SERVERS to any port $VOIP_PORTS queue (voip_out, tos_lowdelay_out)

Here's is where my problem arises. I'm assuming that when the packet comes in through the first rule it creates a state entry. That way the outgoing rule is never applied and packets never enter the voip_out queue. They all just go out through the std_out queue. I could of course append the "no state" option to the first rule but considering the amount of small packets voip produces it would be better to have state entries created.

Does anyone know of a simple way to handle this? Is the no state option the best (or only) way to ensure the outgoing rule is applied? Maybe I'm just overlooking something absurdly silly.


Thanks!


Steve Glaus

Reply via email to