[jitsi-dev] XCAP help


#1

Hi,

I am trying to get Jitsi to pull contact lists from a central server using
HTTP.

We have an existing contacts database.

Looking at Jitsi, it seems to support two protocols, XCAP and XIVO.

I can find no docs at all on XIVO, but there seems to be some docs on XCAP.

The problem is I have not been able to figure out how the protocol works,
or what responses I need to generate in order to get the lists working.

For example, I have created a test app to try and get this working.

The first URL seems to be:

/xcap-root/xcap-caps/global/index

I send this response:

<xcap-caps><auids><auid>rls-services</auid><auid>pidf-manipulation</auid><auid>xcap-caps</auid><auid>resource-lists</auid><auid>pres-rules</auid></auids><extensions>
  </extensions><namespaces><namespace>urn:ietf:params:xml:ns:rls-services</namespace><namespace>urn:ietf:params:xml:ns:pidf</namespace><namespace>urn:ietf:params:xml:ns:xcap-caps</namespace><namespace>urn:ietf:params:xml:ns:resource-lists</namespace><namespace>urn:ietf:params:xml:ns:pres-rules</namespace></namespaces></xcap-caps>

Then the next request seems to be:

/xcap-root/resource-lists/users/sip:$username@$domain/index

I send this response:

<resource-lists><list name="ContactList"><entry
uri="12"><display-name>Nikola
Tesla</display-name></entry></list></resource-lists>

However, I don't see anything in Jitsi, but I do see it making the requests.

If anyone could give me a pointer it would be much appreciated.

Thanks


#2

Hey Tom,

You can find the XCAP specification here:

http://tools.ietf.org/html/rfc4825

Note however that you don't need to reimplement it. You can just use
an existing implementation like OpenXCAP:

Hope this helps,
Emil

···

On Wed, Sep 26, 2012 at 11:13 AM, Tom Parrott <tomp@tomp.co.uk> wrote:

Hi,

I am trying to get Jitsi to pull contact lists from a central server using
HTTP.

We have an existing contacts database.

Looking at Jitsi, it seems to support two protocols, XCAP and XIVO.

I can find no docs at all on XIVO, but there seems to be some docs on XCAP.

The problem is I have not been able to figure out how the protocol works,
or what responses I need to generate in order to get the lists working.

For example, I have created a test app to try and get this working.

The first URL seems to be:

/xcap-root/xcap-caps/global/index

I send this response:

<xcap-caps><auids><auid>rls-services</auid><auid>pidf-manipulation</auid><auid>xcap-caps</auid><auid>resource-lists</auid><auid>pres-rules</auid></auids><extensions>
  </extensions><namespaces><namespace>urn:ietf:params:xml:ns:rls-services</namespace><namespace>urn:ietf:params:xml:ns:pidf</namespace><namespace>urn:ietf:params:xml:ns:xcap-caps</namespace><namespace>urn:ietf:params:xml:ns:resource-lists</namespace><namespace>urn:ietf:params:xml:ns:pres-rules</namespace></namespaces></xcap-caps>

Then the next request seems to be:

/xcap-root/resource-lists/users/sip:$username@$domain/index

I send this response:

<resource-lists><list name="ContactList"><entry
uri="12"><display-name>Nikola
Tesla</display-name></entry></list></resource-lists>

However, I don't see anything in Jitsi, but I do see it making the requests.

If anyone could give me a pointer it would be much appreciated.

Thanks

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31


#3

Thanks Emil,

I will look at openxcap, although we already have a contacts table
integrated into our existing system, so not sure if it will be compatible.

I was looking at the RFCs earlier, although they are quite conceptual, and
don't really tell me what I need to know.

So far I have got Jitsi to query the xcap-caps index, and then it proceeds
to query the user specific resource list, but it seems what ever I return
jitsi isn't able to interpret it.

Thanks
Tom

···

Hey Tom,

You can find the XCAP specification here:

http://tools.ietf.org/html/rfc4825

Note however that you don't need to reimplement it. You can just use
an existing implementation like OpenXCAP:

http://openxcap.org/

Hope this helps,
Emil

On Wed, Sep 26, 2012 at 11:13 AM, Tom Parrott <tomp@tomp.co.uk> wrote:

Hi,

I am trying to get Jitsi to pull contact lists from a central server
using
HTTP.

We have an existing contacts database.

Looking at Jitsi, it seems to support two protocols, XCAP and XIVO.

