Hello,


I'm using Kamailio v5.6.2 with presence, presence_xml, xcap_server, and rls modules.

I pushed 2 documents to the xcap server:

1. urn:ietf:params:xml:ns:resource-lists

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">

<list name="friends">

<entry uri="sip:1001@example.com">

<display-name>1001</display-name>

</entry>

<entry uri="sip:1002@example.com">

<display-name>1002</display-name>

</entry>

</list>

</resource-lists>


2. urn:ietf:params:xml:ns:rls-services

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<rls-services xmlns="urn:ietf:params:xml:ns:rls-services" xmlns:rl="urn:ietf:params:xml:ns:resource-lists" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<service uri="sip:1000+presence@example.com">

<resource-list>https://kamailio:5061/xcap-root/resource-lists/users/sip:1000@example.com/index/~~/resource-lists/list[@name="friends"]</resource-list>

<packages>

<package>presence</package>

</packages>

</service>

</rls-services>


I'm subscribing to presence event on rls-service


SUBSCRIBE sip:1000+presence@example.com SIP/2.0

Via: SIP/2.0/TLS 10.255.0.3:33883;rport;branch=z9hG4bKPjbe079f60-d0e0-4f1e-9f93-b18e467be5e8;alias

Max-Forwards: 70

From: "1000" <sip:1000@example.com>;tag=97ef0748-da39-442f-9a02-468b67134ad6

To: <sip:1000+presence@example.com>

Contact: <sip:20416583@10.255.0.3:5061;transport=tls>

Call-ID: 9773a68c-b001-49f0-9ffa-093beb3d8e36

CSeq: 18636 SUBSCRIBE

Event: presence

Expires: 600

Supported: 100rel, replaces, norefersub, gruu

Accept: multipart/related, application/rlmi+xml, application/pidf+xml

Allow-Events: presence

Supported: eventlist

User-Agent: sipsimple 5.2.6

Content-Length:  0



The RLS sends a NOTIFY immediately upon accepting the subscription according to RFC 4662 and also the RLS is virtually subscribing to the presence event on the 2 resources in the friends list


NOTIFY sip:20416583@10.255.0.3:5061;transport=tls SIP/2.0

Via: SIP/2.0/TLS joey-local-proxy.example.com:5061;branch=z9hG4bKa93d.b63e0697000000000000000000000000.0

To: <sip:1000@example.com>;tag=97ef0748-da39-442f-9a02-468b67134ad6

From: <sip:1000+presence@example.com>;tag=e02a02cb113b2bdb8ebdb022d767e6d2-a1677c19

CSeq: 1 NOTIFY

Call-ID: 9773a68c-b001-49f0-9ffa-093beb3d8e36

Content-Length: 468

Max-Forwards: 70

Event: presence

Contact: <sip:kamailio@example.com:5060>

Subscription-State: active;expires=600

Require: eventlist

Content-Type: multipart/related;type="application/rlmi+xml";start="<1668755827.sip:1000+presence@example.com.1700642067>";boundary="1W1NaaaIIq6dOtLRXODFwqmC"


--1W1NaaaIIq6dOtLRXODFwqmC

Content-Transfer-Encoding: binary

Content-ID: <1668755827.sip:1000+presence@example.com.1700642067>

Content-Type: application/rlmi+xml;charset="UTF-8"


<?xml version="1.0"?>

<list uri="sip:1000+presence@example.com" xmlns="urn:ietf:params:xml:ns:rlmi" version="1" fullState="true">

  <resource uri="sip:1001@example.com"/>

  <resource uri="sip:1002@example.com"/>

</list>


--1W1NaaaIIq6dOtLRXODFwqmC--


Now I’m changing the resource list using XCAP. 

I’m sending a PUT request with a new document and I see that the change is pushed to the DB but user 1000 is not receiving a NOTIFY with the updated list.


This is the updated document:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">

<list name="friends">

<entry uri="sip:1001@example.com">

<display-name>1001</display-name>

</entry>

<entry uri="sip:1002@example.com">

<display-name>1002</display-name>

</entry>

<entry uri="sip:1003@example.com">

<display-name>1003</display-name>

</entry>

</list>

</resource-lists>


I see that Kamailio is virtually subscribing on 1003 (The newly added user) but NOTIFY is not received.


Also tried to subscribe on xcap-diff event, and the subscription was accepted successfully but no NOTIFY is received.


Am I missing something?


Thanks,

Joey