Yes, you need to do this with all the traffic so you can mark it for the queues.
Prerouting is for when traffic is coming in to the interface to go through the router. Postrouting is for when traffic is leaving the router out an interface. This is done before any other routing / rules are processed such as going through queues.
No, you just need to mark the packet…
/ip firewall mangle
add action=mark-packet chain=prerouting comment="SIP Queue - QoS" in-interface=LAN01 new-packet-mark=SIP_IN passthrough=no src-address=192.168.88.252
add action=mark-packet chain=postrouting dst-address=192.168.88.252 new-packet-mark=SIP_OUT out-interface=LAN01 passthrough=no
add action=mark-packet chain=prerouting comment="All Traffic" src-address=!192.168.88.252 in-interface=LAN01 new-packet-mark=ALL_IN passthrough=no
add action=mark-packet chain=postrouting dst-address=!192.168.88.252 new-packet-mark=ALL_OUT out-interface=LAN01 passthrough=no
So that is a very simple example. The PBX is 192.168.88.252 and there are two prerouting and post routing rules for this. First prerouting rule is for any traffic sourcing from the PBX IP in to the router through LAN01. It marks all that traffic SIP_IN. The other prerouting rule is !192.168.88.252 (which means “NOT THIS”) so any traffic that is not the PBX IP will be marked as ALL_IN.
Same applies for the postrouting but the opposite. It will mark the packets destined for the PBX IP with SIP_OUT and all other traffic leaving the router over LAN01 as ALL_OUT.