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 RFC 4976.
- MSRP client library, it can be used to create clients for instant messaging and file transfer based on RFC 4975 and RFC 4976
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 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 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
Clients that support MSRP relay extension
Installation
Curent version is 1.0.3 released on August 4-th, 2009.
- Installation guide - Installation guide
- Live test bed - How to test against a running platform
- MSRP Relay scenarios - Use case scenarios of how MSRP relay functionality may be deployed in the field
- 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 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 AG Projects.
Credits
Authors: Ruud Klaver
The development of MSRP relay and chat server has been sponsored by NLNet foundation

