Scenario :
Loading a rls-services XML file to [email protected] (XCAP HTTP PUT) :
```xml
<?xml version="1.0" encoding="UTF-8"?>
<rls-services>
    <service uri="sip:[email protected]">
        <list name="points">
            <entry uri="sip:[email protected]">
                <display-name>Point 1</display-name>
            </entry>
            <entry uri="sip:[email protected]">
                <display-name>Point 2</display-name>
            </entry>
            <entry uri="sip:[email protected]">
                <display-name>Point 3</display-name>
            </entry>
        </list>
        <packages>
            <package>presence</package>
        </packages>
    </service>
</rls-services>

```
[email protected] -> subscribes to event presence on -> [email protected]
[email protected] -> subscribes to event presence on -> [email protected]
[email protected] -> subscribes to event presence on -> [email protected]
Waiting some time (10~20 seconds, approx rls, waitn_time option)...
[email protected] -> subscribes to event presence on -> [email protected]
[email protected] -> subscribes to RLS event presence.winfo for the first time 
on -> [email protected]

Kamailio sends only partial state as mentioned in "fullState="false"" and 
"state="partial"" and only for user dave (last one subscribed) with version "5" 
:
```xml
NOTIFY sip:[email protected]:7060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 
192.168.1.56;branch=z9hG4bKdfb9.fc98d020000000000000000000000000.0
To: <sip:[email protected]>;tag=aoW7RQAYSw
From: <sip:[email protected]>;tag=8790d89920d6a95cb6b77ece9ac70b8d-80d4
CSeq: 2 NOTIFY
Call-ID: cCiV8exRxM
Content-Length: 1050
User-Agent: kamailio (4.4.0-dev2 (i386/linux))
Max-Forwards: 70
Event: presence.winfo
Contact: <sip:[email protected]:5060>
Subscription-State: active;expires=8
Require: eventlist
Content-Type: 
multipart/related;type="application/rlmi+xml";start="<1438875442.sip:[email protected]>";boundary="LQLZpLYXZgJh5s2VPxHXdN1b"

--LQLZpLYXZgJh5s2VPxHXdN1b
Content-Transfer-Encoding: binary
Content-ID: <1438875442.sip:[email protected]>
Content-Type: application/rlmi+xml;charset="UTF-8"

<?xml version="1.0"?>
<list uri="sip:[email protected]" xmlns="urn:ietf:params:xml:ns:rlmi" 
version="2" fullState="false"><resource uri="sip:[email protected]"><instance 
id="Scf8UhwQ" state="active" 
cid="1438875442.sip:[email protected]"/></resource></list>

--LQLZpLYXZgJh5s2VPxHXdN1b
Content-Transfer-Encoding: binary
Content-ID: <1438875442.sip:[email protected]>
Content-Type: application/watcherinfo+xml

<?xml version="1.0"?>
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo" version="5" 
state="partial">
  <watcher-list resource="sip:[email protected]" package="presence">
    <watcher id="alice-bob-carol-dave" event="subscribe" 
status="active">sip:[email protected]</watcher>
  </watcher-list>
</watcherinfo>

--LQLZpLYXZgJh5s2VPxHXdN1b--
```
If I am reading well RFC 4662 Section 4.5 
(https://tools.ietf.org/html/rfc4662#section-4.5) Kamailio should send a full 
state NOTIFY for initial RLS subscribes and then it can send a partial state 
for updates.

I think we lose information here, but if a re-subscribe is performed I get a 
full NOTIFY, which is my current "workaround" :

1 - Initial subscribe
2 - If full state -> OK
3 - If partial state -> re-subscribe

```xml
NOTIFY sip:[email protected]:7060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 
192.168.1.56;branch=z9hG4bK00c9.e11aad40000000000000000000000000.0
To: <sip:[email protected]>;tag=AcM3AIKdAx
From: <sip:[email protected]>;tag=8790d89920d6a95cb6b77ece9ac70b8d-6573
CSeq: 1 NOTIFY
Call-ID: cCiV8exRxM
Content-Length: 3308
User-Agent: kamailio (4.4.0-dev2 (i386/linux))
Max-Forwards: 70
Event: presence.winfo
Contact: <sip:[email protected]:5060>
Subscription-State: active;expires=17
Require: eventlist
Content-Type: 
multipart/related;type="application/rlmi+xml";start="<1438875460.sip:[email protected]>";boundary="lxwToHs6uINUYOQjbengkND5"

--lxwToHs6uINUYOQjbengkND5
Content-Transfer-Encoding: binary
Content-ID: <1438875460.sip:[email protected]>
Content-Type: application/rlmi+xml;charset="UTF-8"

<?xml version="1.0"?>
<list uri="sip:[email protected]" xmlns="urn:ietf:params:xml:ns:rlmi" 
version="1" fullState="true">
  <resource uri="sip:[email protected]">
    <instance id="Scf8UhwQ" state="active" 
cid="1438875460.sip:[email protected]"/>
  </resource>
  <resource uri="sip:[email protected]">
    <instance id="Scf8UhwQ" state="active" 
cid="1438875460.sip:[email protected]"/>
  </resource>
  <resource uri="sip:[email protected]">
    <instance id="Scf8UhwQ" state="active" 
cid="1438875460.sip:[email protected]"/>
  </resource>
</list>

--lxwToHs6uINUYOQjbengkND5
Content-Transfer-Encoding: binary
Content-ID: <1438875460.sip:[email protected]>
Content-Type: application/watcherinfo+xml

<?xml version="1.0"?>
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo" version="1" 
state="full">
  <watcher-list resource="sip:[email protected]" package="presence">
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
  </watcher-list>
</watcherinfo>

--lxwToHs6uINUYOQjbengkND5
Content-Transfer-Encoding: binary
Content-ID: <1438875460.sip:[email protected]>
Content-Type: application/watcherinfo+xml

<?xml version="1.0"?>
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo" version="1" 
state="full">
  <watcher-list resource="sip:[email protected]" package="presence">
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="alice-bob-carol-dave" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="alice-bob-carol-dave" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="alice-bob-carol-dave" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="alice-bob-carol-dave" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
  </watcher-list>
</watcherinfo>

--lxwToHs6uINUYOQjbengkND5
Content-Transfer-Encoding: binary
Content-ID: <1438875460.sip:[email protected]>
Content-Type: application/watcherinfo+xml

<?xml version="1.0"?>
<watcherinfo xmlns="urn:ietf:params:xml:ns:watcherinfo" version="1" 
state="full">
  <watcher-list resource="sip:[email protected]" package="presence">
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
    <watcher id="[email protected]" event="subscribe" 
status="active">sip:[email protected]</watcher>
  </watcher-list>
</watcherinfo>

--lxwToHs6uINUYOQjbengkND5--
```


---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/276
_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to