I have a call per second limiting rule in place already. Rate limiting isn't the problem, it's responding to error codes from the SIP proxies. I want to be able to receive a 480 error code from a SIP proxy and then respond to that by selecting a different SIP proxy for that call.
It's a very specific problem, but because of our architecture it's something I have to be able to do.
Also, I have to mention that we're doing SIP over UDP, so a lot of the connection-based rules aren't going to work, since they are based on TCP connections.
The SIP Proxies are set with a hard connection limit and will send back 480 error codes if they receive connection requests that will take them over that.