[SR-Users] Entries in PUA List and RLS Watchers List

Peter Dunkley peter.dunkley at crocodile-rcs.com
Sat Oct 27 01:00:48 CEST 2012


Hello,

I have added comments inline below...

>    Appreciate your detailed response. The client we are using is compliant
> with the GSM RCS spec and the xml (including the use of external anchors)
> comes straight from the specs. Are you aware of  any  RLS capable clients
> that doesn't use external anchors but comply with the RCS specifications
> for presence? We've used Jitsi - but that doesn't seem to support rls.
>

Jitsi doesn't support RLS.  I believe Blink does, but I don't know whether
it works with Kamailio.

If you are not getting any errors relating to the external anchors, and
you are seeing a back-end subscription for each <entry /> in your
resource-list then it may be the case that Kamailio is ignoring the
external anchors and they aren't causing you problems.  As long as you
don't require subscriptions to the resources in the external anchors you
might be OK.

>
> This seems to resolve the looping issue. However, now I don't see an entry
> for the dialog in the rls_watchers table. I see the following entries in
> the respective tables:
>

Unless you are using DB only mode for RLS the rls_watchers() entry will
not appear immediately.  When using the memory hash table new RLS
subscriptions are flushed to the DB on a timer.

>    - One presentity in the presentity table - *Yes*
>    - One presence.winfo dialog in the active_watchers table- *Yes* *+ 1
>    presence entry *

So this looks like it is working.  You have one entry for presence.winfo
and one entry for a resource subscription - which based on the
resource-list document in your email that contains a single <entry />
would be correct.

If you are testing presence and having problems it is helpful to stop
Kamailio, clear out the active_watchers, presentity, pua, rls_presentity,
rls_watchers, and watchers, and start Kamailio between each test.  You
won't need to do this once you have it working - but keeping the tables
clean will help you debug problems.

> Again appreciate you taking the time to respond. Is there any plan to add
> support for external anchors in the new future?
>

I don't know about anyone else, but I don't have any immediate plans to
add support for external anchors.  Adding external anchor support would be
a significant change to the RLS module.  You would have to:
- Perform an HTTP GET whenever you come across an anchor (inefficient) or
just fetch the first time and cache the fully resolved resource lists in a
new DB table (as is done with pres-rules in watchers).  If the new table
is added rls_update_subs() would need be extended to update the table as
required.
- Have Kamailio block after sending the HTTP GET for the external anchor
(inefficient) or use t_(suspend|continue)() to pause the SIP transaction
(freeing the Kamailio process to handle other requests) until the HTTP
response arrives.

Regards,

Peter

-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd




More information about the sr-users mailing list