[SR-Users] Presence + RLS + XCAP

Daniel-Constantin Mierla miconda at gmail.com
Mon Mar 27 14:02:49 CEST 2017


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

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/2.0
>     v: SIP/2.0/UDP 192.168.1.15:59594;branch=z9hG4bK-qllzlgs3xf43;rport
>     f: <sip:org1a@*****.co.uk>;tag=wwasqc6lmb
>     t: <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>;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>
>     Record-Route: <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>;tag=wwasqc6lmb
>     t:
>     <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>
>     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/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>;tag=sx4ne9jpcl
>     From:
>     <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
>
>     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@****.co.uk
>     <http://co.uk>"/><entry uri="sip:1001@****.co.uk
>     <http://co.uk>"><display-name>bob</display-name></entry><entry
>     uri="sip:1003@****.co.uk
>     <http://co.uk>"><display-name>test1</display-name></entry><entry
>     uri="sip:1006@****co.uk
>     <http://co.uk>"><display-name>test1006</display-name></entry><entry
>     uri="sip:1007@****co.uk
>     <http://co.uk>"><display-name>test1007</display-name></entry><entry
>     uri="sip:1008 at h****.co.uk
>     <http://co.uk>"><display-name>test1008</display-name></entry><entry
>     uri="sip:1009@****.co.uk
>     <http://co.uk>"><display-name>test1009</display-name></entry>  
>      <entry uri="sip:1005@****.co.uk
>     <http://co.uk>"><display-name>testing1005</display-name></entry>  
>      <entry uri=“sip:org1a@****.co.uk
>     <http://co.uk>"><display-name>testingorg1a</display-name></entry>
>        <entry uri=“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@****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>Available</im:im>
>     </status>
>     <contact priority="1.00">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
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Mar 6-8 (Europe) and Mar 20-22 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

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


More information about the sr-users mailing list