[sr-dev] git:master: modules_k/presence Used affected_rows SQL statement

Anca Vamanu anca.vamanu at 1and1.ro
Tue Mar 13 17:46:35 CET 2012


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=42f2d990d022cb67b051ac563ee8cde916a0d14a
>>
>> Author: Dragos Dinu<dragos.dinu at 1and1.ro  <mailto:dragos.dinu at 1and1.ro>>
>> Committer: Anca Vamanu<anca.vamanu at 1and1.ro  <mailto:anca.vamanu at 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 at 1and1.ro  <mailto:dragos.dinu at 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;h=42f2d990d022cb67b051ac563ee8cde916a0d14a
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org  <mailto:sr-dev at lists.sip-router.org>
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
> -- 
> Peter Dunkley
> Technical Director
> Crocodile RCS Ltd
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20120313/6931b10a/attachment-0001.htm>


More information about the sr-dev mailing list