A Cisco/Linksys WRT54G running Sveasoft Talisman firmware.
Voice traffic needs to be prioritised for egress. My 256Kb/s uplink isn’t as overprovisioned with bandwidth as I’d like it to be, so I need to configure my router to prioritize the transmission of delay and loss-sensitive VoIP traffic over other forms of traffic. I need to be able to be heard by callers even if someone begins a massive Flickr photograph upload.
Another problem with QoS is it’s a one-way street. Optus, AFAIK, does not support any QoS or prioritization of traffic. Incoming audio streams are not prioritized by the intervening network, so I expect that a big fast download might still cause packet loss on the incoming audio stream of active VoIP calls. I will need to test this.
SIP (off the top of my head) allocates RTP ports within a port range, which is hard to configure for QoS on a small domestic router the the WRT54G. I could get down into the WRT command line and set up QoS based on DiffServ codepoint and set up sip.conf to tag RTP with the Expedited Forwarding DiffServ codepoint, but that sounds a little too complex.
Fortunately, I have set up an IAX trunk with OzTell. IAX is a non-IETF-standard, Asterisk-specific protocol that uses UDP on destination port 4569. This makes setting up QoS easy. When I set up this port to have slightly higher priority than any of my other traffic everything should be prioritized nicely, at least for egress packets.
Traffic on the local network between the Sipura SPA-3000 and the BSD/Asterisk box should have plenty of bandwidth to play with, and therefore won’t need prioritization… unless I start running bulk transfers and the WRT doesn’t play nice… hmm. More testing.
IAX, as mentioned above, needs to connect on UDP port 4569. I set up the WRT54G to forward this port to the BSD/Asterisk box.