root/README

Revision 186, 5.1 kB (checked in by Adrian Georgescu <ag@ag-projects.com>, 9 days ago)

update readme

Line 
1
2OpenXCAP
3--------
4
5Copyright (c) 2007-2008 AG Projects
6http://ag-projects.com
7
8Authors: Mircea Amarascu, Lucian Stanescu, Denis Bilenko
9
10
11License
12-------
13
14See LICENSE file.
15
16
17Project description
18-------------------
19
20XCAP protocol allows a client to read, write, and modify application
21configuration data stored in XML format on a server. XCAP maps XML document
22sub-trees and element attributes to HTTP URIs, so that these components can
23be directly accessed by HTTP. An XCAP server is used by the XCAP clients to
24store data like Presence policy in combination with a SIP Presence server
25that supports PUBLISH/SUBSCRIBE/NOTIFY methods to provide a complete
26[http://www.tech-invite.com/Ti-sip-WGs.html#wg-simple SIP SIMPLE] server
27solution.
28
29The XCAP server is used as a policy decision maker by the SIP Presence
30server to manage the subscriptions and notifications of presence information
31based on end-user controlled preferences. The XCAP server can also be used
32to publish to SIP devices information retrieved from external sources and
33using different APIs acting like a bridge between real-time communications
34based on SIP protocol and other web technologies like SOAP/XML.
35
36OpenXCAP is an open source, easy extensible, fully featured XCAP server with
37TLS security and support for multiple realms. The server is written in
38Python programming language and is based on the following RFCs:
39
40    - The Extensible Markup Language Configuration Access Protocol (RFC 4825)
41
42    - Formats for Representing Resource Lists (RFC 4826)
43
44    - Usage for Manipulating Presence Document Contents (RFC 4827)
45
46    - Presence Authorization Rules (draft-ietf-simple-presence-rules-10)
47
48
49Features
50--------
51
52Supported XCAP applications
53
54    - Resource lists (auid = resource-lists). A resource lists application
55    is any application that needs access to a list of resources, identified
56    by a URI, to which operations, such as subscriptions, can be applied.
57
58    - RLS Services (auid = rls-services). A Resource List Server (RLS)
59    services application is Session Initiation Protocol (SIP) application
60    whereby a server receives SIP SUBSCRIBE requests for resource, and
61    generates subscriptions towards the resource list. For practical
62    purposes, uri attributes in <service> do not have global scope, i.e.
63    several users may have services defined with the same uris, which is the
64    opposite of the RFC. Each user can maintain the same service uris, the
65    server identifies the right document from the XCAP Request URL.
66    Requesting rls-services/global/index as described in the RFC does not
67    seem to add any value and it was not implemented.
68
69    - PIDF Manipulation (auid = pidf-manipulation). Pidf-manipulation
70    application usage defines how XCAP is used to manipulate the contents of
71    PIDF based presence documents.
72
73    - Presence Rules (auid = presence-rules). A Presence Rules application
74    is an application which uses authorization policies, also known as
75    authorization rules, to specify what presence information can be given
76    to which watchers, and when.
77
78    - Watchers (auid = watchers). This this a custom application that queries
79    the sip proxy database for a list of presence watchers and their status.
80    The XML schema for this application can be found in
81    xcap/xml-schemas/watchers.xsd. This application is read-only.
82
83
84Data storage
85
86OpenXCAP server supports multiple back-end storage systems and works out of
87the box with OpenSER Proxy/Registrar/Presence server
88
89
90Publishing xcap-diff events
91
92OpenXCAP server can publish xcap-diff when a change occurs as described
93in http://tools.ietf.org/html/draft-ietf-simple-xcap-diff-09
94
95Generated event is published via OpenSER's management interface (function
96'publish' from pua_mi module). Checkout out sample openser.cfg in openser dir.
97OpenSER module presence_xcapdiff registers 'xcap-diff' event with presence in pua.
98
99To enable this feature in OpenXCAP backend 'OpenSER' must be used and
100enable_publish_xcapdiff parameter must be set to 'yes'.
101
102OpenXCAP doesn't put diff information into events, only uris and etags of
103affected documents. Client must use then external document retrieval.
104(This corresponds to rows 2, 4 and 5 in Figure 1 of the draft)
105
106There's no way to indicate what uris client has interest in, all changes
107to the documents belonging to given user are published.
108
109
110XCAP clients
111------------
112
113No server is useful without clients supporting their features. Here is list
114with XCAP clients known to be working with OpenXCAP:
115
116    - OpenSER from http://openser.org
117
118    - simple-soap-proxy. This client allows publication of arbitrary
119      information and policy management using an easy to use SOAP/XML
120      interface
121   
122    - Eyebeam from http://www.counterpath.com
123
124
125Support
126-------
127
128The project is supported via this wiki collaboration system provided at:
129
130http://openxcap.org
131
132    - To open ticket please Register first. The ticketing support system is
133      available only for registered users. Please beware that the support is
134      provided by the community on a best-effort basis.
135
136Commercial support or other licensing options are available from:
137AG Projects http://ag-projects.com
Note: See TracBrowser for help on using the browser.