Added a README file
[itipsd] / README.md
1 # iTIPsd
2
3 > *The iTIPsd service implements the general iTIP protocol for exchange
4 > of iCalendar files almost directly, over bidirectionally authenticated
5 > TLS connections.*
6
7 This project delivers a daemon that listens for incoming iCalendar
8 submissions. Unlike CalDAV, it is suitable for realtime interactions,
9 and unlike iMIP (mail extensions) it does not require manual handling
10 (or accepting spam in your calendar).
11
12 The project is built on top of [TLS Pool][] for authentication, and uses
13 a general exchange layer for the actual data to be exchanged. Currently,
14 the exchanges are plain iCalendar messages over the TLS connection, but
15 we are considering to replace this with MSRP in a future version. That
16 future version will be incompatible with this one!
17
18 ## Usefulness of MSRP
19
20 We are considering to run the iTIPsd as a special handling method for
21 MIME-type `text/calendar`, and use the MSRP protocol for exchanging it.
22 This means that many more document types can be transported with the
23 same protocol, and that it is even possible to negotiate about the
24 document types that are considered acceptable. MSRP is, in that sense,
25 comparable to HTTP.
26
27 The infrastructure of MSRP is normally defined as a method that is
28 negotiated in a contextual protocol, such as SIP/SDP, and it uses random
29 URL parts to define such end points. In order to break through NAT
30 and/or firewalls, there is an additional infrastructural component
31 called an MSRP Relay, through which the traffic can pass.
32
33 The MSRP Relay does not directly support URLs of the form
34 `msrp://user@domain.name` — so that these are still available for
35 connections which have not been agreed upon in a contextual protocol. It
36 is this URL format that we intend to use.
37
38   [TLS Pool]: http://tlspool.org/