Hello,
On 7/11/12 3:36 PM, Olle E. Johansson wrote:
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 .-)
this is
more devel insight documentation, not much to affect the users.
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?
lookup(location) does automatically the logic - for outside of dialog is
the same like so far, no change in config.
For within dialog, you can use is_gruu() function to detect if the r-uri
is gruu and then you can call lookup(location). If r-uri is a gruu, then
lookup(location) searches for an exact match on temp/pub gruu value and
will not add extra branches with the rest of records for the AoR (if
pub-gruu), just updates with the record for the r-uri.
Cheers,
Daniel
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 -
http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 -
http://asipto.com/u/kpw