Hi Peter,
I found the source of the problem. For the case when publish with
expires 0 is received, the order of operations has changed:
Now the delete in database is performed before sending the Notifies, and
before it was the other way around. We had to perform the delete first,
to find out if the record actually existed and if we need to send a Notify.
And actually the code relies on finding the record in database even for
unPublish. The main reason is that it wants to build a pidf with status
closed from the previous published state - to keep the same tuple id. I
don't know if there are actually clients interpreting the tuple id
(which should identify a certain device), but it was designed like this
to be safe.
For this reason, we will have to give up on using affected_rows on
delete and do the query each time. We will do the fix tomorrow.
Regards,
Anca
On 03/13/2012 05:40 PM, Peter Dunkley wrote:
Hi Anca,
I just tried this change on my system. With the change present and
two presence/RLS clients signed in I get some error messages displayed
when I log one of the clients out:
Mar 13 15:36:09 pd-laptop-linux ./kamailio[1493]: ERROR:
presence_xml [notify_body.c:176]: while parsing the xml body message
Mar 13 15:36:09 pd-laptop-linux ./kamailio[1493]: ERROR:
presence_xml [notify_body.c:133]: in function get_final_notify_body
Mar 13 15:36:09 pd-laptop-linux ./kamailio[1493]: ERROR: presence
[notify.c:1396]: in function apply_auth_nbody
Mar 13 15:36:09 pd-laptop-linux ./kamailio[1493]: ERROR: presence
[notify.c:1583]: sending Notify not successful
Mar 13 15:36:09 pd-laptop-linux ./kamailio[1493]: ERROR: presence
[notify.c:1288]: Could not send notify for presence
I reversed out the change and the errors stopped happening, they
started up again as soon as I put it back.
Thanks,
Peter
On Tue, 2012-03-13 at 10:40 +0100, Anca Vamanu wrote:
Module: sip-router
Branch: master
Commit: 42f2d990d022cb67b051ac563ee8cde916a0d14a
URL:http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=42f…
Author: Dragos Dinu<dragos.dinu(a)1and1.ro <mailto:dragos.dinu@1and1.ro>>
Committer: Anca Vamanu<anca.vamanu(a)1and1.ro <mailto:anca.vamanu@1and1.ro>>
Date: Tue Mar 13 11:33:06 2012 +0200
modules_k/presence Used affected_rows SQL statement
In case affected_rows function is available in the DB driver, this
function is used instead of an extra query in presentity table that only
verified if the record existed.
Patch author Dragos Dinu<dragos.dinu(a)1and1.ro
<mailto:dragos.dinu@1and1.ro>>
---
modules_k/presence/presentity.c | 436 ++++++++++++++++++++++----------------
1 files changed, 252 insertions(+), 184 deletions(-)
Diff:http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;…
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org <mailto:sr-dev@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd