<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
Hello Daniel,<BR>
<BR>
I have looked into the new error message. I now get:<BR>
<BR>
7(21352) ERROR: rls [resource_notify.c:250]: record not found<BR>
<BR>
This looks very similar to the previous issue. What appears to be happening is that the RLS is successfully un-subscribing from the presence module with a SUBSCRIBE that looks like:<BR>
<BR>
<BLOCKQUOTE>
SUBSCRIBE <A HREF="sip:alice@crocodile-rcs.com">sip:alice@crocodile-rcs.com</A> SIP/2.0<BR>
Via: SIP/2.0/UDP 46.38.172.248;branch=z9hG4bKf89b.b9ec2180000000000000000000000000.0<BR>
To: <A HREF="sip:alice@crocodile-rcs.com.">sip:alice@crocodile-rcs.com</A><BR>
From: <A HREF="sip:bob@crocodile-rcs.com">sip:bob@crocodile-rcs.com</A>;tag=533cb9e91f4b999cf76861cbb9ed54ed-8c1c<BR>
CSeq: 10 SUBSCRIBE<BR>
Call-ID: <A HREF="mailto:6c60e3f8-21440@127.0.0.1.">6c60e3f8-21440@127.0.0.1</A><BR>
Content-Length: 0<BR>
User-Agent: Crocodile SuperNode 1.1<BR>
Max-Forwards: 70<BR>
Event: presence<BR>
Contact: <<A HREF="sip:rls@46.38.172.248:5060">sip:rls@46.38.172.248:5060</A>><BR>
Expires: 0<BR>
Supported: eventlist<BR>
Accept: application/pidf+xml, application/rlmi+xml, application/watcherinfo+xml, multipart/related<BR>
</BLOCKQUOTE>
<BR>
After accepting (with 202) this SUBSCRIBE the presence module tries to send a NOTIFY back to the RLS module:<BR>
<BR>
<BLOCKQUOTE>
NOTIFY <A HREF="sip:rls@46.38.172.248:5060">sip:rls@46.38.172.248:5060</A> SIP/2.0<BR>
Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK7a28.7240a060000000000000000000000000.0<BR>
To: <A HREF="sip:bob@crocodile-rcs.com">sip:bob@crocodile-rcs.com</A>;tag=533cb9e91f4b999cf76861cbb9ed54ed-8c1c<BR>
From: <A HREF="sip:alice@crocodile-rcs.com">sip:alice@crocodile-rcs.com</A>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-5cd7<BR>
CSeq: 1 NOTIFY<BR>
Call-ID: <A HREF="mailto:6c60e3f8-21440@127.0.0.1.">6c60e3f8-21440@127.0.0.1</A><BR>
Content-Length: 0<BR>
User-Agent: Crocodile SuperNode 1.1<BR>
Max-Forwards: 70<BR>
Event: presence<BR>
Contact: <<A HREF="sip:127.0.0.1:5060">sip:127.0.0.1:5060</A>;transport=udp><BR>
Subscription-State: terminated;reason=timeout<BR>
</BLOCKQUOTE>
This NOTIFY is passed into the RLS module using rls_handle_notify() and the error message from above appears in the log file. There is no final response sent to the NOTIFY so the error message appears repeatedly for 32 seconds until the presence module times out.<BR>
<BR>
I think there are two issues here:
<UL>
<LI>After completing the unSUBSCRIBE the RLS module removes the dialog from the hash table. This means that the NOTIFY from presence doesn't match a dialog - hence the error message.
<LI>rls_handle_notify() does not send an Fxx (or at least does not in this case) when it receives a validly formed NOTIFY that still causes an error.
</UL>
<BR>
Can you suggest a work-around?<BR>
<BR>
Regards,<BR>
<BR>
Peter<BR>
<BR>
<BR>
On Sun, 2011-04-03 at 18:33 +0100, Peter Dunkley wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Hi Daniel,
I've tried out the latest branch 3.1 and the issue I reported is fixed. I
am now getting a different error message - but this may have something to
do with the other changes to RLS that I am working on.
I'll investigate this further and let you know what I find.
Thanks for your help.
Peter
> Hi Peter,
>
> can you fetch the latest git of branch 3.1 and try again the scenario? I
> broke the update_rlsubs() in two functions, so that deletion from hash
> table can be done later, after sending the notify requests.
>
> Let me know if it work now for you.
>
> Thanks,
> Daniel
>
</PRE>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>