<!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.&nbsp; I now get:<BR>
<BR>
&nbsp;&nbsp;&nbsp; 7(21352) ERROR: rls [resource_notify.c:250]: record not found<BR>
<BR>
This looks very similar to the previous issue.&nbsp; 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: &lt;<A HREF="sip:rls@46.38.172.248:5060">sip:rls@46.38.172.248:5060</A>&gt;<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: &lt;<A HREF="sip:127.0.0.1:5060">sip:127.0.0.1:5060</A>;transport=udp&gt;<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.&nbsp; 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.&nbsp; 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

&gt; Hi Peter,
&gt;
&gt; can you fetch the latest git of branch 3.1 and try again the scenario? I
&gt; broke the update_rlsubs() in two functions, so that deletion from hash
&gt; table can be done later, after sending the notify requests.
&gt;
&gt; Let me know if it work now for you.
&gt;
&gt; Thanks,
&gt; Daniel
&gt;


</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>