<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hello,</p>
<p>not being an expert on the presence module - but I quickly look to the code.</p>
<p>It seems that there is no special handling regarding this "Expires:0" logic. It just inserts it into the database/memory and then waits for the timer to remove it. Then the mentioned NOTIFY is send out.</p>
<p>According to the standard this is required:<br>
</p>
<pre class="newpage">3.1.6.4
[...]
 When removing a
   subscription, the notifier SHOULD send a NOTIFY message with a
   "Subscription-State" value of "terminated" to inform it that the
   subscription is being removed.  If such a message is sent, the
   "Subscription-State" header SHOULD contain a "reason=timeout"
   parameter.

      The sending of a NOTIFY when a subscription expires allows the
      corresponding dialog to be terminated, if appropriate.</pre>
<p>Cheers,</p>
<p>Henning<br>
</p>
<div class="moz-cite-prefix">Am 13.04.19 um 21:08 schrieb David Dean:<br>
</div>
<blockquote type="cite" cite="mid:1096656430.4113071.1555182495931@mail.yahoo.com">
<div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
        Helvetica, Arial, sans-serif;font-size:13px;">
<div>When a client sends a SUBSCRIBE with Expires: 0, Kamailio responds correctly with a "202 OK".<br>
</div>
<div><span></span></div>
<div><span><span><br>
</span></span></div>
<div>But then Kamailio sends a NOTIFY to the same client with "<span>Subscription-State: terminated;reason=timeout".</span></div>
<div><span><br>
</span></div>
<div>The client rejects this NOTIFY with a "<span>481 Dialog/Transaction Does Not Exist".</span></div>
<div><span><br>
</span></div>
<div><span>Why does Kamailio send this NOTIFY, and is there any way to fix or disable it because it's always rejected by the client?</span></div>
<div><span><br>
</span></div>
<div><span>The client is IMSDroid, and Kamailio is <span>5.2.2 with a default configuration.</span></span></div>
<div><span><br>
</span></div>
<div><br>
</div>
<div>Packet 1 = Client sending SUBSCRIBE with Expires: 0</div>
<div><br>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span>
<div>SUBSCRIBE sip:X.X.X.X:443;transport=tcp SIP/2.0</div>
</span></div>
<div><span>
<div>Via: SIP/2.0/TCP 192.168.0.21:45336;branch=z9hG4bK-670576127</div>
</span></div>
<div><span>
<div>From: <a class="moz-txt-link-rfc2396E" href="mailto:sip:username@domain.com">
<sip:username@domain.com></a>;tag=1372208921</div>
</span></div>
<div><span>
<div>To: <sip:kamailio.domain.com>;tag=c4eb72dabf44e7588b972bd3b454ea11-0cd6</div>
</span></div>
<div><span>
<div>Contact: <a class="moz-txt-link-rfc2396E" href="mailto:sip:username@192.168.0.21:45336;transport=tcp">
<sip:username@192.168.0.21:45336;transport=tcp></a></div>
</span></div>
<div><span>
<div>Call-ID: e8cffa8f-948d-eb99-69ca-c9f18bdf11a0</div>
</span></div>
<div><span>
<div>CSeq: 1321654295 SUBSCRIBE</div>
</span></div>
<div><span>
<div>Expires: 0</div>
</span></div>
<div><span>
<div>Content-Length: 299</div>
</span></div>
<div><span>
<div>Max-Forwards: 70</div>
</span></div>
<div><span>
<div>Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER</div>
</span></div>
<div><span>
<div>Accept: application/pidf+xml</div>
</span></div>
<div><span>
<div>Event: presence</div>
</span></div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>Packet 2 = Kamailio responding with 202 OK</div>
<div><br>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span>
<div>SIP/2.0 202 OK</div>
</span></div>
<div><span>
<div>Via: SIP/2.0/TCP 192.168.0.21:45336;branch=z9hG4bK-670576127</div>
</span></div>
<div><span>
<div>From: <a class="moz-txt-link-rfc2396E" href="mailto:sip:username@domain.com">
<sip:username@domain.com></a>;tag=1372208921</div>
</span></div>
<div><span>
<div>To: <a class="moz-txt-link-rfc2396E" href="mailto:sip:kamailio@domain.com"><sip:kamailio@domain.com></a>;tag=c4eb72dabf44e7588b972bd3b454ea11-0cd6</div>
</span></div>
<div><span>
<div>Call-ID: e8cffa8f-948d-eb99-69ca-c9f18bdf11a0</div>
</span></div>
<div><span>
<div>CSeq: 1321654295 SUBSCRIBE</div>
</span></div>
<div><span>
<div>Expires: 0</div>
</span></div>
<div><span>
<div>Contact: <sip:X.X.X.X:443;transport=tcp></div>
</span></div>
<div><span>
<div>Server: kamailio (5.2.2 (x86_64/linux))</div>
</span></div>
<div><span>
<div>Content-Length: 0</div>
</span></div>
</blockquote>
<div><span>
<div><br>
</div>
<div><br>
</div>
</span>Packet 3 = Kamailio sending a NOTIFY</div>
<div><br>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span>
<div>NOTIFY <a class="moz-txt-link-abbreviated" href="mailto:sip:username@192.168.0.21:45336;transport=tcp">
sip:username@192.168.0.21:45336;transport=tcp</a> SIP/2.0</div>
</span></div>
<div><span>
<div>Via: SIP/2.0/TCP X.X.X.X:443;branch=z9hG4bKefe7.5f8ec435000000000000000000000000.0</div>
</span></div>
<div><span>
<div>To: <a class="moz-txt-link-rfc2396E" href="mailto:sip:username@domain.com"><sip:username@domain.com></a>;tag=1372208921</div>
</span></div>
<div><span>
<div>From: <a class="moz-txt-link-rfc2396E" href="mailto:sip:kamailio@domain.com">
<sip:kamailio@domain.com></a>;tag=c4eb72dabf44e7588b972bd3b454ea11-0cd6</div>
</span></div>
<div><span>
<div>CSeq: 3 NOTIFY</div>
</span></div>
<div><span>
<div>Call-ID: e8cffa8f-948d-eb99-69ca-c9f18bdf11a0</div>
</span></div>
<div><span>
<div>Content-Length: 0</div>
</span></div>
<div><span>
<div>Max-Forwards: 70</div>
</span></div>
<div><span>
<div>Event: presence</div>
</span></div>
<div><span>
<div>Contact: <sip:X.X.X.X:443;transport=tcp></div>
</span></div>
<div><span>
<div>Subscription-State: terminated;reason=timeout</div>
</span></div>
</blockquote>
<div><span>
<div><br>
</div>
<div><br>
</div>
</span>Packet 4 = Client responding to the NOTIFY with "<span>481 Dialog/Transaction Does Not Exist"</span></div>
<div><span><br>
</span></div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span><span>
<div>SIP/2.0 481 Dialog/Transaction Does Not Exist</div>
</span></span></div>
<div><span><span>
<div>Via: SIP/2.0/TCP X.X.X.X:443;branch=z9hG4bKefe7.5f8ec435000000000000000000000000.0</div>
</span></span></div>
<div><span><span>
<div>From: <a class="moz-txt-link-rfc2396E" href="mailto:sip:kamailio@domain.com">
<sip:kamailio@domain.com></a>;tag=c4eb72dabf44e7588b972bd3b454ea11-0cd6</div>
</span></span></div>
<div><span><span>
<div>To: <a class="moz-txt-link-rfc2396E" href="mailto:sip:username@domain.com"><sip:username@domain.com></a>;tag=1372208921</div>
</span></span></div>
<div><span><span>
<div>Call-ID: e8cffa8f-948d-eb99-69ca-c9f18bdf11a0</div>
</span></span></div>
<div><span><span>
<div>CSeq: 3 NOTIFY</div>
</span></span></div>
<div><span><span>
<div>Content-Length: 0</div>
</span></span></div>
</blockquote>
<div><span><br>
</span></div>
<div><span><br>
</span></div>
<div><span>There are two entries in the Kamailio log:</span></div>
<div><span><br>
</span></div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span><span>
<div>INFO: {1 1321654295 SUBSCRIBE e8cffa8f-948d-eb99-69ca-c9f18bdf11a0} presence [notify.c:1614]: send_notify_request(): NOTIFY
<a class="moz-txt-link-abbreviated" href="mailto:sip:username@domain.com">sip:username@domain.com</a> via sip:Y.Y.Y.Y:45336;transport=tcp on behalf of sip:kamailio.domain.com for event presence : e8cffa8f-948d-eb99-69ca-c9f18bdf11a0</div>
</span></span></div>
<div><span><span>
<div><br>
</div>
</span></span></div>
<div><span><span>
<div>ERROR: {2 3 NOTIFY e8cffa8f-948d-eb99-69ca-c9f18bdf11a0} presence [subscribe.c:497]: delete_subs(): Failed to delete subscription from memory [slot: 174 ev: sip:kamailio.domain.com pu: presence ci: e8cffa8f-948d-eb99-69ca-c9f18bdf11a0 ft: 1372208921 tt:
 c4eb72dabf44e7588b972bd3b454ea11-0cd6]</div>
