[SR-Users] Presence + RLS + XCAP

Paul Smith paul.smith at claritytele.com
Mon Mar 27 16:39:11 CEST 2017


Hi Daniel,
Thanks for the response and link.  My config is broadly similar.

Presence is working over SIP (e.g. I can SUBSCRIBE and revive NOTIFY messages from the Kamailio Presence server)
and XCAP is working over HTTP (e.g I can GET, edit and PUT rls-service and resource-list documents into the XCAP table using curl over HTTP)

I don’t understand what the rls.so module is doing or how to debug.  I expect to PUT an resource-list document over the XCAP HTTP interface and then SUBSCRIBE to an eventlist over SIP…. at present I cannot SUBSCRIBE to the resource-list.  Any calls to rls_handle_subscribe() are getting the failure value back.

Any pointers on how to debug, or have I fundamentally misunderstood something?

Thanks

  

> On 27 Mar 2017, at 13:02, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
> 
> Hello,
> 
> I haven't used snom with rls and xcap, however, my working configs with xcap and based on the config snippet presented at:
> 
>   - http://lists.sip-router.org/pipermail/sr-users/2013-October/079988.html <http://lists.sip-router.org/pipermail/sr-users/2013-October/079988.html>
> If you are not familiar with, be aware that XCAP should be over http(s).
> 
> Should you be still stuck on something related to this topic, let us know if you already used a config like the one linked above, to follow up more on this.
> 
> Cheers,
> Daniel
> 
> On 23/03/2017 14:04, Paul Smith wrote:
>> Hi
>>  I am struggling to figure out how to build and test an integrated presence server with Resource-List (rls.so) and XCAP (xcap_server.so).
>> 
>> I am confused about what is meant to happen and how to debug it.  Not sure if I am suffering from incompatibilities, configuration errors, or bugs…
>> 
>> I have not found an up to date guide on configuring an integrated presence, rls, xcap server so I have used old tutorials, module documentation and some course code review … but I’m pretty confused now!
>> 
>> I am using Snom phones and Jitsi (on Mac) to test.
>> 
>> I have a kamailio Registrar which proxies all presence messages to the separate kamailio 4.2 Presence server.
>> 
>> REQUIREMENT : Contact Presence
>> =============================
>> I would like to get a SUBSCRIBE from the Snom phone to subscribe to a contact-list resource list, and to receive a NOTIFY with all of the presence states for those contacts.  
>> 
>> Relevant snom settings?
>> 	Contact List URI:  this generates a SUBSCRIBE with event:presence 
>> 
>> 
>> I believe that:
>> ==========
>> presence module should be managing the individual user presence and dialog states
>> xcap module should allow me to use HTTP / curl to edit the resource lists
>> rls module should be managing the mapping from a resource list subscription to the individual presence states and generating the aggregated NOTIFY messages.
>> each device should then be able to SUBSCRIBE to a resource list uri and then receive an aggregated NOTIFY for all of the watched entities.
>> 
>> 
>> Current status:
>> ===========
>> 
>> SUBSCRIBE sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk> SIP/2.0
>> v: SIP/2.0/UDP 192.168.1.15:59594;branch=z9hG4bK-qllzlgs3xf43;rport
>> f: <sip:org1a@*****.co.uk <sip:org1a@*****.co.uk>>;tag=wwasqc6lmb
>> t: <sip:org1a-contacts@****.co.uk <sip:org1a-contacts@****.co.uk>>
>> i: 313439303236383530323234313530-x3hlb3j6b5ef
>> CSeq: 1 SUBSCRIBE
>> Max-Forwards: 70
>> User-Agent: snomD375/8.9.3.46
>> m: <sip:org1a at 192.168.1.15:59594 <sip:org1a at 192.168.1.15:59594>>;reg-id=1
>> Event: presence
>> Accept: application/pidf+xml, application/rlmi+xml, multipart/related
>> Supported: eventlist
>> Expires: 3600
>> l: 0
>> 
>> 
>> 	… auth handshake
>> 
>> 	
>> SIP/2.0 202 OK
>> Record-Route: <sip:10.210.160.13;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes <sip:10.210.160.13;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes>>
>> Record-Route: <sip:**pubip**;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes <sip:**pubip**;r2=on;lr=on;ftag=wwasqc6lmb;nat=yes>>
>> v: SIP/2.0/UDP 192.168.1.15:59594;received=**recvip**;branch=z9hG4bK-8wufiv1ua3ne;rport=60554
>> f: <sip:org1a@****.co.uk <sip:org1a@****.co.uk>>;tag=wwasqc6lmb
>> t: <sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk>>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-d30e
>> i: 313439303236383530323234313530-x3hlb3j6b5ef
>> CSeq: 2 SUBSCRIBE
>> Expires: 3600
>> Contact: <sip:10.210.160.16:5060;transport=udp <sip:10.210.160.16:5060;transport=udp>>
>> Server: kamailio (4.2.0 (x86_64/linux))
>> Content-Length: 0
>> 
>> 
>> 	… and then the snom receives an empty NOTIFY.
>> 
>> NOTIFY sip:org1a at 192.168.1.15:58325 <sip:org1a at 192.168.1.15:58325> SIP/2.0
>> Via: SIP/2.0/UDP 109.104.108.18;branch=z9hG4bKc54a.20db45097fb44595ccd5a30827ca2a62.0
>> Via: SIP/2.0/UDP 10.210.160.16;rport=5060;branch=z9hG4bKc54a.40150886000000000000000000000000.0
>> To: <sip:org1a@****.co.uk <sip:org1a@****.co.uk>>;tag=sx4ne9jpcl
>> From: <sip:org1a-contacts@*****.co.uk <sip:org1a-contacts@*****.co.uk>>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-ed89
>> CSeq: 2 NOTIFY
>> Call-ID: 313439303237323938323235353133-2du221e6okvf
>> Content-Length: 0
>> User-Agent: kamailio (4.2.0 (x86_64/linux))
>> Max-Forwards: 69
>> Event: presence
>> Contact: <sip:10.210.160.16:5060;transport=udp;alias=10.210.160.16~5060~1 <sip:10.210.160.16:5060;transport=udp;alias=10.210.160.16%7E5060%7E1>>
>> Subscription-State: active;expires=3600
>> 
>> 
>> The Subscription is showing up in the watchers table, not the rls_watchers table, so I believe it is being rejected by the rls_handle_subscribe() and then parsed by the presence module.  Is that correct?
>> 
>> There is noting in rls_watchers or rls_presentity tables.  Should there be?
>> 
>> I have a rows in the XCAP table for the Resource-List
>> curl -d @/tmp/contacts-resource-list.xml -vvv -X PUT http://109.104.108.23:5060/xcap-root/resource-lists/users/sip:org1a-contacts@hpbx449vb531.sip.byphone.co.uk/index <http://109.104.108.23:5060/xcap-root/resource-lists/users/sip:org1a-contacts@hpbx449vb531.sip.byphone.co.uk/index>
>> 
>> relevant row in xcap table:
>> 
>> |  3 | org1a-contacts | *****.co.uk <http://co.uk/> | <?xml version="1.0" encoding="UTF-8" standalone="no"?><resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"><list name="team"><entry uri="sip:1002@**** <sip:1002@****>.co.uk <http://co.uk/>"/><entry uri="sip:1001@**** <sip:1001@****>.co.uk <http://co.uk/>"><display-name>bob</display-name></entry><entry uri="sip:1003@**** <sip:1003@****>.co.uk <http://co.uk/>"><display-name>test1</display-name></entry><entry uri="sip:1006@**** <sip:1006@****>co.uk <http://co.uk/>"><display-name>test1006</display-name></entry><entry uri="sip:1007@**** <sip:1007@****>co.uk <http://co.uk/>"><display-name>test1007</display-name></entry><entry uri="sip:1008 at h**** <sip:1008 at h****>.co.uk <http://co.uk/>"><display-name>test1008</display-name></entry><entry uri="sip:1009@**** <sip:1009@****>.co.uk <http://co.uk/>"><display-name>test1009</display-name></entry>    <entry uri="sip:1005@**** <sip:1005@****>.co.uk <http://co.uk/>"><display-name>testing1005</display-name></entry>    <entry uri=“sip:org1a@**** <sip:org1a@****>.co.uk <http://co.uk/>"><display-name>testingorg1a</display-name></entry>    <entry uri=“sip:org1c@**** <sip:org1c@****>.co.uk <http://co.uk/>"><display-name>testingorg1c</display-name></entry></list></resource-lists> |        4 | sr-1490270411-10965-2 |      0 | /xcap-root/resource-lists/users/sip:org1a-contacts@**** <sip:org1a-contacts@****>co.uk/index <http://co.uk/index> |    0 |
>> 
>> 
>> I have rows in the presence table for the entities that I want to track e.g.
>>                                |        |
>> | 2889 | org1c    | ****.co.uk <http://co.uk/> | presence        | a.1490270411.10942.42.1083 | 1490277099 |    1490273499 | <?xml version="1.0
>> " encoding="UTF-8"?>
>> <presence xmlns="urn:ietf:params:xml:ns:pidf"
>> xmlns:im="urn:ietf:params:xml:ns:pidf:im"
>>           entity=“pres:org1c@*****.co.uk <http://co.uk/>">
>> <tuple id="snom370-000413260935">
>> <status><basic>open</basic>
>> <im:im <im:im>>Available</im:im <im:im>>
>> </status>
>> <contact priority="1.00">sip:org1c@**** <sip:org1c@****>.co.uk <http://co.uk/></contact>
>> <note xml:lang="en">Available</note>
>> </tuple></presence>
>> 
>> I am running kamaiio 4.2
>> 
>> 
>> 
>> Question : Should I have an resource-services row too? Or does rls.so infer the relationship using the URI?  When I use jitsi to manipulate its contact list it only inserts 2 rows into the xcap table and  I cannot get a SIP Subscribe to connect to that resource list either.
>> 
>> Question : What should the curl PUT commands and XML docs look like to build a valid RLS service (is there a good example anywhere)?
>> 
>> Question : Is there an example config or doc anywhere showing how to build integrated presence, rls, xcap?
>> 
>> Question : Has anyone got this working with Snom and or other handsets… the standards and implementations seem vague / inconsistent?
>> 
>> 
>> Note: There is another Snom setting (Extension Monitoring Call Pickup List URI:) which produces a SUBSCRIBE with Event:dialog but which should allow a button/lamp/callpickup/BLF for the buddy contact.  I’d like to get that working too, but recognise that rls.so does not handle dialog messages by default, so I’m starting with Presence...
>> 
>> 
>> Paul
>> 
>> 
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users <http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
> 
> -- 
> Daniel-Constantin Mierla
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
> Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com <http://www.asipto.com/>
> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com <http://www.kamailioworld.com/>_______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170327/2f14beb4/attachment.html>


More information about the sr-users mailing list