Version 112 (Adrian Georgescu, 01/08/2009 02:40 pm)
== Description ==
This project implements in Python programming language:
* MSRP relay, a stand alone server. Its main role is to help NAT traversal of instant messaging and file transfer sessions between SIP end-points located behind NAT. This extension is defined in [http://tools.ietf.org/html/rfc4976 RFC 4976].
* MSRP client library, it can be used to create clients for instant messaging and file transfer based on [http://tools.ietf.org/html/rfc4975 RFC 4975] and [http://tools.ietf.org/html/rfc4976 RFC 4976]
* MSRP chat server, a stand alone server, which allows multi-party IM/File transfer sessions using SIP protocol [http://tools.ietf.org/html/draft-ietf-simple-chat-03 draft-ietf-simple-chat-03] (under construction)
This software is licensed according to the GNU General Public License version 2.
=== Background ===
A series of related instant messages between two or more parties can be viewed as part of a "message session", that is, a conversational exchange of messages with a definite beginning and end. This is in contrast to individual messages each sent independently. Messaging schemes that track only individual messages can be described as "page-mode" messaging, whereas messaging that is part of a "session" with a definite start and end is called "session-mode" messaging.
Page-mode messaging is enabled in SIP via the SIP MESSAGE method, as defined in [http://tools.ietf.org/html/rfc3428 RFC 3428]. Session-mode messaging has a number of benefits over page-mode messaging, however, such as explicit rendezvous, tighter integration with other media-types, direct client-to-client operation, and brokered privacy and security.
Message Session Relay Protocol (MSRP) is a protocol for transmitting a series of related instant messages in the context of a session. Message sessions are treated like any other media stream when set up via a rendezvous or session creation protocol such as the Session Initiation Protocol (SIP). MSRP Sessions are defined in [http://tools.ietf.org/html/rfc4975 RFC 4975].
== Features ==
* Multiple domains support
* OpenSIPS database backend support
* 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
== Installation ==
* [wiki:InstallationGuide Installation guide] - Installation guide
* [wiki:TestBed Live test bed] - How to test against a running platform
* [wiki:MSRPRelayScenarios MSRP Relay scenarios] - Use case scenarios of how MSRP relay functionality may be deployed in the field
* [wiki:MSRPRelayDesign MSRP Relay design] - The internal logic of the MSRPRelay is described as a series of message flow diagrams
== Support ==
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.
=== Commercial support ===
The software is supported commercially by [http://ag-projects.com AG Projects].
[[Image(http://nlnet.nl/image/logo.gif, align=right, nolink)]]
== Credits ==
Authors: Ruud Klaver (MSRP Relay), Denis Bilenko (MSRP client and MSRP chat server)
Funding for the development of MSRP relay and chat server has been provided by [http://www.nlnet.nl NLNet foundation]