WikiStart

Version 439 (Adrian Georgescu, 02/22/2009 01:18 pm) → Version 440/574 (Adrian Georgescu, 02/22/2009 01:19 pm)

= Description =
[[TOC(WikiStart, Sip*, depth=2)]]
[[Image(SIPSIMPLE-client.png, align=right)]]

SIP SIMPLE client is a Python software library that 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 high-level API.

== Background ==

SIP stands for 'Session Initiation Protocol', an IETF standard described by
[http://tools.ietf.org/html/rfc3261 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 [http://www.rfc3261.net 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) [http://tools.ietf.org/html/rfc3856 RFC3856], [http://tools.ietf.org/html/rfc3863 RFC3863 ], [http://tools.ietf.org/html/rfc4479 RFC4479], [http://tools.ietf.org/html/rfc4481 RFC4481], [http://tools.ietf.org/html/rfc4482 RFC4482], [http://tools.ietf.org/html/rfc5196 RFC5196]
* Presence Watcher-info event package [http://tools.ietf.org/html/rfc3857 RFC3857], [http://tools.ietf.org/html/rfc3858 RFC3858]
* XCAP protocol [http://www.tools.ietf.org/html/rfc4825 RFC4825]
* XCAP presence rules [http://www.tools.ietf.org/html/rfc5025 RFC5025], resource-lists, RLS-services [http://www.tools.ietf.org/html/rfc4826 RFC4826], PIDF manipulation [http://www.tools.ietf.org/html/rfc4827 RFC4827]
* XCAP-diff event package [http://www.ietf.org/internet-drafts/draft-ietf-simple-xcap-diff-09.txt draft-ietf-simple-xcap-diff-09]
* MSRP conference event package [http://tools.ietf.org/html/rfc4575 RFC4575]
* MSRP protocol [http://tools.ietf.org/html/rfc4975 RFC4975]
* MSRP protocol relay extension [http://tools.ietf.org/html/rfc4976 RFC4976]
* MSRP ad-hoc multi-party chat sessions [http://tools.ietf.org/html/draft-ietf-simple-chat-03 draft-ietf-simple-chat-03]
* MSRP file transfer [http://tools.ietf.org/html/draft-ietf-mmusic-file-transfer-mech-11 draft-ietf-mmusic-file-transfer-mech-11]
* Desktop sharing [http://tools.ietf.org/html/draft-garcia-mmusic-sdp-collaboration-00 draft-garcia-mmusic-sdp-collaboration-00]
* Message summary event package [http://tools.ietf.org/html/rfc3842 RFC3842]
* Bonjour multicast DNS [http://www.ietf.org/internet-drafts/draft-lee-sip-dns-sd-uri-03.txt draft-lee-sip-dns-sd-uri-03]

== Documentation ==

For download and installation instructions, API description and other documentation see the files under docs/ directory.

* [wiki:SipProjectStatus Projects status] - information about achieved milestones and roadmap
* [wiki:SipInstallation Installation guide] - how to install the library on your system
* [wiki:SipTesting Testing the library] - how to test the library using the command line tools
* [wiki:SipSimpleApiDocumentation Developer guide] - how to develop your own SIP applications using this library

== 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
resources.

To request support you must use the mailing list available at

http://lists.ag-projects.com/mailman/listinfo/sipclient

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

http://sipsimpleclient.com/newticket

To open ticket please Register first. To submit a patch you must be familiar with the darcs version control system from http://wiki.darcs.net/DarcsWiki

If you wish to contribute as an active developer, send your request by email to devel@ag-projects.com. See [wiki:SipContributions Third-party contributions] page for more information.