2012/8/30 Olle E. Johansson oej@edvina.net:
AFAIK that's not "needed". When a request arrives to the proxy having ;gr param in the RURI, the proxy extracts the gr value, "decodes" it somehow (not need to have such a mapping in a DB) and gets the associated binding, so just such a binding would be retrieved form usrloc table when calling lookup().
That means that one - knowing the algorithm - can reach all contacts directly, regardless if they have a gruu or not. Or?
I expect that Kamailio generates a random key on startup for encoding GRUU values and thus, it would be not possible to generate the same GRUU value (for the same URI binding) without having such a key.
- If so, is that reachable information for the pua-regloc to publish the gruu's?
Note that such a feature would require implementing RFC 5628:
http://tools.ietf.org/html/rfc5628
"Registration Event Package Extension for SIP Globally Routable User Agent URIs (GRUUs)"
Yes. But to make it possible and to make it possible to restart kamailio without loosing information, I think we have no other option but to store a gruu flag in usrloc.
I see no problem at all in adding two new fields to the usrloc table: gr_public, gr_temp.