Send in your ideas. Deadline February 1, 2025

Last update: 2007-11-30

openMSRP(2)

multi-party Instant Message server based on MSRP

This project aims to implement an open source MSRP multi-party IM chat server that works seamless with the MSRP relay implementation, already under development.

MSRP protocol (draft-ietf-simple-message-sessions) is work items of the SIP SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) Working Group of the IETF, currently in the RFC queue (approved standard). At the moment, SIP SIMPLE lacks Open Source implementations, which hinders its adoption.

One major components of the SIP SIMPLE framework is MSRP (The Message Session Relay Protocol) which implements session based Interactive Messaging, file transfers, and other media sharing between SIP devices. A complete MSRP suite consists of the following three components:

  • Multi-party Instant Message (IM) server (this project)
  • MSRP relay (under development)
  • MSRP client (future development)

The Multi-party Instant Message Sessions MSRP

MSRP (IETF specification) defines a mechanism for sending instant messages within a peer-to-peer session, negotiated using the Session Initiation Protocol (SIP) and the Session Description Protocol (SDP). This document defines the necessary tools for establishing multi-party instant messaging (IM) sessions, or chat rooms, with MSRP.

The Message Session Relay Protocol (MSRP) (IETF specification) defines a mechanism for sending a series of instant messages within a session. The Session Initiation Protocol (SIP) [RFC3261] in combination with the Session Description Protocol (SDP) [RFC3264] allows for two peers to establish and manage such sessions.

In another application of SIP, a user agent can join in a multi-party session or conference that is hosted by a specialized user agent called a conference focus [RFC4353]. Such a conference can naturally involve an MSRP session as one of possibly many media components. It is the responsibility of an entity handling the media to relay instant messages received from one participant to the rest of the participants in the conference.

Several such proprietary systems already exist in the Internet. Participants in a chat room can be identified with a pseudonym or nickname, and decide whether their real identity is disclosed to other participants. Participants can also use a rich set of features, such as the ability to send private instant messages to one or more participants, and the ability to establish sub-conferences with one or more of the participants within the existing conference. They also allow combining instant messaging with other media components, such as voice, video, white-boarding, screen sharing, and file transfer.

Such conferences are already available today with other technologies different than MSRP; they are however not integrated with SIP protocol. For example, Internet Relay Chat (IRC)[RFC2810], Extensible Messaging and Presence Protocol [RFC3920] based chat rooms, and many other proprietary systems provide this kind of functionality. It makes sense to specify equivalent functionality for MSRPbased systems to both provide competitive features as well as enable interlocking between the systems and compatibility with SIP deployments.

Architecture

The depicted architecture leaves for the purpose of simplicity the MSRP relay out. The MSRP relay is necessary to ensure communication for clients located behind NAT and the MSRP IM chat server can include the MSRP Relay component to provide ubiquitous access for clients outside or behind NAT devices.

Dissemination

The Multi-party Instant Message (IM) server will be disseminated via its own web site, via the OpenSER user community, public open source repositories like Sourceforge and published at web sites the advocate the use of open source like Voip-info.org. The software will be provided with its own wiki page, documentation, source browsing and mailing list.

This is a project of AG Projects BV, located in Haarlem, The Netherlands.