I can find no docs at all on XIVO, but there seems to be some docs on
XCAP.

The problem is I have not been able to figure out how the protocol
works,
or what responses I need to generate in order to get the lists working.

For example, I have created a test app to try and get this working.

The first URL seems to be:

/xcap-root/xcap-caps/global/index

I send this response:

<xcap-caps><auids><auid>rls-services</auid><auid>pidf-manipulation</auid><auid>xcap-caps</auid><auid>resource-lists</auid><auid>pres-rules</auid></auids><extensions>
  </extensions><namespaces><namespace>urn:ietf:params:xml:ns:rls-services</namespace><namespace>urn:ietf:params:xml:ns:pidf</namespace><namespace>urn:ietf:params:xml:ns:xcap-caps</namespace><namespace>urn:ietf:params:xml:ns:resource-lists</namespace><namespace>urn:ietf:params:xml:ns:pres-rules</namespace></namespaces></xcap-caps>

Then the next request seems to be:

/xcap-root/resource-lists/users/sip:$username@$domain/index

I send this response:

<resource-lists><list name="ContactList"><entry
uri="12"><display-name>Nikola
Tesla</display-name></entry></list></resource-lists>

However, I don't see anything in Jitsi, but I do see it making the
requests.

If anyone could give me a pointer it would be much appreciated.

Thanks

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31


#4

Hey Tom,

Thanks Emil,

I will look at openxcap, although we already have a contacts table
integrated into our existing system, so not sure if it will be compatible.

Well depending on what you are trying to achieve it may be better for
you to use LDAP. Jitsi uses LDAP servers as contact directories that
it runs queries against. Users can than choose to add these results to
you contact list, which, in the case of SIP, will be persisted in
XCAP.

I would also assume that it might be possible to tweak OpenXCAP's
database so that it would contain a number of pre-filled contacts
there, but you should be careful not to overcrowd that one. Contact
lists are not directories and vice versa.

I was looking at the RFCs earlier, although they are quite conceptual, and
don't really tell me what I need to know.

Well RFC4825 is just the base definition of XCAP. You'd also need to
look at the various documents that excend it.

So far I have got Jitsi to query the xcap-caps index, and then it proceeds
to query the user specific resource list, but it seems what ever I return
jitsi isn't able to interpret it.

Use of XCAP for resource lists is defined in RFC4827.

Hope this helps,
Emil

···

On Wed, Sep 26, 2012 at 5:56 PM, Tom Parrott <tomp@tomp.co.uk> wrote:

Thanks
Tom

Hey Tom,

You can find the XCAP specification here:

http://tools.ietf.org/html/rfc4825

Note however that you don't need to reimplement it. You can just use
an existing implementation like OpenXCAP:

http://openxcap.org/

Hope this helps,
Emil

On Wed, Sep 26, 2012 at 11:13 AM, Tom Parrott <tomp@tomp.co.uk> wrote:

Hi,

I am trying to get Jitsi to pull contact lists from a central server
using
HTTP.

We have an existing contacts database.

Looking at Jitsi, it seems to support two protocols, XCAP and XIVO.

I can find no docs at all on XIVO, but there seems to be some docs on
XCAP.

The problem is I have not been able to figure out how the protocol
works,
or what responses I need to generate in order to get the lists working.

For example, I have created a test app to try and get this working.

The first URL seems to be:

/xcap-root/xcap-caps/global/index

I send this response:

<xcap-caps><auids><auid>rls-services</auid><auid>pidf-manipulation</auid><auid>xcap-caps</auid><auid>resource-lists</auid><auid>pres-rules</auid></auids><extensions>
  </extensions><namespaces><namespace>urn:ietf:params:xml:ns:rls-services</namespace><namespace>urn:ietf:params:xml:ns:pidf</namespace><namespace>urn:ietf:params:xml:ns:xcap-caps</namespace><namespace>urn:ietf:params:xml:ns:resource-lists</namespace><namespace>urn:ietf:params:xml:ns:pres-rules</namespace></namespaces></xcap-caps>

Then the next request seems to be:

/xcap-root/resource-lists/users/sip:$username@$domain/index

I send this response:

<resource-lists><list name="ContactList"><entry
uri="12"><display-name>Nikola
Tesla</display-name></entry></list></resource-lists>

However, I don't see anything in Jitsi, but I do see it making the
requests.

If anyone could give me a pointer it would be much appreciated.

Thanks

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31