Version 420 (Adrian Georgescu, 02/17/2009 08:26 pm) → Version 421/574 (Adrian Georgescu, 02/17/2009 08:26 pm)

= Description =

[[Image(SIPSIMPLE-client.png, align=right)]]

SIP SIMPLE client is a Python software library built on top of PJSIP that
together with middleware allows for easy development of Internet
communications end-points based on SIP and related protocols for voice,
rich presence, instant messaging (IM), file transfers and desktop sharing.
Other session types can be easily added by using an extensible API.

== Background ==

SIP stands for 'Session Initiation Protocol', an IETF standard described by
[ RFC 3261]. SIP is an Internet application-layer control protocol that can establish,
modify and terminate multimedia sessions such as Internet telephony calls
(VoIP). Media can be added to (and removed from) an existing session.

SIP transparently supports name mapping and redirection services, which
supports personal mobility, users can maintain a single externally visible
address identifier, which can be in the form of a standard email address or
E.164 telephone number regardless of their physical network location.

SIP allows the endpoints to negotiate and combine any type of session they
mutually understand like audio, video, instant messaging (IM), file transfer,
desktop sharing and provides a generic event notification system with
real-time publications and subscriptions about state changes that can be
used for asynchronous services like presence, message waiting indicator and
busy line appearance.

== Features ==

The software allows you to create elegant real-time communications applications without having to read [ the +1200 RFC documents] behind it. As a library with a high-level [wiki:SipSimpleApiDocumentation API], the toolkit can be used to add voice, IM and Presence functionality to any network devices as long as Python/C environment is supported by such platform.

Additional to the SIP standards implemented by the underlying PJSIP library and exposes through a Python API, this project implements session based instant messaging (IM), file transfer and multi-party chat sessions using MSRP protocol and its relay extension, publication and subscription for rich presence information such as availability, moods, activities and geo-location, management for presence rules, resource lists, RLS services documents using XCAP protocol.

* Presence Information Data model and Format (RPIDF) [ RFC3856], [ RFC3863 ], [ RFC4479], [ RFC4481], [ RFC4482], [ RFC5196]
* Presence Watcher-info event package [ RFC3857], [ RFC3858]
* XCAP protocol [ RFC4825]
* XCAP presence rules [ RFC5025], resource-lists, RLS-services [ RFC4826], PIDF manipulation [ RFC4827]
* XCAP-diff event package [ draft-ietf-simple-xcap-diff-09]
* MSRP conference event package [ RFC4575]
* MSRP protocol [ RFC4975]
* MSRP protocol relay extension [ RFC4976]
* MSRP ad-hoc multi-party chat sessions [ draft-ietf-simple-chat-03]
* MSRP file transfer [ draft-ietf-mmusic-file-transfer-mech-11]
* Desktop MSRP desktop sharing [ draft-garcia-mmusic-sdp-collaboration-00]
* Message summary event package [ RFC3842]
* Bonjour multicast DNS [ draft-lee-sip-dns-sd-uri-03]

== Documentation ==

For download and installation instructions, API description and other
documentation see the files under docs/ directory. See [wiki:ProjectStatus status page] for more information about the status of the project.

* [wiki:SipInstallation Installation guide] - how to install the library on your system
* [wiki:SipTesting Testing the library] - how to test this library for its VoIP, IM and rich-presence functionality
* [wiki:SipSimpleApiDocumentation Development API] - how to write your own programs using this library
* [wiki:SipContributions Third-party contributions]

== Support ==

The project is developed and supported by AG Projects. The support is provided on a
best-effort basis. "best-effort" means that we try to solve the bugs you
report or help fix your problems as soon as we can, subject to available

To request support you must use the mailing list available at

Patches and bug reports must be submitted by opening a ticket at

To open ticket please Register first.

If you wish to contribute as an active developer, send your request by email to