[SR-Users] GRUU support in Kamailio

Daniel-Constantin Mierla miconda at gmail.com
Wed Jul 11 15:42:13 CEST 2012


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




More information about the sr-users mailing list