</span></span></div>
</blockquote>
<div><span><span>
<div><br>
</div>
<div><br>
</div>
<div>These are the presence settings in the Kamailio config file:</div>
<div><br>
</div>
</span></span></div>
<blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
<div><span><span>
<div><span>
<div>#!ifdef WITH_PRESENCE</div>
</span></div>
</span></span></div>
<div><span><span><span>
<div># ----- presence params -----</div>
</span></span></span></div>
<div><span><span><span>
<div>modparam("presence", "db_url", DBURL)</div>
</span></span></span></div>
<div><span><span><span>
<div>modparam("presence", "send_fast_notify", 0)</div>
</span></span></span></div>
<div><span><span><span>
<div><br>
</div>
</span></span></span></div>
<div><span><span><span>
<div># ----- presence_xml params -----</div>
</span></span></span></div>
<div><span><span><span>
<div>modparam("presence_xml", "db_url", DBURL)</div>
</span></span></span></div>
<div><span><span><span>
<div>modparam("presence_xml", "force_active", 1)</div>
</span></span></span></div>
<div><span><span><span>
<div>modparam("presence_xml", "force_dummy_presence", 0)</div>
</span></span></span></div>
<div><span><span><span>
<div>#!endif</div>
</span></span></span></div>
</blockquote>
<div><span><span><span>
<div><br>
</div>
<div><br>
</div>
</span>Appreciate your help.</span></span></div>
<div><br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">-- 
Henning Westerholt - <a class="moz-txt-link-freetext" href="https://skalatan.de/blog/">https://skalatan.de/blog/</a>
Kamailio services - <a class="moz-txt-link-freetext" href="https://skalatan.de/services">https://skalatan.de/services</a></pre>
</body>
</html>