« Previous - Version 191/264 (diff) - Next » - Current version
Redmine Admin, 01/01/2009 04:42 pm


Description

OpenXCAP is an open source fully featured XCAP server. An XCAP server is used by SIP SIMPLE clients and servers to manage buddy lists and policy for subscriptions to presence or other types of events published using SIP protocol. OpenXCAP server works out of the box with [http://opensips.org OpenSIPS Presence Agent].

[[Image(htdocs:SIMPLE-Server.png, align=right)]]

The software is provided under the [source:LICENSE GPL LICENSE]

=== Background ===

XCAP protocol allows a client to read, write, and modify application
configuration data stored in XML format on a server. XCAP maps XML document
sub-trees and element attributes to HTTP URIs, so that these components can
be directly accessed by clients using HTTP protocol. An XCAP server is used
by XCAP clients to store data like buddy lists and presence policy in
combination with a SIP Presence server that supports PUBLISH, SUBSCRIBE and
NOTIFY methods to provide a complete SIP SIMPLE server solution.

Features

The server is written in Python programming language and implements the
following standards:

RFC4825, RFC4826, RFC4827, RFC5025, draft-ietf-simple-xcap-diff-09.txt

  • Full and partial XML document manipulation
  • XML schema validation
  • Supports multiple back-end storage systems
  • Works out of the box with OpenSIPS Presence agent
  • TLS encryption and digital certificates using GnuTLS library
  • Digest or basic HTTP authentication with support for multiple realms
  • Database passwords can be stored in an encrypted format

=== Supported XCAP applications ===

  • XCAP capabilities (auid = xcap-caps). Lists the capabilities of the
    OpenXCAP server.
  • Resource lists (auid = resource-lists). A resource lists application is
    any application that needs access to a list of resources, identified by a
    URI, to which operations, such as subscriptions, can be applied.
  • Presence rules (auid = pres-rules, org.openmobilealliance.pres-rules). A
    Presence Rules application is an application which uses authorization
    policies, also known as authorization rules, to specify what presence
    information can be given to which watchers, and when.
  • RLS services (auid = rls-services). A Resource List Server (RLS) services
    application is Session Initiation Protocol (SIP) application whereby a
    server receives SIP SUBSCRIBE requests for resource, and generates
    subscriptions towards the resource list. See the README file for more
    details about of the implementation.
  • PIDF manipulation (auid = pidf-manipulation). Pidf-manipulation
    application usage defines how XCAP is used to manipulate the contents of
    PIDF based presence documents.
  • Watchers (auid = watchers, proprietary application). This application
    returns the list of watchers from OpenSIPS presence agent.
  • XCAP caps (auid = xcap-caps). This application returns and xml document
    with the current capabilities of the server
Download

The software can be downloaded from:

[http://download.ag-projects.com/OpenXCAP http://download.ag-projects.com/OpenXCAP]

For people running Debian testing or unstable there is an official public repository provided by AG Projects. Install the AG Projects debian software signing key:

{{{
wget http://download.ag-projects.com/agp-debian-gpg.key
apt-key add agp-debian-gpg.key
}}}

Add the following lines to /etc/apt/sources.list

{{{
  1. AG Projects software
    deb http://ag-projects.com/debian unstable main
    deb-src http://ag-projects.com/debian unstable main
    }}}

Update the list of available software:

{{{
apt-get update
}}}

After that, run on the XCAP server machine:

{{{
apt-get install openxcap soap-simple-proxy python-xcaplib
}}}

And on the SIP Proxy machine:

{{{
apt-get install openser-mi-proxy
}}}

=== Version control ===

The source code is managed using darcs version control tool. The darcs repository can be fetched with:

{{{
darcs get http://devel.ag-projects.com/repositories/openxcap
}}}

To obtain the incremental changes after the initial get, go to the openxcap directory and run:

{{{
cd openxcap
darcs pull -a
}}}

=== Installation ===

[wiki:Running Running the server page]

=== XCAP clients ===

Below is a list with XCAP clients known to be working with OpenXCAP:

'''Product''' '''Open source''' '''Download link''' '''Status'''
OpenSIPS Yes [http://opensips.org http://opensips.org] production
XCAP client Yes [http://openxcap.org http://openxcap.org] production
SIP SIMPLE client Yes [http://sipsimpleclient.com http://sipsimpleclient.com] under development
Mercuro IMS client No [http://www.mercuro.net http://www.mercuro.net] beta
Nokia N85 and N79 No [http://www.forum.nokia.com/main/resources/technologies/voice_over_IP/voip_support_in_nokia_devices.html Nokia VoIP Release 3.0 phones] to be released
Eyebeam No [http://www.counterpath.com/eyebeam-overview.html http://www.counterpath.com] production
Ekiga Yes [http://www.ekiga.org http://www.ekiga.org] roadmap
Twinklephone Yes [http://www.twinklephone.com http://twinklephone.com] roadmap

=== Free support ===

You may obtain support free of charge from the following sources:

  • The project is supported via this wiki collaboration system by [http://ag-projects.com AG Projects]. To open ticket please Register first. The ticketing support system is available only for registered users. The support is provided on a best-effort basis.
  • For interaction between OpenXCAP and OpenSIPS you may consult the [http://opensips.org/pipermail/users/ OpenSIPS users mailing list]
  • [wiki:Installation OpenXCAP installation guide]

=== Commercial support ===

The software is supported commercially by [http://ag-projects.com AG Projects].

Credits

Authors: Mircea Amarascu, Ruud Klaver, Lucian Stanescu, Denis Bilenko

SIMPLE-Server.png (67.8 kB) Adrian Georgescu, 04/22/2010 04:37 pm