11 jul 2012 kl. 15:28 skrev Daniel-Constantin Mierla:
Hello,
On 7/11/12 3:18 PM, Olle E. Johansson wrote:
Hey,
Been trying to understand the GRUU support in Kamailio. I see that the registrar saves
sip.instance - but I don't see any functions to generate gruu URIs or store them. A
public GRUU is valid forever for a sip.instance and should propably be saved into some
sort of database table. A temporary GRUU is only valid for as long as a device registers
with the same Call-ID.
Please give me pointers to what I have missed!
if you follow the git log for
registrar and usrloc module during 3.3 development you will spot quicker the related parts
of code.
Will do... But you know my cravings for documentation .-)
The public gruu is built based on sip.instance value, as recommended by rfc, therefore is
no need to store anything else.
So how do I route a SIP request to a public GRUU
outside or inside of a dialog?
The temp gruu is the ruid (record unique id) value plus the hash code of the aor - ruid
is uniquely generated using the code from internal libutils/sruid.{c,h}
Using these approaches, the gruu addresses are built reusing some values from the
location records, no need for special tables.
Clever. ;-)
/O