Page 1 of 1

SIP registration failures when QoS enabled

Posted: Thu Jul 19, 2012 5:39 am
by Djoss
Since I switched my router to Gargoyle (1.5.5), I have frequent problems with my SIP ATA: it looses its registration with the server.

After investigation, I found something interesting:

- The ATA device register every 120s.
- Registration works when there is no call.
- If registration occurs during a call, it will fail

After more investigation, I found that this behaviour occurs only when a download QoS rule exists for VoIP traffic. As soon as I remove the QoS rule, registration works well during a phone call. I can also fix the problem by manually removing the specific rule in the "qos_ingress" chain of the mangle table.

The rule I'm using uses IP address of my ATA device as the destination IP.

Any idea of what happening? How can I further troubleshoot the problem?

Re: SIP registration failures when QoS enabled

Posted: Thu Jul 19, 2012 9:25 am
by pbix
Start by giving your SIP class unlimited bandwidth and making sure you WAN link is not saturated when you test. It seems unlikely to me that QoS is really at fault here.

Re: SIP registration failures when QoS enabled

Posted: Thu Jul 19, 2012 1:40 pm
by Djoss
During my tests, my WAN link was not saturated.

I agree that it seems to have no relation between QoS and this problem, but the fact is that I just remove from iptables to rule that mark the VoIP traffic and the problem disappear.

Also, I can reproduce in a consistent manner... it's not a problem that occurs occasionally.

Re: SIP registration failures when QoS enabled

Posted: Tue Jul 24, 2012 8:10 am
by Djoss
Ok I had time to do more tests, and like pbix suggested, removing the max bandwidth for the class fixed the problem.

However, I don't understand why the max bandwidth setting caused a problem. The limit was set to 96kbps. During a call, the load displayed by Gargoyle is 25kbps. So there is still enough room for a registration to happen at the same time...

Re: SIP registration failures when QoS enabled

Posted: Tue Jul 24, 2012 12:21 pm
by pbix
The display updates every few seconds so it gives only an overall picture of your class load.

However, the class checks at all times that the max bandwidth is not exceeded. A few fast large packets will cause your MaxBW to be exceeded and some packets therefor dropped.

Anyway it is not appropriate to use MaxBW for a SIP class. These should use MinBW and nothing else.