Hi Henning,
may i ask why do you want to implement something like this? If your UAs
only
register to often or with a too short interval, just reply 423 with a sensible Min-Expires or 503 with a Retry-Later.
My registrar isn't an Openser. It haven't these type of features. A possible solution was to share the location database of my registrar with my Openser server. Unfortunately, I can't do that.
Its also possible to configure the usrloc module to use a internal cache,
so
that REGISTERs could be served from it, and no DB lookup should be
necessary.
The function 'save' can be used only from REQUEST_ROUTE.
My topology : UA <-> Openser Proxy <-> Registrar
1- My UA sends a REGISTER request. 2- Openser relays the REGISTER to my Registrar. 3- The Registrar answers with a challenge. 4- Openser relays the Challenge to my UA. 5- The UA sends a new REGISTER request with the challenge response. 6- Openser relays the REGISTER to my Registrar. (At this moment, I don't known if the challenge response is OK. I can't cache the REGISTER.) 7- The registrar sends a response to my Openser. (At this moment, I known if the UA is REGISTER or not, but I can't call the "save" function.)
Do you see other solutions ?