« Previous - Version 57/133 (diff) - Next » - Current version
Adrian Georgescu, 03/24/2008 12:18 pm


= MSRP Relay and Chat server =

[[Image(http://msrprelay.org/chrome/site/files/scenario-simple.png, align=right)]]

This project implements:

  • MSRP relay, which is an extension to the MSRP protocol. Its main role is to help NAT traversal of IM and file transfer media sessions between SIP User Agents located behind NAT. This project implements an MSRP relay, which is an extension to the MSRP protocol. Its main role is to help NAT traversal of media sessions between endpoints located behind NAT. This extension is defined in [http://tools.ietf.org/html/rfc4976 RFC 4976].
  • MSRP switch, which allows multi-party IM/File transfer sessions using SIP protocol.
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. Messa7ging 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].

Security

The server has the following security features:

  • 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
Documentation * [wiki:MSRPRelayScenarios MSRP Relay scenarios] - This document describes several 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 * [wiki:InstallationGuide Installation guide] - How to install the software * [wiki:MSRPChatDesign MSRP chat design] - MSRP multiparty chat design concept Download

The software can be downloaded from:

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

The software is provided under GPL license.

MSRP clients

One of the reasons for the development of MSRP relay was to kick start the development of MSRP clients. We are not aware of any client at the moment of writing of this wiki page. A working proof-of-concept [wiki:testclients Test client] for a file transfer session between two endpoints located behind NAT is available under the test directory of the tar archive.

Live testbed

We provide a live SIP testbed with MSRP relay enabled. You may use the SIP accounts registered at [http://sip2sip.info http://sip2sip.info] for reserving MSRP sessions in an operational MSRP relay.

{{{
_msrps._tcp.sip2sip.info. 300 IN SRV 0 0 2855 node03.dns-hosting.info.
node03.dns-hosting.info. 60 IN A 81.23.228.146
}}}

Note: Relaying traffic through http://sip2sip.info, which is free service, uses bandwidth and there is no limit for a file transfer session. The relay does not feature yet throttling of sessions, which is on the TODO list. For the benefit of other test users, please refrain yourself from abusing the test bed by transferring small files ( less than 100 KBytes) or use the relay for IM sessions only.

Credits * Funding: [http://www.nlnet.nl NLNet foundation] * Project management: Adrian Georgescu * Authors: Ruud Klaver, Denis Bilenko * Contributors: Dan Pascu's [http://cheeseshop.python.org/pypi/python-gnutls python-gnutls] * Many thanks to the IETF community for advise and support 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. * For interaction between MSRP Relay and OpenSER you may consult the [http://openser.org/pipermail/users/ OpenSER users mailing list] Commercial products

MSRPRelay is part of turnkey SIP platforms offered by AG Projects:

[http://www.ag-projects.com/Products http://www.ag-projects.com/Products]

MSRP-Relay-Scenarios.png (49 kB) Tijmen de Mes, 04/03/2012 02:48 pm