First, RFCs related to SIP presence are quite confusing sometimes and often not fully implemented by presence servers and endpoints.<br><br>Secondly, dialog presence event for first call has already completed its life-cycle i.e.  It has been terminated by second publish from Asterisk. You can not change dialog state AFTER it has been terminated. Thus, third publish is rejected by kamailio. Asterisk is suppose to send third publish without sip-if-match header since it is new call and thus a new dialog, completely unrelated to previous call and dialog.<br><br>Hope this helps.<br><br><br><div class="gmail_quote"><div dir="ltr">On Fri 16. Feb 2018 at 13:40, Cyrille Demaret <<a href="mailto:cyrille@omail.be">cyrille@omail.be</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="FR-BE" link="#0563C1" vlink="#954F72"><div class="m_2859026131602002867WordSection1"><p class="MsoNormal">Hi,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span lang="EN-US">I’m using Kamailio with presence enabled and Asterisk PJSIP and outbound-publish. My problem is happening when I place 2 consecutive calls from Asterisk :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">When I make a first call Asterisk sent the following:<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">PUBLISH <a href="mailto:sip%3A201@192.168.100.37" target="_blank">sip:201@192.168.100.37</a> SIP/2.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPj4f9c19eb-26d8-4bb1-8f00-e69723a61082<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">From: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=a560e088-9e8a-49f2-a9b1-4a0ec31340bf<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">CSeq: 10697 PUBLISH<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Event: dialog<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Expires: 180<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Max-Forwards: 70<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">User-Agent: Asterisk PBX 14.6.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Content-Type: application/dialog-info+xml<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Content-Length: 247<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US"><?xml version="1.0" encoding="UTF-8"?> early……<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Kamailio replies :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP/2.0 200 OK<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Via: SIP/2.0/UDP 192.168.100.37:5080;rport=5080;branch=z9hG4bKPj4f9c19eb-26d8-4bb1-8f00-e69723a61082;received=192.168.100.37<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">From: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=a560e088-9e8a-49f2-a9b1-4a0ec31340bf<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=b596189c6de9c38f624fd84638f43be6-ff39<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">CSeq: 10697 PUBLISH<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Expires: 180<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP-ETag: a.1518775074.19863.16.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Server: kamailio (5.0.5 (x86_64/linux))<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Content-Length: 0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">When the call is done, Asterisk sent another PUBLISH telling that the call if terminated :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">PUBLISH <a href="mailto:sip%3A201@192.168.100.37" target="_blank">sip:201@192.168.100.37</a> SIP/2.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPja93efb01-a518-445e-9e9b-f6f97ab8c752<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">From: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=165fb3b2-ec0e-4786-889f-eb194ad456ce<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">CSeq: 10698 PUBLISH<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Event: dialog<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP-If-Match: a.1518775074.19863.16.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Expires: 180<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Max-Forwards: 70<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">User-Agent: Asterisk PBX 14.6.0<u></u><u></u></span></p><p class="MsoNormal">Content-Type: application/dialog-info+xml<u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Content-Length: 230<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US"><?xml version="1.0" encoding="UTF-8"?> terminated….<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">And Kamailio replies :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP/2.0 200 OK<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Via: SIP/2.0/UDP 192.168.100.37:5080;rport=5080;branch=z9hG4bKPja93efb01-a518-445e-9e9b-f6f97ab8c752;received=192.168.100.37<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">From: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=165fb3b2-ec0e-4786-889f-eb194ad456ce<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=b596189c6de9c38f624fd84638f43be6-48b4<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">CSeq: 10698 PUBLISH<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Expires: 180<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP-ETag: a.1518775074.19873.18.1<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Server: kamailio (5.0.5 (x86_64/linux))<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Content-Length: 0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Here, the SIP ETag is a.1518775074.19873.18.1.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">The problem is if I make a new call before the expiration of the previous SUBSCRIBE, Asterisk reuse this SIP ETag according to the RFC :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">PUBLISH <a href="mailto:sip%3A201@192.168.100.37" target="_blank">sip:201@192.168.100.37</a> SIP/2.0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Via: SIP/2.0/UDP 192.168.100.37:5080;rport;branch=z9hG4bKPj9d13bb82-31d9-48db-9672-bd4b6b4f22f0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">From: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a>;tag=33e6b028-0444-4b3a-8bc2-4a987a291528<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To: <a href="mailto:sip%3A201@mydomain.com" target="_blank">sip:201@mydomain.com</a><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Call-ID: 5adcf0a0-f138-44d6-8c56-eaf7c3b3b183<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">CSeq: 10699 PUBLISH<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Event: dialog<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">SIP-If-Match: a.1518775074.19873.18.1<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Expires: 180<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Max-Forwards: 70<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">User-Agent: Asterisk PBX 14.6.0<u></u><u></u></span></p><p class="MsoNormal">Content-Type: application/dialog-info+xml<u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Content-Length: 247<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US"><?xml version="1.0" encoding="UTF-8"?> early…<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Kamailio refuse it with this error : “Trying to update an already terminated state. Skipping update.” because the call is considered as terminated.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">The RFC is stating :<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">When updating previously published event state, PUBLISH requests MUST<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">contain a single SIP-If-Match header field identifying the specific<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">event state that the request is refreshing, modifying or removing.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">This header field MUST contain a single entity-tag that was returned<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">by the ESC in the SIP-ETag header field of the response to a previous<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">publication.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Why Kamailio is acting like that?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Best regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Cyrille<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p></div></div>_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>