WikiStart
Version 86 (Adrian Georgescu, 12/20/2008 10:58 am)
| 1 | 19 | Adrian Georgescu | |
|---|---|---|---|
| 2 | 81 | Adrian Georgescu | = MSRP software suite = |
| 3 | 1 | ||
| 4 | 79 | Adrian Georgescu | [[Image(http://msrprelay.org/chrome/site/files/MSRP-Relay-Scenarios.png, align=right)]] |
| 5 | 1 | ||
| 6 | 82 | Adrian Georgescu | == Description == |
| 7 | 1 | ||
| 8 | 1 | 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. |
|
| 9 | 1 | ||
| 10 | 1 | 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. |
|
| 11 | 1 | ||
| 12 | 37 | Adrian Georgescu | 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]. |
| 13 | 82 | Adrian Georgescu | |
| 14 | 82 | Adrian Georgescu | This project implements in Python programming language: |
| 15 | 82 | Adrian Georgescu | |
| 16 | 82 | Adrian Georgescu | * MSRP client library, it can be used to create clients from instant messaging and file transfer based on [http://tools.ietf.org/html/rfc4975 RFC 4975] and [http://tools.ietf.org/html/rfc4976 RFC 4976] |
| 17 | 82 | Adrian Georgescu | * 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]. |
| 18 | 82 | Adrian Georgescu | * 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] |
| 19 | 37 | Adrian Georgescu | |
| 20 | 51 | Adrian Georgescu | == Security == |
| 21 | 51 | Adrian Georgescu | |
| 22 | 81 | Adrian Georgescu | The software have the following security features: |
| 23 | 51 | Adrian Georgescu | |
| 24 | 51 | Adrian Georgescu | * TLS encryption and digital certificates using GnuTLS library |
| 25 | 51 | Adrian Georgescu | * Digest or basic HTTP authentication with support for multiple realms |
| 26 | 51 | Adrian Georgescu | * Database passwords can be stored in an encrypted format |
| 27 | 5 | Ruud Klaver | |
| 28 | 39 | Adrian Georgescu | == Documentation == |
| 29 | 1 | ||
| 30 | 1 | * [wiki:MSRPRelayScenarios MSRP Relay scenarios] - This document describes several use case scenarios of how MSRP relay functionality may be deployed in the field |
|
| 31 | 1 | * [wiki:MSRPRelayDesign MSRP Relay design] - The internal logic of the MSRPRelay is described as a series of message flow diagrams |
|
| 32 | 1 | * [wiki:InstallationGuide MSRP Relay Installation guide] - How to install the software |
|
| 33 | 1 | ||
| 34 | 1 | == Download == |
|
| 35 | 1 | ||
| 36 | 81 | Adrian Georgescu | The software can be downloaded as a tar archive from: [http://download.ag-projects.com/MSRPRelay/ http://download.ag-projects.com/MSRPRelay/] |
| 37 | 1 | ||
| 38 | 81 | Adrian Georgescu | For people running Debian testing or unstable there is an official public repository provided by AG Projects. |
| 39 | 1 | ||
| 40 | 81 | Adrian Georgescu | Add the following lines to /etc/apt/sources.list: |
| 41 | 1 | ||
| 42 | 81 | Adrian Georgescu | {{{ |
| 43 | 81 | Adrian Georgescu | # AG Projects software |
| 44 | 81 | Adrian Georgescu | deb http://ag-projects.com/debian unstable main |
| 45 | 81 | Adrian Georgescu | deb-src http://ag-projects.com/debian unstable main |
| 46 | 81 | Adrian Georgescu | }}} |
| 47 | 1 | ||
| 48 | 81 | Adrian Georgescu | Update the list of available software: |
| 49 | 81 | Adrian Georgescu | |
| 50 | 81 | Adrian Georgescu | {{{ |
| 51 | 81 | Adrian Georgescu | apt-get update |
| 52 | 81 | Adrian Georgescu | }}} |
| 53 | 81 | Adrian Georgescu | |
| 54 | 81 | Adrian Georgescu | To install the MSRP client: |
| 55 | 81 | Adrian Georgescu | |
| 56 | 81 | Adrian Georgescu | {{{ |
| 57 | 81 | Adrian Georgescu | apt-get install python-msrplib |
| 58 | 81 | Adrian Georgescu | }}} |
| 59 | 81 | Adrian Georgescu | |
| 60 | 81 | Adrian Georgescu | To install the MSRP relay: |
| 61 | 81 | Adrian Georgescu | |
| 62 | 81 | Adrian Georgescu | {{{ |
| 63 | 81 | Adrian Georgescu | apt-get install msrprelay |
| 64 | 81 | Adrian Georgescu | }}} |
| 65 | 81 | Adrian Georgescu | |
| 66 | 81 | Adrian Georgescu | === Version control === |
| 67 | 81 | Adrian Georgescu | |
| 68 | 81 | Adrian Georgescu | The source code is managed using darcs version control tool. The darcs repository can be fetched with: |
| 69 | 81 | Adrian Georgescu | |
| 70 | 81 | Adrian Georgescu | {{{ |
| 71 | 81 | Adrian Georgescu | darcs get http://devel.ag-projects.com/repositories/python-msrplib |
| 72 | 81 | Adrian Georgescu | }}} |
| 73 | 81 | Adrian Georgescu | |
| 74 | 81 | Adrian Georgescu | To obtain the incremental changes after the initial get, go to the openxcap directory and run: |
| 75 | 81 | Adrian Georgescu | |
| 76 | 81 | Adrian Georgescu | {{{ |
| 77 | 81 | Adrian Georgescu | cd python-msrplib |
| 78 | 81 | Adrian Georgescu | darcs pull -a |
| 79 | 81 | Adrian Georgescu | }}} |
| 80 | 81 | Adrian Georgescu | |
| 81 | 81 | Adrian Georgescu | |
| 82 | 81 | Adrian Georgescu | == MSRP clients == |
| 83 | 81 | Adrian Georgescu | |
| 84 | 76 | Adrian Georgescu | No server is relevant without clients supporting their features. Below is a list with MSRP clients. Not all implement the relay extension yet: |
| 85 | 1 | ||
| 86 | 1 | * [http://pypjua.org/ SIP SIMPLE client] (IM and file transfer with MSRP relay support) |
|
| 87 | 1 | * [http://www.mercuro.net/ Mercuro] (MSRP IM and File transfer but no relay support) |
|
| 88 | 1 | * http://www.xs4all.nl/~mfnboer/twinkle/index.html (on the roadmap) |
|
| 89 | 78 | Adrian Georgescu | * [http://mac.softpedia.com/get/Development/Libraries/LibMSRP.shtml LibMSRP] |
| 90 | 78 | Adrian Georgescu | |
| 91 | 84 | Adrian Georgescu | At SIPIT 23-rd held in October 2008 at Lannion, France were five MSRP client implementations. |
| 92 | 1 | ||
| 93 | 1 | == Live testbed == |
|
| 94 | 46 | Adrian Georgescu | |
| 95 | 1 | 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. |
|
| 96 | 46 | Adrian Georgescu | |
| 97 | 48 | Adrian Georgescu | {{{ |
| 98 | 81 | Adrian Georgescu | _msrps._tcp.sip2sip.info. 3600 IN SRV 0 0 2855 node10.dns-hosting.info. |
| 99 | 81 | Adrian Georgescu | _msrps._tcp.sip2sip.info. 3600 IN SRV 0 0 2855 node03.dns-hosting.info. |
| 100 | 81 | Adrian Georgescu | node10.dns-hosting.info. 900 IN A 81.23.228.139 |
| 101 | 81 | Adrian Georgescu | node03.dns-hosting.info. 900 IN A 81.23.228.146 |
| 102 | 46 | Adrian Georgescu | }}} |
| 103 | 58 | Adrian Georgescu | |
| 104 | 1 | ||
| 105 | 45 | Adrian Georgescu | [[Image(http://nlnet.nl/image/logo.gif, align=right, nolink)]] |
| 106 | 81 | Adrian Georgescu | |
| 107 | 9 | Adrian Georgescu | == Credits == |
| 108 | 34 | Adrian Georgescu | |
| 109 | 86 | Adrian Georgescu | * Funding for MSRP relay and chat server provided by [http://www.nlnet.nl NLNet foundation] |
| 110 | 83 | Adrian Georgescu | * Credits: Adrian Georgescu, Ruud Klaver, Denis Bilenko, Dan Pascu and the IETF community for advise and support |
| 111 | 42 | Adrian Georgescu | |
| 112 | 85 | Adrian Georgescu | == Support == |
| 113 | 44 | Adrian Georgescu | |
| 114 | 85 | Adrian Georgescu | 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. |
| 115 | 73 | Adrian Georgescu | |
| 116 | 85 | Adrian Georgescu | For commercial support see [http://ag-projects.com Multimedia Service Platform] |