Hello,
if you use subs_db_mode 2 then the list of activate watches should be available in the respective active_watchers table, I think. To the get the content of this in mode 0 there could
be probably a RPC function to be added. If you thinking of adding an extra debugging line – this can be also done, just open a pull request for it in our tracker.
About the second question – the presence modules are modular and they can be configured individually differently. Some modules also export an API that is used then from other modules..
It is probably a good idea to investigate this more from your side. You could for example execute it with debugging and see why the table is queried constantly and which module trigger this query.
Cheers,
Henning
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com
From: sr-users <sr-users-bounces@lists.kamailio.org>
On Behalf Of ????????? ???????
Sent: Tuesday, December 17, 2019 1:19 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: [SR-Users] Questions about Presence
Hello!
I'm testing Kamailio as a presence server with configuration suggested by https://kb.asipto.com/kamailio:presence:k43-blf tutorial.
When I set presence module subs_db_mode setting to 0 or 2 (did not test with 1 and 3 seemed to have no problems) I was getting "DEBUG: presence [notify.c:1234]: publ_notify(): Could not find subs_dialog" message
after Kamailio received some PUBLISH requests. And NOTIFY is not being generated. It appears to be a mistake. There should be an active watcher according to Expires header values of the previous SUBSCRIBE request and the response to it. I could not find how
to get the list of active watchers from Kamailio memory. Is it possible or it can be done only by adding extra debug line in get_subs_dialog function?
Also I found that after setting pua module db_mode setting to 0, Kamailio is still writing records to presentity table. And it is constantly queried "select `username`,`domain`,`etag`,`event` from `presentity`
where `expires`<1576584910 AND `expires`>0 order by username" during the run time.
Is it correct behavior?
Thank a lot!